From 71abe9d30d8c931f8c883b79ab151e39ca8f90a1 Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Mon, 24 Aug 2026 09:20:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E5=8F=91=E8=A1=80=EF=BC=8C?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=A8=A1=E7=89=88=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czblood/bus/mapper/XkMatchMainMapper.java | 3 ++ .../czblood/bus/mapper/XkOutMainMapper.java | 3 ++ .../mapper/xtwh/XkReportTemplateMapper.java | 10 ++++++ .../java/com/czblood/bus/pojo/XkOutMain.java | 2 ++ .../bus/pojo/xtwh/XkReportTemplate.java | 19 +++++++++++ .../resources/mapper/XkMatchMainMapper.xml | 13 ++++++++ .../main/resources/mapper/XkOutMainMapper.xml | 15 +++++++++ .../mapper/XkReportTemplateMapper.xml | 23 +++++++++++++ .../controller/BloodOutController.java | 22 ++++++++----- .../xtwh/XkReportTemplateController.java | 11 +++++++ .../busBloodbank/mapper/BloodOutMapper.java | 2 +- .../busBloodbank/pojo/VO/BloodOutInfoVO.java | 3 ++ .../busBloodbank/service/BloodOutService.java | 2 +- .../service/XkReportTemplateService.java | 4 +++ .../service/impl/BloodOutServiceImpl.java | 18 +++++++--- .../impl/XkReportTemplateServiceImpl.java | 8 +++++ .../main/resources/mapper/BloodOutMapper.xml | 19 +++++++---- .../mapper/TransfuseApplyMapper.java | 2 ++ .../impl/TransfuseApplyServiceImpl.java | 33 +++++++++++++++++++ .../resources/mapper/TransfuseApplyMapper.xml | 4 +++ sql/updatedb_blood.sql | 24 +++++++++++++- 21 files changed, 217 insertions(+), 23 deletions(-) create mode 100644 blood_bus/src/main/java/com/czblood/bus/mapper/xtwh/XkReportTemplateMapper.java create mode 100644 blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkReportTemplate.java create mode 100644 blood_bus/src/main/resources/mapper/XkReportTemplateMapper.xml create mode 100644 blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/xtwh/XkReportTemplateController.java create mode 100644 blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkReportTemplateService.java create mode 100644 blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkReportTemplateServiceImpl.java diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkMatchMainMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkMatchMainMapper.java index ad5b715..ab39bdf 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkMatchMainMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkMatchMainMapper.java @@ -2,8 +2,11 @@ package com.czblood.bus.mapper; import com.czblood.bus.pojo.XkMatchMain; +import java.util.List; + public interface XkMatchMainMapper { void insertMatch(XkMatchMain xkMatchMain); XkMatchMain queryOne(String bill_no); void update(XkMatchMain xkMatchMain); + List queryList(XkMatchMain xkMatchMain); } 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 index a8c2508..3e7e047 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutMainMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutMainMapper.java @@ -3,9 +3,12 @@ package com.czblood.bus.mapper; import com.czblood.bus.pojo.XkOutMain; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface XkOutMainMapper { XkOutMain queryOne(@Param("billNo") String billNo); void insert(XkOutMain xkOutMain); void update(XkOutMain xkOutMain); + List queryList(XkOutMain xkOutMain); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/xtwh/XkReportTemplateMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/xtwh/XkReportTemplateMapper.java new file mode 100644 index 0000000..48fc018 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/xtwh/XkReportTemplateMapper.java @@ -0,0 +1,10 @@ +package com.czblood.bus.mapper.xtwh; + +import com.czblood.bus.pojo.xtwh.XkReportTemplate; + +public interface XkReportTemplateMapper { + void insert(XkReportTemplate xkReportTemplate); + void update(XkReportTemplate xkReportTemplate); + XkReportTemplate queryOne(String reportNo); + void deleteByReportNo(String reportNo); +} diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkOutMain.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkOutMain.java index 5c95ed3..825d134 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkOutMain.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkOutMain.java @@ -64,4 +64,6 @@ public class XkOutMain { private String all_recycle_sign; private String receive_person; private String receive_id; + @ApiModelProperty("多次发血标志") + private String more_sign; } diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkReportTemplate.java b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkReportTemplate.java new file mode 100644 index 0000000..2993359 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/xtwh/XkReportTemplate.java @@ -0,0 +1,19 @@ +package com.czblood.bus.pojo.xtwh; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class XkReportTemplate { + private String report_id; + private String report_no; + private String report_name; + private String report_size; + private Date create_time; + private Date update_time; +} diff --git a/blood_bus/src/main/resources/mapper/XkMatchMainMapper.xml b/blood_bus/src/main/resources/mapper/XkMatchMainMapper.xml index 9b44b2f..f81b602 100644 --- a/blood_bus/src/main/resources/mapper/XkMatchMainMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkMatchMainMapper.xml @@ -51,4 +51,17 @@ + \ 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 index 5b77383..3aa62d6 100644 --- a/blood_bus/src/main/resources/mapper/XkOutMainMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkOutMainMapper.xml @@ -28,6 +28,7 @@ all_recycle_sign, receive_person, receive_id, + more_sign, bill_no, hos_id,occur_date )values ( #{total_money}, @@ -54,6 +55,7 @@ #{all_recycle_sign}, #{receive_person}, #{receive_id}, + #{more_sign}, #{bill_no}, #{hos_id}, #{occur_date} ) @@ -84,6 +86,7 @@ all_recycle_sign = #{all_recycle_sign}, receive_person = #{receive_person}, receive_id = #{receive_id}, + more_sign = #{more_sign}, bill_no = #{bill_no} where bill_no = #{bill_no} @@ -91,4 +94,16 @@ + \ No newline at end of file diff --git a/blood_bus/src/main/resources/mapper/XkReportTemplateMapper.xml b/blood_bus/src/main/resources/mapper/XkReportTemplateMapper.xml new file mode 100644 index 0000000..4d72ced --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkReportTemplateMapper.xml @@ -0,0 +1,23 @@ + + + + + + insert into xk_report_template (report_no, report_name, report_size, create_time, update_time) + values ( #{report_no}, #{report_name}, #{report_size}, #{create_time}, #{update_time}) + + + update xk_report_template + set report_name = #{report_name}, + report_size = #{report_size}, + update_time = #{update_time} + where report_no = #{report_no} + + + delete from xk_report_template where report_no = #{reportNo} + + + \ No newline at end of file diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/BloodOutController.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/BloodOutController.java index 93a99d9..0a14480 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/BloodOutController.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/BloodOutController.java @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -@Api(tags = "血液出库") +@Api(tags = "临床发血") @RestController @RequestMapping("/bus/bloodbank/bloodOut") public class BloodOutController extends BaseController { @@ -26,10 +26,16 @@ public class BloodOutController extends BaseController { @Resource private BloodOutService bloodOutService; + /** + * 多次发血,moreSign = Y + * @param applyNo + * @param moreSign + * @return + */ @ApiOperation("查询申请单数据") @GetMapping("/queryOne") - public Result queryOne(String applyNo){ - return bloodOutService.queryOne(applyNo); + public Result queryOne(String applyNo,String moreSign){ + return bloodOutService.queryOne(applyNo,moreSign); } @@ -87,11 +93,11 @@ public class BloodOutController extends BaseController { return bloodOutService.queryInfo(billNo); } - @ApiOperation("多次发血") - @GetMapping("/moreBloodOut") - public Result moreBloodOut(){ - return null; - } +// @ApiOperation("多次发血") +// @GetMapping("/moreBloodOut") +// public Result moreBloodOut(){ +// return null; +// } @ApiOperation("查询多次发血单数据列表") @GetMapping("/queryMoreBloodOutList") diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/xtwh/XkReportTemplateController.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/xtwh/XkReportTemplateController.java new file mode 100644 index 0000000..8a19db5 --- /dev/null +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/controller/xtwh/XkReportTemplateController.java @@ -0,0 +1,11 @@ +package com.czblood.busBloodbank.controller.xtwh; + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Api(tags = "打印模版维护") +@RestController +@RequestMapping("/bus/bloodbank/xkReportTemplate") +public class XkReportTemplateController { +} diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/BloodOutMapper.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/BloodOutMapper.java index b315b93..2f00a54 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/BloodOutMapper.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/mapper/BloodOutMapper.java @@ -22,7 +22,7 @@ public interface BloodOutMapper { Date querySampleMaxPickDate(String applyNo); List queryCheckBloodtype(String applyNo); List> queryList(BloodOutQueryVO bloodOutQueryVO); - List> queryStockInfo(String billNo); + List> queryStockInfo(String applyNo); List> queryMoreBloodOutList(BloodOutMoreQueryVO bloodOutMoreQueryVO); } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/BloodOutInfoVO.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/BloodOutInfoVO.java index 86625f5..7fd7f88 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/BloodOutInfoVO.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/BloodOutInfoVO.java @@ -4,6 +4,7 @@ import com.czblood.bus.pojo.XkOutDetail; import com.czblood.bus.pojo.XkOutMain; import com.czblood.bus.pojo.XkPatientInfo; import com.czblood.bus.pojo.XkTransfuseApply; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -19,4 +20,6 @@ public class BloodOutInfoVO { private XkTransfuseApply xkTransfuseApply; private XkPatientInfo xkPatientInfo; private String userId; + @ApiModelProperty("是否多次发血") + private String moreSign; } diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/BloodOutService.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/BloodOutService.java index 89064c1..d8a41bb 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/BloodOutService.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/BloodOutService.java @@ -7,7 +7,7 @@ import com.czblood.busBloodbank.pojo.VO.BloodOutQueryVO; import com.czblood.common.core.domain.Result; public interface BloodOutService { - Result queryOne(String applyNo); + Result queryOne(String applyNo,String moreSign); Result queryWaitInfo(); Result getBloodInfoOut(String bloodNo, String productNo,String applyNo); Result saveData(BloodOutInfoVO bloodOutInfoVO); diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkReportTemplateService.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkReportTemplateService.java new file mode 100644 index 0000000..7a90440 --- /dev/null +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/XkReportTemplateService.java @@ -0,0 +1,4 @@ +package com.czblood.busBloodbank.service; + +public interface XkReportTemplateService { +} diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/BloodOutServiceImpl.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/BloodOutServiceImpl.java index b34ae6f..29bffc4 100644 --- a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/BloodOutServiceImpl.java +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/BloodOutServiceImpl.java @@ -59,20 +59,26 @@ public class BloodOutServiceImpl implements BloodOutService { @Override - public Result queryOne(String applyNo) { + public Result queryOne(String applyNo,String moreSign) { XkTransfuseApply xkTransfuseApply = xkTransfuseApplyMapper.queryOne(applyNo); if(xkTransfuseApply == null) return new Result("-1","该申请单不存在,请检查!"); String operationType = xkTransfuseApply.getOperation_type(); if(operationType.equals("Z")) return new Result("-1","该申请单为自体血申请单,无法在这操作!"); - if(!operationType.equals("S")) return new Result("-1","该申请单为输血治疗申请单,无法在这操作!"); - Result result = checkBloodValid(xkTransfuseApply); - if(!result.getCode().equals("0")) return result; + if(operationType.equals("S")) return new Result("-1","该申请单为输血治疗申请单,无法在这操作!"); + if(!moreSign.equals("Y")){ + Result result = checkBloodValid(xkTransfuseApply); + if(!result.getCode().equals("0")) return result; + } //返回数据 List> mapList = bloodOutMapper.queryApplyInfo(applyNo); List xkTransfuseApplyBloodbreedList = xkTransfuseApplyBloodbreedMapper.queryOne(applyNo); + List> queryStockInfoList = bloodOutMapper.queryStockInfo(applyNo); BloodOutDTO bloodOutDTO = new BloodOutDTO(); bloodOutDTO.setApplyInfoList(mapList); bloodOutDTO.setXkTransfuseApplyBloodbreedList(xkTransfuseApplyBloodbreedList); + if(!moreSign.equals("Y")){ + bloodOutDTO.setStockInfoList(queryStockInfoList); + } return new Result("0","操作成功",bloodOutDTO); } @@ -122,13 +128,15 @@ public class BloodOutServiceImpl implements BloodOutService { XkOutMain xkOutMain = bloodOutInfoVO.getXkOutMain(); String billNo = BloodBankUtil.isBank(xkOutMain.getBill_no()); String applyNo = xkOutMain.getApply_no(); + String moreSign = bloodOutInfoVO.getMoreSign(); + xkOutMain.setMore_sign(moreSign); //是否多次发血 List xkOutDetailList = bloodOutInfoVO.getXkOutDetailList(); if(xkOutDetailList.isEmpty()) return new Result("-1","出库血液为空,请选择出库血液!"); boolean bModify = false; if(!billNo.equals("")) bModify = true; String matchNo = ""; String checkNo = ""; - Date currentTimeDate = bloodBankUtil.getCurrentTimeDate(); + //Date currentTimeDate = bloodBankUtil.getCurrentTimeDate(); XkMatchMain xkMatchMain = bloodOutMapper.queryXkMatchMain(applyNo); if(xkMatchMain != null) { matchNo = BloodBankUtil.isBank(xkMatchMain.getBill_no()); diff --git a/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkReportTemplateServiceImpl.java b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkReportTemplateServiceImpl.java new file mode 100644 index 0000000..e916311 --- /dev/null +++ b/blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/service/impl/XkReportTemplateServiceImpl.java @@ -0,0 +1,8 @@ +package com.czblood.busBloodbank.service.impl; + +import com.czblood.busBloodbank.service.XkReportTemplateService; +import org.springframework.stereotype.Service; + +@Service +public class XkReportTemplateServiceImpl implements XkReportTemplateService { +} diff --git a/blood_bus_bloodbank/src/main/resources/mapper/BloodOutMapper.xml b/blood_bus_bloodbank/src/main/resources/mapper/BloodOutMapper.xml index f1891eb..5bdd13c 100644 --- a/blood_bus_bloodbank/src/main/resources/mapper/BloodOutMapper.xml +++ b/blood_bus_bloodbank/src/main/resources/mapper/BloodOutMapper.xml @@ -28,6 +28,7 @@ xk_transfuse_apply.beinhos_id, xk_transfuse_apply.dept_id, xk_transfuse_apply.patient_bed, + xk_transfuse_apply.bill_stasus, xk_check_bloodtype.affirm_abo, xk_check_bloodtype.check_rh, xk_check_bloodtype.affirm_antibody, @@ -64,6 +65,7 @@ xk_transfuse_apply.beinhos_id, xk_transfuse_apply.dept_id, xk_transfuse_apply.patient_bed, + xk_transfuse_apply.bill_stasus, space(4) affirm_abo, space(4) check_rh, space(8) affirm_antibody, @@ -98,6 +100,7 @@ xk_transfuse_apply.beinhos_id, xk_transfuse_apply.dept_id, xk_transfuse_apply.patient_bed, + xk_transfuse_apply.bill_stasus, xk_check_bloodtype.affirm_abo, xk_check_bloodtype.check_rh, xk_check_bloodtype.affirm_antibody , @@ -205,6 +208,7 @@ xk_blood_info.unit, xk_blood_info.valid_date, xk_blood_info.auto_no , + (select top 1 price from xk_instorage_detail where xk_blood_info.blood_no = blood_no and xk_blood_info.product_no = product_no) as price, space(10) as match_method, space(10) as check_method, space(10) as result, @@ -227,18 +231,19 @@ xk_blood_info.unit, xk_blood_info.valid_date, xk_blood_info.auto_no , + (select top 1 price from xk_instorage_detail where xk_blood_info.blood_no = blood_no and xk_blood_info.product_no = product_no) as price, xk_match_detail.match_method as match_method, xk_match_detail.check_method as check_method, xk_match_detail.result as result, '' as choose, '' as special_deal - from xk_blood_info,xk_out_main ,xk_out_detail - left join xk_match_detail on (xk_out_detail.blood_no = xk_match_detail.blood_no and xk_match_detail.product_no = xk_out_detail.product_no) - left join xk_match_main on (xk_match_detail.bill_no = xk_match_main.bill_no) - where xk_out_main.bill_no = xk_out_detail.bill_no - and xk_blood_info.blood_no = xk_out_detail.blood_no and xk_blood_info.product_no = xk_out_detail.product_no - and xk_out_main.bill_no = #{billNo} - AND ( xk_blood_info.blood_sort in('C','W' )OR isnull(xk_blood_info.blood_sort,'') = '') + from xk_blood_info + left join xk_out_detail on (xk_out_detail.blood_no = xk_blood_info.blood_no and xk_out_detail.product_no = xk_blood_info.product_no) + left join xk_out_main on (xk_out_main.bill_no = xk_out_detail.bill_no) + left join xk_match_detail on (xk_blood_info.blood_no = xk_match_detail.blood_no and xk_match_detail.product_no = xk_blood_info.product_no) + left join xk_match_main on (xk_match_detail.bill_no = xk_match_main.bill_no) + where xk_match_main.apply_no = #{applyNo} + AND ( xk_blood_info.blood_sort in('C','W' )OR isnull(xk_blood_info.blood_sort,'') = '') 'ZF') ]]> select count(*) from xk_out_main where apply_no = #{applyNo} + \ No newline at end of file diff --git a/sql/updatedb_blood.sql b/sql/updatedb_blood.sql index 845ac76..4fdf018 100644 --- a/sql/updatedb_blood.sql +++ b/sql/updatedb_blood.sql @@ -470,4 +470,26 @@ if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_c BEGIN alter table xk_check_bloodtype add plt_test varchar(5) END -GO \ No newline at end of file +GO + + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_out_main' AND COLUMN_NAME = 'more_sign') + BEGIN + alter table xk_out_main add more_sign varchar(2) + END +GO + + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_report_template') + begin + create table xk_report_template + ( + report_id bigint primary key identity(1,1), + report_no varchar(100) not null, + report_name varchar(500) not null, + report_size varchar(50), + create_time datetime, + update_time datetime + ) + ALTER TABLE xk_report_template ADD CONSTRAINT UQ_xk_report_template_reportNo UNIQUE(report_no); + end \ No newline at end of file