diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeDetailMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeDetailMapper.java new file mode 100644 index 0000000..16bfdcc --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeDetailMapper.java @@ -0,0 +1,5 @@ +package com.czblood.bus.mapper; + +public interface XkChargeDetailMapper { + void deleteByBillNo(String bill_no); +} diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeMainMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeMainMapper.java new file mode 100644 index 0000000..65549a1 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeMainMapper.java @@ -0,0 +1,11 @@ +package com.czblood.bus.mapper; + + +import com.czblood.bus.pojo.XkChargeMain; + +import java.util.List; + +public interface XkChargeMainMapper { + void deleteByBillNo(String bill_no); + List queryList(XkChargeMain xkChargeMain); +} diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkCheckBloodtypeMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkCheckBloodtypeMapper.java index 057d582..334bc65 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkCheckBloodtypeMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkCheckBloodtypeMapper.java @@ -7,5 +7,7 @@ import java.util.List; public interface XkCheckBloodtypeMapper { List queryList(XkCheckBloodtype xkCheckBloodtype); void insert(XkCheckBloodtype xkCheckBloodtype); + XkCheckBloodtype queryOne(String billNo); + void delete(String billNo); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutMainMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutMainMapper.java new file mode 100644 index 0000000..ad45f7f --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutMainMapper.java @@ -0,0 +1,8 @@ +package com.czblood.bus.mapper; + +import com.czblood.bus.pojo.XkOutMain; +import org.apache.ibatis.annotations.Param; + +public interface XkOutMainMapper { + XkOutMain queryOne(@Param("billNo") String billNo); +} diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeDetail.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeDetail.java new file mode 100644 index 0000000..61e9e77 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeDetail.java @@ -0,0 +1,29 @@ +package com.czblood.bus.pojo; + +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("收费明细") +public class XkChargeDetail { + private String bill_no; + private Integer sid; + private String serial_number; + private BigDecimal price; + private Integer number; + private BigDecimal sum; + private String remark; + private String item_name; + private String spec; + private String charge_type; + private String unit; + private String charge_flag; + private String blood_no; + private String product_no; +} diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeMain.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeMain.java new file mode 100644 index 0000000..036d24a --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeMain.java @@ -0,0 +1,33 @@ +package com.czblood.bus.pojo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("收费主表") +public class XkChargeMain { + private String bill_no; + private String beinhos_id; + @ApiModelProperty("收费日期") + private Date occur_date; + @ApiModelProperty("收费人") + private String handle_person; + @ApiModelProperty("申请单号") + private String relative_billno; + private String remark; + private String send_flag; + @ApiModelProperty("收费标志,Y收费,N未收费") + private String check_sign; + private Date last_modified; + private Date send_time; + private Date read_time; + private String read_flag; + private String nbsfbz; +} diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkCheckBloodtype.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkCheckBloodtype.java index ee915f1..67c2fb0 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkCheckBloodtype.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkCheckBloodtype.java @@ -1,5 +1,6 @@ package com.czblood.bus.pojo; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -11,7 +12,7 @@ import java.util.Date; @Data @AllArgsConstructor @NoArgsConstructor -@ApiOperation("血型复核") +@ApiModel("血型复核") public class XkCheckBloodtype { @ApiModelProperty("单据编号") private String bill_no; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkSampleInfo.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkSampleInfo.java index b88d909..ae5aaa3 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkSampleInfo.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkSampleInfo.java @@ -1,6 +1,6 @@ package com.czblood.bus.pojo; -import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; @@ -11,7 +11,7 @@ import java.util.Date; @Data @AllArgsConstructor @NoArgsConstructor -@Api(tags = "样本信息") +@ApiModel("样本信息") public class XkSampleInfo { @ApiModelProperty("样本号") private String sample_No; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkSearchTransfuseBill.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkSearchTransfuseBill.java index b5c8d59..d22a297 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkSearchTransfuseBill.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkSearchTransfuseBill.java @@ -1,5 +1,6 @@ package com.czblood.bus.pojo; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -11,7 +12,7 @@ import java.util.Date; @Data @AllArgsConstructor @NoArgsConstructor -@ApiOperation("申请单扫描登记") +@ApiModel("申请单扫描登记") public class XkSearchTransfuseBill { private String bill_no; private Integer sid; diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApply.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApply.java index e449e5d..8c089af 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApply.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkTransfuseApply.java @@ -71,7 +71,7 @@ public class XkTransfuseApply { private String check_sign; @ApiModelProperty("审核意见") private String check_explain; - @ApiModelProperty("状态(A=未审核、B=已审核、C=已配血、D=已发血、Z=作废、BD=未补录、W=已补录、F=已复核血型、S=已追加配血、N=审核未通过)") + @ApiModelProperty("状态(A=未审核、B=已审核、C=已配血、D=已发血、Z=作废、BD=未补录、W=已补录、F=已复核血型、S=已追加配血、N=审核未通过、SF=追加血型复核)") private String bill_stasus; private String bill_type; @ApiModelProperty("申请医生") diff --git a/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml b/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml new file mode 100644 index 0000000..9621de2 --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml @@ -0,0 +1,9 @@ + + + + + + delete from xk_charge_detail where bill_no = #{bill_no} + + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkChargeMainMapper.xml b/blood_bus/src/main/resources/mapper/XkChargeMainMapper.xml new file mode 100644 index 0000000..0f8e440 --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkChargeMainMapper.xml @@ -0,0 +1,17 @@ + + + + + + delete from xk_charge_main where bill_no = #{bill_no} + + + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkCheckBloodtypeMapper.xml b/blood_bus/src/main/resources/mapper/XkCheckBloodtypeMapper.xml index 97ec949..97e2381 100644 --- a/blood_bus/src/main/resources/mapper/XkCheckBloodtypeMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkCheckBloodtypeMapper.xml @@ -44,6 +44,9 @@ #{bz1}, #{hos_id},#{bill_no},#{apply_no},#{beinhos_id},#{patient_name},#{dept_id},#{check_abo},#{check_fabo},#{affirm_abo}) + + delete from xk_check_bloodtype where bill_no = #{billNo} + + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkOutMainMapper.xml b/blood_bus/src/main/resources/mapper/XkOutMainMapper.xml new file mode 100644 index 0000000..060f9cb --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkOutMainMapper.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/CheckBloodTypeController.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/CheckBloodTypeController.java index 8799a5d..21ada17 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/CheckBloodTypeController.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/CheckBloodTypeController.java @@ -35,6 +35,12 @@ public class CheckBloodTypeController { return checkBloodTypeService.saveData(xkCheckBloodtype); } + @ApiOperation("删除数据") + @GetMapping("/delCheckBloodTypeInfo") + public Result delCheckBloodTypeInfo(String billNo){ + return checkBloodTypeService.delCheckBloodTypeInfo(billNo); + } + } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/CheckBloodTypeMapper.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/CheckBloodTypeMapper.java index cc7c9eb..da4b4d9 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/CheckBloodTypeMapper.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/CheckBloodTypeMapper.java @@ -7,4 +7,5 @@ public interface CheckBloodTypeMapper { List> queryWaitInfo(String bbjszhxxfh); int checkMatchedBloodNotOut(String billNo); List> queryOne(String billNo); + int queryOutMainCount(String billNo); } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/CheckBloodTypeService.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/CheckBloodTypeService.java index c115433..ef59644 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/CheckBloodTypeService.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/CheckBloodTypeService.java @@ -7,4 +7,6 @@ public interface CheckBloodTypeService { Result queryWaitInfo(); Result queryOne(String billNo); Result saveData(XkCheckBloodtype xkCheckBloodtype); + + Result delCheckBloodTypeInfo(String billNo); } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/CheckBloodTypeServiceImpl.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/CheckBloodTypeServiceImpl.java index 297f6fc..2a9f791 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/CheckBloodTypeServiceImpl.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/CheckBloodTypeServiceImpl.java @@ -1,11 +1,10 @@ package com.czblood.busBloodbank.service.impl; +import com.czblood.bus.mapper.XkChargeMainMapper; import com.czblood.bus.mapper.XkCheckBloodtypeMapper; import com.czblood.bus.mapper.XkTransfuseApplyBloodbreedMapper; import com.czblood.bus.mapper.XkTransfuseApplyMapper; -import com.czblood.bus.pojo.XkCheckBloodtype; -import com.czblood.bus.pojo.XkTransfuseApply; -import com.czblood.bus.pojo.XkTransfuseApplyBloodbreed; +import com.czblood.bus.pojo.*; import com.czblood.bus.pojo.inter.CheckBloodTypeRequest; import com.czblood.bus.utils.BloodBankUtil; import com.czblood.bus.utils.BloodInterfaceUtil; @@ -35,6 +34,8 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { XkTransfuseApplyMapper xkTransfuseApplyMapper; @Resource XkCheckBloodtypeMapper xkCheckBloodtypeMapper; + @Resource + XkChargeMainMapper xkChargeMainMapper; @Override @@ -77,6 +78,7 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { if(billStatus.equals("C")) return new Result("0","该申请单的血型复核单已发血,不可修改!"); } String billSort = xkTransfuseApply.getBill_sort(); + //是否需要配血 if(billSort.equals("B")){ xkCheckBloodtype.setBill_status("Y"); }else{ @@ -89,13 +91,51 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { xkTransfuseApplyTemp.setBill_stasus("F"); xkTransfuseApplyTemp.setNotify_sign("Y"); - //当血型复核的结果和申请单之前的接口不一致的时候,需要更新申请单的血型,以及病人基本信息的血型 TODO + //当血型复核的结果和申请单之前的结果不一致的时候,需要更新申请单的血型,以及病人基本信息的血型 + xkTransfuseApplyTemp.setAbo_type(xkCheckBloodtype.getAffirm_abo()); + xkTransfuseApplyTemp.setRh_type(xkCheckBloodtype.getCheck_rh()); - checkBloodTypeUtil.saveData(xkCheckBloodtype,xkTransfuseApplyTemp); + XkPatientInfo xkPatientInfoTemp = new XkPatientInfo(); + xkPatientInfoTemp.setAbo(xkCheckBloodtype.getAffirm_abo()); + xkPatientInfoTemp.setRh(xkCheckBloodtype.getCheck_rh()); + xkPatientInfoTemp.setBeinhos_id(xkCheckBloodtype.getBeinhos_id()); + + checkBloodTypeUtil.saveData(xkCheckBloodtype,xkTransfuseApplyTemp,xkPatientInfoTemp); //调用外部接口 CheckBloodTypeRequest checkBloodTypeRequest = new CheckBloodTypeRequest(); Result result = BloodInterfaceUtil.invokeBloodInterface(checkBloodTypeRequest); if(!result.getCode().equals("0")) return result; return new Result("0","保存数据成功!",newBillNo); } + + @Override + public Result delCheckBloodTypeInfo(String billNo) { + XkCheckBloodtype xkCheckBloodtype = xkCheckBloodtypeMapper.queryOne(billNo); + if(xkCheckBloodtype == null) return new Result("-1","该血型复核单不存在!"); + String billStatus = xkCheckBloodtype.getBill_status(); + String applyNo = xkCheckBloodtype.getApply_no(); + if(billStatus.equals("B")) return new Result("-1","该单据对应的申请单已经配血,不能删除!"); + if(billStatus.equals("C")) return new Result("-1","该单据对应的申请单已经发血,不能删除!"); + int i = checkBloodTypeMapper.checkMatchedBloodNotOut(billNo); + if(i > 0 ) return new Result("-1","该血型复核单对应的发血单已经登记发血,不能删除!"); + + //修改状态 + XkTransfuseApply xkTransfuseApplyTemp = new XkTransfuseApply(); + xkTransfuseApplyTemp.setBill_no(applyNo); + xkTransfuseApplyTemp.setBill_stasus("F"); + + XkChargeMain xkChargeMain = new XkChargeMain(); + xkChargeMain.setRelative_billno(applyNo); + xkChargeMain.setSend_flag("N"); + List xkChargeMainList = xkChargeMainMapper.queryList(xkChargeMain); + String chargeBillNo = ""; + if(!xkChargeMainList.isEmpty()){ + chargeBillNo = xkChargeMainList.get(0).getBill_no(); + } + checkBloodTypeUtil.deleteData(xkTransfuseApplyTemp,chargeBillNo,billNo); + + //调用外部接口 TODO + + return new Result("0","删除成功!"); + } } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/utils/CheckBloodTypeUtil.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/utils/CheckBloodTypeUtil.java index f45100b..b00b3c0 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/utils/CheckBloodTypeUtil.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/utils/CheckBloodTypeUtil.java @@ -1,8 +1,8 @@ package com.czblood.busBloodbank.utils; -import com.czblood.bus.mapper.XkCheckBloodtypeMapper; -import com.czblood.bus.mapper.XkTransfuseApplyMapper; +import com.czblood.bus.mapper.*; import com.czblood.bus.pojo.XkCheckBloodtype; +import com.czblood.bus.pojo.XkPatientInfo; import com.czblood.bus.pojo.XkTransfuseApply; import com.czblood.busBloodbank.mapper.CheckBloodTypeMapper; import com.czblood.common.core.domain.Result; @@ -20,6 +20,12 @@ public class CheckBloodTypeUtil { CheckBloodTypeMapper checkBloodTypeMapper; @Resource XkCheckBloodtypeMapper xkCheckBloodtypeMapper; + @Resource + XkPatientInfoMapper xkPatientInfoMapper; + @Resource + XkChargeMainMapper xkChargeMainMapper; + @Resource + XkChargeDetailMapper xkChargeDetailMapper; /** * 校验申请单是否有效 @@ -58,8 +64,23 @@ public class CheckBloodTypeUtil { } @Transactional(rollbackFor = Exception.class) - public void saveData(XkCheckBloodtype xkCheckBloodtype,XkTransfuseApply xkTransfuseApply){ + public void saveData(XkCheckBloodtype xkCheckBloodtype, XkTransfuseApply xkTransfuseApply, XkPatientInfo xkPatientInfo){ xkCheckBloodtypeMapper.insert(xkCheckBloodtype); xkTransfuseApplyMapper.update(xkTransfuseApply); + if(xkPatientInfo != null){ + xkPatientInfoMapper.updateXkPatientInfo(xkPatientInfo); + } + } + + @Transactional(rollbackFor = Exception.class) + public void deleteData(XkTransfuseApply xkTransfuseApply,String chargeBillNo,String checkBillNo){ + xkCheckBloodtypeMapper.delete(checkBillNo); + xkTransfuseApplyMapper.update(xkTransfuseApply); + //删除血型复核收费数据 + if(chargeBillNo != null && !chargeBillNo.equals("")){ + xkChargeMainMapper.deleteByBillNo(chargeBillNo); + xkChargeDetailMapper.deleteByBillNo(chargeBillNo); + } + } } diff --git a/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml b/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml index f28abde..7eef2c5 100644 --- a/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml +++ b/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml @@ -62,4 +62,7 @@ FROM xk_patient_info RIGHT OUTER JOIN xk_transfuse_apply ON xk_patient_info.beinhos_id = xk_transfuse_apply.beinhos_id WHERE xk_transfuse_apply.bill_no = #{billNo} + \ No newline at end of file