diff --git a/blood_bus/src/main/java/com/czblood/bus/cache/DmzdCache.java b/blood_bus/src/main/java/com/czblood/bus/cache/DmzdCache.java index 387a13a..2296361 100644 --- a/blood_bus/src/main/java/com/czblood/bus/cache/DmzdCache.java +++ b/blood_bus/src/main/java/com/czblood/bus/cache/DmzdCache.java @@ -1,7 +1,7 @@ package com.czblood.bus.cache; import com.alibaba.fastjson2.JSONArray; -import com.czblood.bus.pojo.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkDmzd; import com.czblood.common.constant.CacheConstants; import com.czblood.common.core.redis.RedisCache; import com.czblood.common.utils.StringUtils; diff --git a/blood_bus/src/main/java/com/czblood/bus/cache/OptionCache.java b/blood_bus/src/main/java/com/czblood/bus/cache/OptionCache.java index 93f7eb6..71ed673 100644 --- a/blood_bus/src/main/java/com/czblood/bus/cache/OptionCache.java +++ b/blood_bus/src/main/java/com/czblood/bus/cache/OptionCache.java @@ -1,15 +1,11 @@ package com.czblood.bus.cache; -import com.alibaba.fastjson2.JSONArray; -import com.czblood.bus.pojo.XkDmzd; -import com.czblood.bus.pojo.XkParameter; +import com.czblood.bus.pojo.xtwh.XkParameter; import com.czblood.common.constant.CacheConstants; import com.czblood.common.core.redis.RedisCache; -import com.czblood.common.utils.StringUtils; import com.czblood.common.utils.spring.SpringUtils; import java.util.Collection; -import java.util.List; /** * 参数缓存 diff --git a/blood_bus/src/main/java/com/czblood/bus/controller/BloodCommonController.java b/blood_bus/src/main/java/com/czblood/bus/controller/BloodCommonController.java index 25e935f..8f6dd93 100644 --- a/blood_bus/src/main/java/com/czblood/bus/controller/BloodCommonController.java +++ b/blood_bus/src/main/java/com/czblood/bus/controller/BloodCommonController.java @@ -1,10 +1,12 @@ package com.czblood.bus.controller; import com.czblood.bus.mapper.XkProTransfuseProjectMapper; -import com.czblood.bus.mapper.XkTransfuseApplyMapper; import com.czblood.bus.mapper.XkXtwhIllDiagnoseMapper; import com.czblood.bus.pojo.*; import com.czblood.bus.pojo.inter.HisUsePasswordRequest; +import com.czblood.bus.pojo.xtwh.XkBloodBreed; +import com.czblood.bus.pojo.xtwh.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkXtwhIllDiagnose; import com.czblood.bus.utils.BloodBankUtil; import com.czblood.bus.utils.BloodInterfaceUtil; import com.czblood.common.core.controller.BaseController; diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/BloodBankMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/BloodBankMapper.java index 45f14be..46c071d 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/BloodBankMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/BloodBankMapper.java @@ -1,7 +1,9 @@ package com.czblood.bus.mapper; +import java.math.BigDecimal; import java.util.Map; public interface BloodBankMapper { void spProduceMaxvalue(Map map); + BigDecimal getApplyTransNum(String bloodBreed); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodApplyTransMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodApplyTransMapper.java new file mode 100644 index 0000000..fd440f6 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodApplyTransMapper.java @@ -0,0 +1,7 @@ +package com.czblood.bus.mapper; + +import com.czblood.bus.pojo.xtwh.XkBloodApplyTrans; + +public interface XkBloodApplyTransMapper { + XkBloodApplyTrans queryOne(String blood_breed); +} diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodBreedMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodBreedMapper.java index edb36be..b15796d 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodBreedMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBloodBreedMapper.java @@ -1,9 +1,10 @@ package com.czblood.bus.mapper; -import com.czblood.bus.pojo.XkBloodBreed; +import com.czblood.bus.pojo.xtwh.XkBloodBreed; import java.util.List; public interface XkBloodBreedMapper { List queryList(XkBloodBreed xkBloodBreed); + XkBloodBreed queryOne(String breed_code); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkDmzdMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkDmzdMapper.java index 9771f15..5a01e2f 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkDmzdMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkDmzdMapper.java @@ -1,6 +1,6 @@ package com.czblood.bus.mapper; -import com.czblood.bus.pojo.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkDmzd; import java.util.List; diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkHosInfoMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkHosInfoMapper.java index c108a02..4c362e9 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkHosInfoMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkHosInfoMapper.java @@ -1,6 +1,6 @@ package com.czblood.bus.mapper; -import com.czblood.bus.pojo.XkHosInfo; +import com.czblood.bus.pojo.xtwh.XkHosInfo; import java.util.List; diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkParameterMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkParameterMapper.java index fe972b0..d5c7b96 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkParameterMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkParameterMapper.java @@ -1,6 +1,6 @@ package com.czblood.bus.mapper; -import com.czblood.bus.pojo.XkParameter; +import com.czblood.bus.pojo.xtwh.XkParameter; public interface XkParameterMapper { XkParameter queryOne(String parameter_code); diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkTransfuseApplyApprovalMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkTransfuseApplyApprovalMapper.java new file mode 100644 index 0000000..e9a2be9 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkTransfuseApplyApprovalMapper.java @@ -0,0 +1,7 @@ +package com.czblood.bus.mapper; + +import com.czblood.bus.pojo.XkTransfuseApplyApproval; + +public interface XkTransfuseApplyApprovalMapper { + XkTransfuseApplyApproval queryOneByBillNo(String billNo); +} diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllDiagnoseMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllDiagnoseMapper.java index f19359f..a71e9cc 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllDiagnoseMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllDiagnoseMapper.java @@ -1,6 +1,6 @@ package com.czblood.bus.mapper; -import com.czblood.bus.pojo.XkXtwhIllDiagnose; +import com.czblood.bus.pojo.xtwh.XkXtwhIllDiagnose; import java.util.List; diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllMapper.java index c751d4a..1b945ea 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkXtwhIllMapper.java @@ -1,6 +1,6 @@ package com.czblood.bus.mapper; -import com.czblood.bus.pojo.XkXtwhIll; +import com.czblood.bus.pojo.xtwh.XkXtwhIll; import java.util.List; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApplyCausalis.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApplyCausalis.java index 73dc55f..e225c16 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApplyCausalis.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApplyCausalis.java @@ -30,4 +30,6 @@ public class XkTransfuseApplyCausalis { private String Upload_Flag; @ApiModelProperty("备注说明") private String Explain; + @ApiModelProperty("实际值") + private String testValue; } diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkBloodApplyTrans.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkBloodApplyTrans.java new file mode 100644 index 0000000..fa6ddb3 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkBloodApplyTrans.java @@ -0,0 +1,22 @@ +package com.czblood.bus.pojo.xtwh; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class XkBloodApplyTrans { + private String SID; + private String Blood_Breed; + private BigDecimal Capacity; + private String Unit; + private BigDecimal ApplyNum; + private String Unit2; + private String Flag; + private String Blood_Kind; + +} diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkBloodBreed.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkBloodBreed.java similarity index 97% rename from blood_bus/src/main/java/com/czblood/bus/pojo/XkBloodBreed.java rename to blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkBloodBreed.java index 555167b..67a936e 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkBloodBreed.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkBloodBreed.java @@ -1,4 +1,4 @@ -package com.czblood.bus.pojo; +package com.czblood.bus.pojo.xtwh; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkDmzd.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkDmzd.java similarity index 96% rename from blood_bus/src/main/java/com/czblood/bus/pojo/XkDmzd.java rename to blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkDmzd.java index 570daa6..352c25a 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkDmzd.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkDmzd.java @@ -1,4 +1,4 @@ -package com.czblood.bus.pojo; +package com.czblood.bus.pojo.xtwh; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkHosInfo.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkHosInfo.java similarity index 92% rename from blood_bus/src/main/java/com/czblood/bus/pojo/XkHosInfo.java rename to blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkHosInfo.java index 3ed8222..c588702 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkHosInfo.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkHosInfo.java @@ -1,8 +1,7 @@ -package com.czblood.bus.pojo; +package com.czblood.bus.pojo.xtwh; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkParameter.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkParameter.java similarity index 93% rename from blood_bus/src/main/java/com/czblood/bus/pojo/XkParameter.java rename to blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkParameter.java index 5c344c4..d57213f 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkParameter.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkParameter.java @@ -1,4 +1,4 @@ -package com.czblood.bus.pojo; +package com.czblood.bus.pojo.xtwh; import io.swagger.annotations.ApiModel; import lombok.AllArgsConstructor; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkXtwhIll.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkXtwhIll.java similarity index 90% rename from blood_bus/src/main/java/com/czblood/bus/pojo/XkXtwhIll.java rename to blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkXtwhIll.java index 8f3d4d6..db26274 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkXtwhIll.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkXtwhIll.java @@ -1,4 +1,4 @@ -package com.czblood.bus.pojo; +package com.czblood.bus.pojo.xtwh; import io.swagger.annotations.ApiModel; import lombok.AllArgsConstructor; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkXtwhIllDiagnose.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkXtwhIllDiagnose.java similarity index 91% rename from blood_bus/src/main/java/com/czblood/bus/pojo/XkXtwhIllDiagnose.java rename to blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkXtwhIllDiagnose.java index 87435fc..e61a805 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkXtwhIllDiagnose.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkXtwhIllDiagnose.java @@ -1,4 +1,4 @@ -package com.czblood.bus.pojo; +package com.czblood.bus.pojo.xtwh; import io.swagger.annotations.ApiModel; import lombok.AllArgsConstructor; diff --git a/blood_bus/src/main/java/com/czblood/bus/system/BloodExtInterfaceService.java b/blood_bus/src/main/java/com/czblood/bus/system/BloodExtInterfaceService.java index 02ee5e4..63a311a 100644 --- a/blood_bus/src/main/java/com/czblood/bus/system/BloodExtInterfaceService.java +++ b/blood_bus/src/main/java/com/czblood/bus/system/BloodExtInterfaceService.java @@ -2,8 +2,8 @@ package com.czblood.bus.system; import com.czblood.bus.mapper.XkHosInfoMapper; import com.czblood.bus.mapper.XkOperatorInfoMapper; -import com.czblood.bus.pojo.XkDmzd; -import com.czblood.bus.pojo.XkHosInfo; +import com.czblood.bus.pojo.xtwh.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkHosInfo; import com.czblood.bus.pojo.XkOperatorInfo; import com.czblood.bus.utils.BloodBankUtil; import com.czblood.common.core.domain.Result; @@ -13,11 +13,9 @@ import com.czblood.common.core.domain.entity.SysUser; import com.czblood.common.core.domain.model.LoginParam; import com.czblood.common.core.domain.model.LoginUser; import com.czblood.common.utils.SecurityUtils; -import com.czblood.common.utils.StringUtils; import com.czblood.system.mapper.SysDeptMapper; import com.czblood.system.mapper.SysUserMapper; import com.czblood.system.service.ExtSystemInterface; -import com.czblood.system.service.ISysConfigService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/blood_bus/src/main/java/com/czblood/bus/system/BloodSysDeptServiceImpl.java b/blood_bus/src/main/java/com/czblood/bus/system/BloodSysDeptServiceImpl.java index 01ff3e9..a855ef6 100644 --- a/blood_bus/src/main/java/com/czblood/bus/system/BloodSysDeptServiceImpl.java +++ b/blood_bus/src/main/java/com/czblood/bus/system/BloodSysDeptServiceImpl.java @@ -1,7 +1,7 @@ package com.czblood.bus.system; import com.czblood.bus.mapper.XkDmzdMapper; -import com.czblood.bus.pojo.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkDmzd; import com.czblood.common.core.domain.entity.SysDept; import com.czblood.system.mapper.SysDeptMapper; import com.czblood.system.service.impl.SysDeptServiceImpl; diff --git a/blood_bus/src/main/java/com/czblood/bus/utils/BloodBankUtil.java b/blood_bus/src/main/java/com/czblood/bus/utils/BloodBankUtil.java index 9f9ee48..bb5cfac 100644 --- a/blood_bus/src/main/java/com/czblood/bus/utils/BloodBankUtil.java +++ b/blood_bus/src/main/java/com/czblood/bus/utils/BloodBankUtil.java @@ -4,21 +4,18 @@ package com.czblood.bus.utils; import cn.hutool.core.date.DateUtil; import com.czblood.bus.cache.DmzdCache; import com.czblood.bus.cache.OptionCache; -import com.czblood.bus.mapper.BloodBankMapper; -import com.czblood.bus.mapper.XkBloodBreedMapper; -import com.czblood.bus.mapper.XkDmzdMapper; -import com.czblood.bus.mapper.XkParameterMapper; -import com.czblood.bus.pojo.XkBloodBreed; -import com.czblood.bus.pojo.XkDmzd; -import com.czblood.bus.pojo.XkParameter; -import com.czblood.common.core.domain.Result; +import com.czblood.bus.mapper.*; +import com.czblood.bus.pojo.xtwh.XkBloodBreed; +import com.czblood.bus.pojo.xtwh.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkParameter; import com.czblood.common.core.domain.entity.SysUser; import com.czblood.system.mapper.SysUserMapper; import com.czblood.system.util.CommonUtil; -import org.springframework.data.redis.connection.ReactiveSubscription; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -40,6 +37,8 @@ public class BloodBankUtil { XkBloodBreedMapper xkBloodBreedMapper; @Resource SysUserMapper sysUserMapper; + @Resource + XkBloodApplyTransMapper xkBloodApplyTransMapper; /** @@ -73,6 +72,17 @@ public class BloodBankUtil { } } + public XkDmzd getDictCacheOneByName(String dictType,String dictName){ + List dictCache = getDictCache(dictType); + if(dictCache == null || dictCache.isEmpty()) return null; + List collect = dictCache.stream().filter(xkDmzd -> xkDmzd.getWordbook_name().equals(dictName)).collect(Collectors.toList()); + if(collect.size() > 0) { + return collect.get(0); + }else{ + return null; + } + } + /** * 设置字典缓存 @@ -150,4 +160,10 @@ public class BloodBankUtil { return sysUserMapper.selectUserByUserName(userId); } + public BigDecimal getApplyTransNum(String bloodBreed,BigDecimal applyNum){ + BigDecimal applyTransNum = bloodBankMapper.getApplyTransNum(bloodBreed); + //计算结果保留 2 位小数,采用四舍五入规则。 + return applyNum.divide(applyTransNum,2, RoundingMode.HALF_UP); + } + } diff --git a/blood_bus/src/main/resources/mapper/BloodBankMapper.xml b/blood_bus/src/main/resources/mapper/BloodBankMapper.xml index 513a22b..db235a9 100644 --- a/blood_bus/src/main/resources/mapper/BloodBankMapper.xml +++ b/blood_bus/src/main/resources/mapper/BloodBankMapper.xml @@ -5,4 +5,7 @@ + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkBloodApplyTransMapper.xml b/blood_bus/src/main/resources/mapper/XkBloodApplyTransMapper.xml new file mode 100644 index 0000000..2b94519 --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkBloodApplyTransMapper.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkTransfuseApplyApprovalMapper.xml b/blood_bus/src/main/resources/mapper/XkTransfuseApplyApprovalMapper.xml new file mode 100644 index 0000000..e94574d --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkTransfuseApplyApprovalMapper.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkBloodBreedMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkBloodBreedMapper.xml similarity index 61% rename from blood_bus/src/main/resources/mapper/XkBloodBreedMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkBloodBreedMapper.xml index ab096ce..ded485b 100644 --- a/blood_bus/src/main/resources/mapper/XkBloodBreedMapper.xml +++ b/blood_bus/src/main/resources/mapper/xtwh/XkBloodBreedMapper.xml @@ -2,8 +2,11 @@ - select * from xk_blood_breed where use_sign = 'Y' and breed_code = #{breed_code} + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkCausalisSetMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkCausalisSetMapper.xml similarity index 100% rename from blood_bus/src/main/resources/mapper/XkCausalisSetMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkCausalisSetMapper.xml diff --git a/blood_bus/src/main/resources/mapper/XkDmzdMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkDmzdMapper.xml similarity index 97% rename from blood_bus/src/main/resources/mapper/XkDmzdMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkDmzdMapper.xml index 7fad80c..56d2ab4 100644 --- a/blood_bus/src/main/resources/mapper/XkDmzdMapper.xml +++ b/blood_bus/src/main/resources/mapper/xtwh/XkDmzdMapper.xml @@ -20,7 +20,7 @@ delete from xk_dmzd where wordbook_sign = #{wordbook_sign} and wordbook_code=#{wordbook_code} - select * from xk_dmzd where wordbook_sign=#{wordbook_sign} and use_sign = #{use_sign} and wordbook_name like '%'+#{wordbook_name}+'%' diff --git a/blood_bus/src/main/resources/mapper/XkHosInfoMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkHosInfoMapper.xml similarity index 94% rename from blood_bus/src/main/resources/mapper/XkHosInfoMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkHosInfoMapper.xml index 66b0c79..961ae56 100644 --- a/blood_bus/src/main/resources/mapper/XkHosInfoMapper.xml +++ b/blood_bus/src/main/resources/mapper/xtwh/XkHosInfoMapper.xml @@ -2,7 +2,7 @@ - select * from xk_hos_info and hospital_code = #{hospital_code} @@ -10,7 +10,7 @@ - select * from xk_hos_info where hospital_code = #{hospital_code} diff --git a/blood_bus/src/main/resources/mapper/XkParameterMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkParameterMapper.xml similarity index 80% rename from blood_bus/src/main/resources/mapper/XkParameterMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkParameterMapper.xml index 04108f7..6145b45 100644 --- a/blood_bus/src/main/resources/mapper/XkParameterMapper.xml +++ b/blood_bus/src/main/resources/mapper/xtwh/XkParameterMapper.xml @@ -2,7 +2,7 @@ - select * from xk_parameter where parameter_code = #{parameter_code} \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkXtwhIllDiagnoseMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkXtwhIllDiagnoseMapper.xml similarity index 87% rename from blood_bus/src/main/resources/mapper/XkXtwhIllDiagnoseMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkXtwhIllDiagnoseMapper.xml index c774e1e..979b45a 100644 --- a/blood_bus/src/main/resources/mapper/XkXtwhIllDiagnoseMapper.xml +++ b/blood_bus/src/main/resources/mapper/xtwh/XkXtwhIllDiagnoseMapper.xml @@ -3,7 +3,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > - select * from xk_xtwh_ill_diagnose Ill_Code = #{Ill_Code} diff --git a/blood_bus/src/main/resources/mapper/XkXtwhIllMapper.xml b/blood_bus/src/main/resources/mapper/xtwh/XkXtwhIllMapper.xml similarity index 88% rename from blood_bus/src/main/resources/mapper/XkXtwhIllMapper.xml rename to blood_bus/src/main/resources/mapper/xtwh/XkXtwhIllMapper.xml index 4ac5db5..c417df6 100644 --- a/blood_bus/src/main/resources/mapper/XkXtwhIllMapper.xml +++ b/blood_bus/src/main/resources/mapper/xtwh/XkXtwhIllMapper.xml @@ -3,7 +3,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > - select * from xk_xtwh_ill and Ill_Code = #{Ill_Code} diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkDmzdController.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkDmzdController.java index c32a31a..6f997ad 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkDmzdController.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkDmzdController.java @@ -4,7 +4,7 @@ package com.czblood.busBloodbank.controller; import com.czblood.bus.cache.DmzdCache; import com.czblood.bus.constants.BloodSysLogConstants; import com.czblood.bus.mapper.XkDmzdMapper; -import com.czblood.bus.pojo.XkDmzd; +import com.czblood.bus.pojo.xtwh.XkDmzd; import com.czblood.bus.utils.BloodBankUtil; import com.czblood.common.annotation.Log; import com.czblood.common.core.controller.BaseController; diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkHosInfoController.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkHosInfoController.java index 827ecec..932da6f 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkHosInfoController.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkHosInfoController.java @@ -2,7 +2,7 @@ package com.czblood.busBloodbank.controller; import com.czblood.bus.constants.BloodSysLogConstants; import com.czblood.bus.mapper.XkHosInfoMapper; -import com.czblood.bus.pojo.XkHosInfo; +import com.czblood.bus.pojo.xtwh.XkHosInfo; import com.czblood.common.annotation.Log; import com.czblood.common.core.domain.Result; import com.czblood.common.enums.BusinessType; diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkXtwhIllController.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkXtwhIllController.java index fad4fcf..dae3262 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkXtwhIllController.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/XkXtwhIllController.java @@ -1,6 +1,6 @@ package com.czblood.busBloodbank.controller; -import com.czblood.bus.pojo.XkXtwhIll; +import com.czblood.bus.pojo.xtwh.XkXtwhIll; import com.czblood.busBloodbank.service.XkXtwhIllService; import com.czblood.common.core.domain.Result; import io.swagger.annotations.Api; diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkXtwhIllService.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkXtwhIllService.java index 69643ca..9ef2695 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkXtwhIllService.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkXtwhIllService.java @@ -1,6 +1,6 @@ package com.czblood.busBloodbank.service; -import com.czblood.bus.pojo.XkXtwhIll; +import com.czblood.bus.pojo.xtwh.XkXtwhIll; import com.czblood.common.core.domain.Result; public interface XkXtwhIllService { diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkXtwhIllServiceImpl.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkXtwhIllServiceImpl.java index 8975cc8..5917d65 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkXtwhIllServiceImpl.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkXtwhIllServiceImpl.java @@ -1,7 +1,7 @@ package com.czblood.busBloodbank.service.impl; import com.czblood.bus.mapper.XkXtwhIllMapper; -import com.czblood.bus.pojo.XkXtwhIll; +import com.czblood.bus.pojo.xtwh.XkXtwhIll; import com.czblood.busBloodbank.service.XkXtwhIllService; import com.czblood.common.core.domain.Result; import org.springframework.stereotype.Service; diff --git a/blood_bus_doctor/src/main/java/com/czblood/busDoctor/mapper/TransfuseApplyMapper.java b/blood_bus_doctor/src/main/java/com/czblood/busDoctor/mapper/TransfuseApplyMapper.java index 1a4f558..f8c45f3 100644 --- a/blood_bus_doctor/src/main/java/com/czblood/busDoctor/mapper/TransfuseApplyMapper.java +++ b/blood_bus_doctor/src/main/java/com/czblood/busDoctor/mapper/TransfuseApplyMapper.java @@ -3,9 +3,10 @@ package com.czblood.busDoctor.mapper; import com.czblood.busDoctor.pojo.DTO.TransfuseApplyInfoOne; import com.czblood.busDoctor.pojo.VO.TransfuseApplyVO; -import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; +import java.math.BigDecimal; +import java.util.Date; import java.util.List; import java.util.Map; @@ -16,4 +17,5 @@ public interface TransfuseApplyMapper { int queryXkCheckBloodtypeCount(@Param("beinhos_id") String beinhos_id); String checkSameBloodType(@Param("beinhos_id") String beinhos_id,@Param("blood_breed") String blood_breed); List> checkSelfBlood(@Param("beinhos_id") String beinhos_id); + BigDecimal queryApplyTransTotalNum(@Param("beinhos_id") String beinhos_id,@Param("stime") Date stime, @Param("etime") Date etime,@Param("bloodKindList") List bloodKindList,@Param("billNo") String billNo); } diff --git a/blood_bus_doctor/src/main/java/com/czblood/busDoctor/service/impl/TransfuseApplyServiceImpl.java b/blood_bus_doctor/src/main/java/com/czblood/busDoctor/service/impl/TransfuseApplyServiceImpl.java index 9a5167f..0bec836 100644 --- a/blood_bus_doctor/src/main/java/com/czblood/busDoctor/service/impl/TransfuseApplyServiceImpl.java +++ b/blood_bus_doctor/src/main/java/com/czblood/busDoctor/service/impl/TransfuseApplyServiceImpl.java @@ -2,10 +2,9 @@ package com.czblood.busDoctor.service.impl; import com.czblood.bus.mapper.*; import com.czblood.bus.pojo.*; +import com.czblood.bus.pojo.xtwh.XkDmzd; import com.czblood.bus.utils.BloodBankUtil; -import com.czblood.bus.utils.BloodInterfaceUtil; import com.czblood.busDoctor.mapper.TransfuseApplyMapper; -import com.czblood.busDoctor.pojo.DTO.TransfuseApplyCausalisSetDTO; import com.czblood.busDoctor.pojo.DTO.TransfuseApplyDTO; import com.czblood.busDoctor.pojo.DTO.TransfuseApplyInfoOne; import com.czblood.busDoctor.pojo.VO.TransfuseApplyVO; @@ -18,7 +17,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -45,6 +43,8 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService { XkTransfuseApplyCausalisMapper xkTransfuseApplyCausalisMapper; @Resource TransfuseApplyUtil transfuseApplyUtil; + @Resource + XkTransfuseApplyApprovalMapper xkTransfuseApplyApprovalMapper; /** * 获取病人信息 @@ -256,9 +256,25 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService { */ @Override public Result saveApplyInfo(TransfuseApplyDTO transfuseApplyDTO) { - //前置校验 - //产生申请单编号 + TransfuseApplyInfoOne transfuseApplyInfoOne = transfuseApplyDTO.getTransfuseApplyInfoOne(); + String billNo = transfuseApplyInfoOne.getBill_no(); //校验是否是大量用血 + if(billNo != null){ + //有申请单编号,说明是修改数据,如果之前有记录,直接返回数据给前端 + XkTransfuseApplyApproval xkTransfuseApplyApproval = xkTransfuseApplyApprovalMapper.queryOneByBillNo(billNo); + if(xkTransfuseApplyApproval != null){ + String applyLevel = xkTransfuseApplyApproval.getApplyLevel(); + if(applyLevel.equals("2")) return new Result("-1","申请用血量≥800ml,需科主任进入临床用血(大量用血审批)页面核准!"); + if(applyLevel.equals("3")) return new Result("-1","申请用血量≥1600ml,需科主任进入临床用血(大量用血审批)页面核准后,再报医务部门在临床用血(大量用血审批)批准!"); + } + //修改数据,保存申请单数据 + } + //新增数据,判断大量用血申请 + Result result = transfuseApplyUtil.computeLargeBlood(transfuseApplyDTO); + if(!result.getCode().equals("0")) return result; + //产生申请单编号 + + //保存数据 return null; } @@ -271,12 +287,26 @@ public class TransfuseApplyServiceImpl implements TransfuseApplyService { @Override public Result checkCausalis(TransfuseApplyDTO transfuseApplyDTO) { //输血指征处理 + TransfuseApplyInfoOne transfuseApplyInfoOne = transfuseApplyDTO.getTransfuseApplyInfoOne(); + if(!StringUtils.isEmpty(transfuseApplyInfoOne.getBill_no())){ + //如果申请单编号不是空的,说明是修改数据,如果之前有数据,则返回之前的数据,没有标识校验通过 + List xkTransfuseApplyCausalisList = transfuseApplyDTO.getXkTransfuseApplyCausalisList(); + if(xkTransfuseApplyCausalisList.isEmpty()){ + return new Result("0","校验通过!"); + }else{ + return new Result("1","校验失败!",xkTransfuseApplyCausalisList); + } + } //输血指征是否输血合理,校验是否符合输血指征的规则 //他原来的逻辑,分单据类型了,没搞懂为啥分,先统一校验吧 - return transfuseApplyUtil.checkCausalis(transfuseApplyDTO); -// if(result.getCode().equals("1")){ -// List xkCausalisSetRetList = (List)result.getData(); -// } + Result result = transfuseApplyUtil.checkCausalis(transfuseApplyDTO); + if(result.getCode().equals("0")) return result; + if(result.getCode().equals("1")){ + List xkTransfuseApplyCausalisRetList = (List)result.getData(); + return new Result("1","校验失败!",xkTransfuseApplyCausalisRetList); + } + + return new Result("0","校验通过!"); } /** diff --git a/blood_bus_doctor/src/main/java/com/czblood/busDoctor/utils/TransfuseApplyUtil.java b/blood_bus_doctor/src/main/java/com/czblood/busDoctor/utils/TransfuseApplyUtil.java index b5355ad..95fae3b 100644 --- a/blood_bus_doctor/src/main/java/com/czblood/busDoctor/utils/TransfuseApplyUtil.java +++ b/blood_bus_doctor/src/main/java/com/czblood/busDoctor/utils/TransfuseApplyUtil.java @@ -1,20 +1,23 @@ package com.czblood.busDoctor.utils; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import com.czblood.bus.mapper.XkBloodBreedMapper; import com.czblood.bus.mapper.XkCausalisSetMapper; -import com.czblood.bus.pojo.XkCausalisSet; -import com.czblood.bus.pojo.XkTransfuseApplyBloodbreed; -import com.czblood.bus.pojo.XkTransfuseApplyTestitem; +import com.czblood.bus.pojo.*; +import com.czblood.bus.pojo.xtwh.XkBloodBreed; +import com.czblood.bus.pojo.xtwh.XkDmzd; import com.czblood.bus.utils.BloodBankUtil; -import com.czblood.busDoctor.pojo.DTO.TransfuseApplyCausalisSetDTO; +import com.czblood.busDoctor.mapper.TransfuseApplyMapper; import com.czblood.busDoctor.pojo.DTO.TransfuseApplyDTO; import com.czblood.busDoctor.pojo.DTO.TransfuseApplyInfoOne; import com.czblood.common.core.domain.Result; import org.springframework.stereotype.Component; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; +import java.math.BigDecimal; +import java.util.*; import java.util.stream.Collectors; @Component @@ -22,11 +25,71 @@ public class TransfuseApplyUtil { @Resource XkCausalisSetMapper xkCausalisSetMapper; + @Resource + BloodBankUtil bloodBankUtil; + @Resource + XkBloodBreedMapper xkBloodBreedMapper; + @Resource + TransfuseApplyMapper transfuseApplyMapper; /** * 计算大量用血 */ - public void computeLargeBlood(){ + public Result computeLargeBlood(TransfuseApplyDTO transfuseApplyDTO){ + TransfuseApplyInfoOne transfuseApplyInfoOne = transfuseApplyDTO.getTransfuseApplyInfoOne(); + String beinhosId = transfuseApplyInfoOne.getBeinhos_id(); + String billNo = transfuseApplyInfoOne.getBill_no(); + String applyType = transfuseApplyInfoOne.getApply_type(); + XkDmzd sqlxDmzd = bloodBankUtil.getDictCacheOneByName("sqlx", applyType); + String exp2 = sqlxDmzd.getExp2(); //是否是抢救用血 + String applyLev = ""; //大量用血等级 + String flag = ""; //通过标志 + String msg = ""; + Map map = new HashMap<>(); + //抢救用血不参与大量用血计算 + if(BloodBankUtil.isBank(exp2).equals("Y")) return new Result("0","抢救用血不参与大量用血计算"); + //血液品种是否参与大量用血判断 + BigDecimal totalApplyNum = BigDecimal.ZERO; + List bloodKindList = new ArrayList<>(); + List xkTransfuseApplyBloodbreedList = transfuseApplyDTO.getXkTransfuseApplyBloodbreedList(); + for (XkTransfuseApplyBloodbreed xkTransfuseApplyBloodbreed : xkTransfuseApplyBloodbreedList) { + String bloodBreed = xkTransfuseApplyBloodbreed.getBlood_breed(); + BigDecimal bloodNum = xkTransfuseApplyBloodbreed.getBlood_num(); + XkBloodBreed xkBloodBreed = xkBloodBreedMapper.queryOne(bloodBreed); + XkDmzd xylxDmzd = bloodBankUtil.getDictCacheOneByName("xylx", xkBloodBreed.getBlood_kind()); + String exp1 = xylxDmzd.getExp1(); //是否参与大量用血计算 + if(!BloodBankUtil.isBank(exp1).equals("Y")) continue; + BigDecimal applyTransNum = bloodBankUtil.getApplyTransNum(bloodBreed,bloodNum); + totalApplyNum = totalApplyNum.add(applyTransNum); + bloodKindList.add(xkBloodBreed.getBlood_kind()); + } + + Date currentTimeDate = bloodBankUtil.getCurrentTimeDate(); + DateTime yesterday = DateUtil.offsetDay(currentTimeDate, -1); + //其中不包含了当前申请单的输血量 + BigDecimal beforeNum = transfuseApplyMapper.queryApplyTransTotalNum(beinhosId, yesterday, currentTimeDate, bloodKindList,billNo); + //大量用血判断 + BigDecimal largeBloodNum = totalApplyNum.add(beforeNum).abs(); + if(largeBloodNum.compareTo(new BigDecimal(800)) < 0){ + applyLev = "1"; + flag = "Y"; + }else if(largeBloodNum.compareTo(new BigDecimal(800)) >= 0 && largeBloodNum.compareTo(new BigDecimal(1600)) < 0){ + applyLev = "2"; + flag = "N"; + msg = "申请用血量≥800ml,需科主任进入临床用血(大量用血审批)页面核准!"; + }else{ + applyLev = "3"; + flag = "N"; + msg = "申请用血量≥1600ml,需科主任进入临床用血(大量用血审批)页面核准后,再报医务部门在临床用血(大量用血审批)批准!"; + } + map.put("applyLev",applyLev); + map.put("flag",flag); + if(flag.equals("N")){ + return new Result("1",msg,map); + }else{ + //校验通过 + return new Result("0",msg,map); + } } @@ -42,13 +105,13 @@ public class TransfuseApplyUtil { String beinhosId = BloodBankUtil.isBank(transfuseApplyInfoOne.getBeinhos_id()); String deptType = BloodBankUtil.isBank(transfuseApplyInfoOne.getDept_Type()); String useType = BloodBankUtil.isBank(transfuseApplyInfoOne.getUse_type()); - String billNo = BloodBankUtil.isBank(transfuseApplyInfoOne.getBill_no()); XkCausalisSet xkCausalisSet = new XkCausalisSet(); xkCausalisSet.setUse_Sign("Y"); xkCausalisSet.setDept_Type(deptType); xkCausalisSet.setUse_Type(useType); List xkCausalisSetList = xkCausalisSetMapper.queryList(xkCausalisSet); - List xkCausalisSetRetList = new ArrayList<>(); + List xkTransfuseApplyCausalisList = new ArrayList<>(); + int i = 0; //这个返回也是原来的逻辑 if(beinhosId.equals("") || deptType.equals("") || useType.equals("") ) return new Result("0","字段没有填完整,无法校验!"); List xkTransfuseApplyTestitemList = transfuseApplyDTO.getXkTransfuseApplyTestitemList(); @@ -63,23 +126,28 @@ public class TransfuseApplyUtil { String itemResult = xkTransfuseApplyTestitem.getItem_result(); XkCausalisSet xkCausalisSet2 = calcCausalis(collect, itemName, itemResult); if(xkCausalisSet2 != null){ - //没有校验通过的,增加数据 - TransfuseApplyCausalisSetDTO transfuseApplyCausalisSetDTO = new TransfuseApplyCausalisSetDTO(); - transfuseApplyCausalisSetDTO.setXkCausalisSet(xkCausalisSet2); - transfuseApplyCausalisSetDTO.setTestValue(itemResult); - xkCausalisSetRetList.add(transfuseApplyCausalisSetDTO); + //没有校验通过的,增加数据,让前台界面显示 + XkTransfuseApplyCausalis xkTransfuseApplyCausalis = new XkTransfuseApplyCausalis(); + xkTransfuseApplyCausalis.setSID(i++); + xkTransfuseApplyCausalis.setCausalis_Code(xkCausalisSet.getCausalis_Code()); + xkTransfuseApplyCausalis.setCausalis_Name(xkCausalisSet.getCausalis_Name()); + xkTransfuseApplyCausalis.setCausalis_Result(xkCausalisSet.getCausalis_Result()); + xkTransfuseApplyCausalis.setUse_Flag("Y"); + xkTransfuseApplyCausalis.setUpload_Flag("N"); + xkTransfuseApplyCausalis.setExplain(""); + xkTransfuseApplyCausalisList.add(xkTransfuseApplyCausalis); } } } - if(xkCausalisSetRetList.isEmpty()){ + if(xkTransfuseApplyCausalisList.isEmpty()){ return new Result("0","校验成功!"); }else{ - return new Result("1","校验失败",xkCausalisSetRetList); + return new Result("1","校验失败",xkTransfuseApplyCausalisList); } } - public XkCausalisSet calcCausalis(List xkCausalisSetList, String proName,String testValue){ + private XkCausalisSet calcCausalis(List xkCausalisSetList, String proName,String testValue){ //查找是否包含该指标 List collect = xkCausalisSetList.stream().filter(xkCausalisSet -> xkCausalisSet.getPro_Name().equals(proName)).collect(Collectors.toList()); if(collect.isEmpty()) return null; @@ -157,4 +225,13 @@ public class TransfuseApplyUtil { return null; } + + /** + * 产生单据编号 + * @param billType + * @return + */ + public String produceBillNo(String billType){ + return null; + } } diff --git a/blood_bus_doctor/src/main/resources/mapper/TransfuseApplyMapper.xml b/blood_bus_doctor/src/main/resources/mapper/TransfuseApplyMapper.xml index b89aea0..2d6ebd8 100644 --- a/blood_bus_doctor/src/main/resources/mapper/TransfuseApplyMapper.xml +++ b/blood_bus_doctor/src/main/resources/mapper/TransfuseApplyMapper.xml @@ -155,4 +155,21 @@ group by xk_blood_breed.breed_name,xk_blood_info.unit + \ No newline at end of file diff --git a/sql/updatedb_blood.sql b/sql/updatedb_blood.sql index 67d6a8a..d360fb9 100644 --- a/sql/updatedb_blood.sql +++ b/sql/updatedb_blood.sql @@ -468,3 +468,16 @@ IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_parameter' ALTER TABLE xk_parameter ADD CONSTRAINT PK_xk_parameter PRIMARY KEY CLUSTERED (parameter_code); END GO + + +IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_transfuse_apply_approval' AND type = 'PK' ) + BEGIN + ALTER TABLE xk_transfuse_apply_approval ADD CONSTRAINT PK_xk_transfuse_apply_approval PRIMARY KEY CLUSTERED (bill_no); + END +GO + +IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_blood_apply_trans' AND type = 'PK' ) + BEGIN + ALTER TABLE xk_blood_apply_trans ADD CONSTRAINT PK_xk_blood_apply_trans PRIMARY KEY CLUSTERED (blood_breed,sid); + END +GO