diff --git a/blood_bus/src/main/java/com/czblood/bus/constants/BloodInterfaceTypeConstants.java b/blood_bus/src/main/java/com/czblood/bus/constants/BloodInterfaceTypeConstants.java index 9802bfa..df2b01a 100644 --- a/blood_bus/src/main/java/com/czblood/bus/constants/BloodInterfaceTypeConstants.java +++ b/blood_bus/src/main/java/com/czblood/bus/constants/BloodInterfaceTypeConstants.java @@ -49,4 +49,8 @@ public class BloodInterfaceTypeConstants { * 血型复核 */ public static final String CHECK_BLOOD_TYPE = "CHECK_BLOOD_TYPE"; + /** + * 取消血型复核 + */ + public static final String CANCEL_CHECK_BLOOD_TYPE = "CANCEL_CHECK_BLOOD_TYPE"; } diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/inter/CancelCheckBloodTypeRequest.java b/blood_bus/src/main/java/com/czblood/bus/pojo/inter/CancelCheckBloodTypeRequest.java new file mode 100644 index 0000000..7d7baef --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/inter/CancelCheckBloodTypeRequest.java @@ -0,0 +1,21 @@ +package com.czblood.bus.pojo.inter; + +import cn.hutool.json.JSONUtil; +import com.czblood.bus.constants.BloodInterfaceTypeConstants; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class CancelCheckBloodTypeRequest implements BloodInterfaceType { + + private final String method = BloodInterfaceTypeConstants.CANCEL_CHECK_BLOOD_TYPE; + private String billNo; + + @Override + public String serializationJson() { + return JSONUtil.toJsonStr(this); + } +} 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 21ada17..0d771cb 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 @@ -1,18 +1,24 @@ package com.czblood.busBloodbank.controller; import com.czblood.bus.pojo.XkCheckBloodtype; +import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO; +import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO; import com.czblood.busBloodbank.service.CheckBloodTypeService; +import com.czblood.common.core.controller.BaseController; import com.czblood.common.core.domain.Result; +import com.czblood.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import java.util.Map; @Api(tags = "血型复核") @RestController @RequestMapping("/bus/bloodbank/checkBloodType") -public class CheckBloodTypeController { +public class CheckBloodTypeController extends BaseController { @Resource private CheckBloodTypeService checkBloodTypeService; @@ -31,8 +37,8 @@ public class CheckBloodTypeController { @ApiOperation("保存数据") @PostMapping("/saveData") - public Result saveData(@RequestBody XkCheckBloodtype xkCheckBloodtype){ - return checkBloodTypeService.saveData(xkCheckBloodtype); + public Result saveData(@RequestBody XkCheckBloodtypeVO xkCheckBloodtypeVO){ + return checkBloodTypeService.saveData(xkCheckBloodtypeVO); } @ApiOperation("删除数据") @@ -41,6 +47,14 @@ public class CheckBloodTypeController { return checkBloodTypeService.delCheckBloodTypeInfo(billNo); } + @ApiOperation("查询血型复核历史记录") + @GetMapping("/queryHistoryInfo") + public TableDataInfo queryHistoryInfo(HistoryQueryVO historyQueryVO){ + startPage(); + List> mapList = checkBloodTypeService.queryHistoryInfo(historyQueryVO); + return getDataTable(mapList); + } + } 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 da4b4d9..ce03d7c 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 @@ -1,5 +1,7 @@ package com.czblood.busBloodbank.mapper; +import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO; + import java.util.List; import java.util.Map; @@ -8,4 +10,5 @@ public interface CheckBloodTypeMapper { int checkMatchedBloodNotOut(String billNo); List> queryOne(String billNo); int queryOutMainCount(String billNo); + List> queryHistoryInfo(HistoryQueryVO historyQueryVO); } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/HistoryQueryVO.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/HistoryQueryVO.java new file mode 100644 index 0000000..b38fe48 --- /dev/null +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/HistoryQueryVO.java @@ -0,0 +1,13 @@ +package com.czblood.busBloodbank.pojo.VO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class HistoryQueryVO { + private String beinhos_id; + private String patient_name; +} diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/XkCheckBloodtypeVO.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/XkCheckBloodtypeVO.java new file mode 100644 index 0000000..f24b8fd --- /dev/null +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/XkCheckBloodtypeVO.java @@ -0,0 +1,19 @@ +package com.czblood.busBloodbank.pojo.VO; + +import com.czblood.bus.pojo.XkCheckBloodtype; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("保存血型复核参数") +public class XkCheckBloodtypeVO { + @ApiModelProperty("血型复核数据") + XkCheckBloodtype xkCheckBloodtype; + @ApiModelProperty("血型复核结果是否和申请单信息一致,1一致,0不一致") + private String flag; +} 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 ef59644..832cbc6 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 @@ -1,12 +1,19 @@ package com.czblood.busBloodbank.service; -import com.czblood.bus.pojo.XkCheckBloodtype; +import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO; +import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO; import com.czblood.common.core.domain.Result; +import com.czblood.common.core.page.TableDataInfo; + +import java.util.List; +import java.util.Map; public interface CheckBloodTypeService { Result queryWaitInfo(); Result queryOne(String billNo); - Result saveData(XkCheckBloodtype xkCheckBloodtype); + Result saveData(XkCheckBloodtypeVO xkCheckBloodtypeVO); Result delCheckBloodTypeInfo(String billNo); + + List> queryHistoryInfo(HistoryQueryVO historyQueryVO); } 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 2a9f791..c6c7f40 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,18 +1,19 @@ 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.mapper.*; import com.czblood.bus.pojo.*; +import com.czblood.bus.pojo.inter.CancelCheckBloodTypeRequest; import com.czblood.bus.pojo.inter.CheckBloodTypeRequest; import com.czblood.bus.utils.BloodBankUtil; import com.czblood.bus.utils.BloodInterfaceUtil; import com.czblood.busBloodbank.mapper.CheckBloodTypeMapper; import com.czblood.busBloodbank.pojo.DTO.CheckBloodTypeDTO; +import com.czblood.busBloodbank.pojo.VO.HistoryQueryVO; +import com.czblood.busBloodbank.pojo.VO.XkCheckBloodtypeVO; import com.czblood.busBloodbank.service.CheckBloodTypeService; import com.czblood.busBloodbank.utils.CheckBloodTypeUtil; import com.czblood.common.core.domain.Result; +import com.czblood.common.core.page.TableDataInfo; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -37,7 +38,6 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { @Resource XkChargeMainMapper xkChargeMainMapper; - @Override public Result queryWaitInfo() { //只复核标本接收之后的申请单 @@ -61,11 +61,13 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { /** * 保存数据 - * @param xkCheckBloodtype + * @param xkCheckBloodtypeVO * @return */ @Override - public Result saveData(XkCheckBloodtype xkCheckBloodtype) { + public Result saveData(XkCheckBloodtypeVO xkCheckBloodtypeVO) { + XkCheckBloodtype xkCheckBloodtype = xkCheckBloodtypeVO.getXkCheckBloodtype(); + String flag = xkCheckBloodtypeVO.getFlag(); String applyNo = xkCheckBloodtype.getApply_no(); XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(applyNo); if(xkTransfuseApply == null) return new Result("-1","若不是紧急情况,请先选择输血申请单!"); @@ -92,13 +94,19 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { xkTransfuseApplyTemp.setNotify_sign("Y"); //当血型复核的结果和申请单之前的结果不一致的时候,需要更新申请单的血型,以及病人基本信息的血型 - xkTransfuseApplyTemp.setAbo_type(xkCheckBloodtype.getAffirm_abo()); - xkTransfuseApplyTemp.setRh_type(xkCheckBloodtype.getCheck_rh()); + XkPatientInfo xkPatientInfoTemp = null; + if(flag.equals("0")){ + xkTransfuseApplyTemp.setAbo_type(xkCheckBloodtype.getAffirm_abo()); + xkTransfuseApplyTemp.setRh_type(xkCheckBloodtype.getCheck_rh()); + xkTransfuseApplyTemp.setBloodcheck_abnor("N"); + xkTransfuseApplyTemp.setAbnor_next("Y"); + + xkPatientInfoTemp = new XkPatientInfo(); + xkPatientInfoTemp.setAbo(xkCheckBloodtype.getAffirm_abo()); + xkPatientInfoTemp.setRh(xkCheckBloodtype.getCheck_rh()); + xkPatientInfoTemp.setBeinhos_id(xkCheckBloodtype.getBeinhos_id()); + } - 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); //调用外部接口 @@ -134,8 +142,16 @@ public class CheckBloodTypeServiceImpl implements CheckBloodTypeService { } checkBloodTypeUtil.deleteData(xkTransfuseApplyTemp,chargeBillNo,billNo); - //调用外部接口 TODO - + //调用外部接口 + CancelCheckBloodTypeRequest cancelCheckBloodTypeRequest = new CancelCheckBloodTypeRequest(); + cancelCheckBloodTypeRequest.setBillNo(billNo); + Result result = BloodInterfaceUtil.invokeBloodInterface(cancelCheckBloodTypeRequest); + if(!result.getCode().equals("0")) return result; return new Result("0","删除成功!"); } + + @Override + public List> queryHistoryInfo(HistoryQueryVO historyQueryVO) { + return checkBloodTypeMapper.queryHistoryInfo(historyQueryVO); + } } diff --git a/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml b/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml index 7eef2c5..484b2e4 100644 --- a/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml +++ b/blood_bus_bloodbank/src/main/resources/mapper/CheckBloodTypeMapper.xml @@ -65,4 +65,12 @@ + \ No newline at end of file