From 7f96cb848b682b1190cb3b3321e586e820cc70e0 Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Fri, 4 Sep 2026 14:46:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=B3=BB=E7=BB=9F=EF=BC=8C?= =?UTF-8?q?=E4=B8=B4=E5=BA=8A=E5=8F=91=E8=A1=80=E9=80=80=E8=A1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BloodInterfaceTypeConstants.java | 4 + .../bus/constants/BloodSysLogConstants.java | 1 + .../bus/mapper/XkBackinDetailMapper.java | 2 + .../bus/mapper/XkBackinMainMapper.java | 3 + .../bus/mapper/XkChargeDetailMapper.java | 3 + .../bus/mapper/XkChargeItemMapper.java | 10 + .../bus/mapper/XkChargeMainMapper.java | 1 + .../czblood/bus/mapper/XkMsgMainMapper.java | 3 + .../czblood/bus/mapper/XkOutDetailMapper.java | 1 + .../com/czblood/bus/pojo/XkBackinMain.java | 2 + .../com/czblood/bus/pojo/XkChargeItem.java | 49 ++++ .../bus/pojo/inter/BloodBackAuditRequest.java | 23 ++ .../resources/mapper/XkBackinDetailMapper.xml | 9 + .../resources/mapper/XkBackinMainMapper.xml | 47 ++++ .../resources/mapper/XkChargeDetailMapper.xml | 6 + .../main/resources/mapper/XkChargeItem.xml | 24 ++ .../resources/mapper/XkChargeMainMapper.xml | 23 ++ .../main/resources/mapper/XkMsgMainMapper.xml | 7 + .../resources/mapper/XkOutDetailMapper.xml | 17 ++ .../controller/BackinController.java | 54 ++++- .../controller/MsgController.java | 7 + .../busBloodbank/mapper/BackinMapper.java | 3 +- .../busBloodbank/pojo/DTO/BackinDataDTO.java | 18 ++ .../busBloodbank/pojo/VO/BackinQueryVO.java | 15 ++ .../busBloodbank/pojo/VO/MsgBatchVO.java | 18 ++ .../busBloodbank/service/BackinService.java | 10 + .../busBloodbank/service/MsgService.java | 2 + .../service/impl/BackinServiceImpl.java | 216 +++++++++++++++++- .../service/impl/MsgServiceImpl.java | 11 + .../main/resources/mapper/BackinMapper.xml | 16 ++ sql/updatedb_blood.sql | 39 +++- sql/updatedb_blood_pk.sql | 13 ++ 32 files changed, 648 insertions(+), 9 deletions(-) create mode 100644 blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeItemMapper.java create mode 100644 blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeItem.java create mode 100644 blood_bus/src/main/java/com/czblood/bus/pojo/inter/BloodBackAuditRequest.java create mode 100644 blood_bus/src/main/resources/mapper/XkChargeItem.xml create mode 100644 blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/DTO/BackinDataDTO.java create mode 100644 blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/BackinQueryVO.java create mode 100644 blood_bus_bloodbank/src/main/java/com/czblood/busBloodbank/pojo/VO/MsgBatchVO.java 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 d71b7a1..ff4bd1d 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 @@ -66,5 +66,9 @@ public class BloodInterfaceTypeConstants { * 临床发血审核 */ public static final String BLOOD_OUT_AUDIT = "BLOOD_OUT_AUDIT"; + /** + * 临床发血退血审核 + */ + public static final String BLOOD_BACK_AUDIT = "BLOOD_BACK_AUDIT"; } diff --git a/blood_bus/src/main/java/com/czblood/bus/constants/BloodSysLogConstants.java b/blood_bus/src/main/java/com/czblood/bus/constants/BloodSysLogConstants.java index aaef2ad..48a6fa8 100644 --- a/blood_bus/src/main/java/com/czblood/bus/constants/BloodSysLogConstants.java +++ b/blood_bus/src/main/java/com/czblood/bus/constants/BloodSysLogConstants.java @@ -16,4 +16,5 @@ public class BloodSysLogConstants { public static final String LOG_TYPE_CHECK_BLOOD_TYPE = "血型复核"; public static final String LOG_TYPE_MATCH_BLOOD = "交叉配血"; public static final String LOG_TYPE_BLOOD_OUT = "临床发血"; + public static final String LOG_TYPE_BLOOD_BACK = "临床发血退血"; } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinDetailMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinDetailMapper.java index 0604504..a251831 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinDetailMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinDetailMapper.java @@ -6,4 +6,6 @@ import java.util.List; public interface XkBackinDetailMapper { List queryListByBillNo(String billNo); + void insert(XkBackinDetail xkBackinDetail); + void deleteByBillNo(String billNo); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinMainMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinMainMapper.java index c8f5a87..77a1791 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinMainMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkBackinMainMapper.java @@ -7,4 +7,7 @@ import java.util.List; public interface XkBackinMainMapper { List queryList(XkBackinMain xkBackinMain); XkBackinMain queryOne(String billNo); + void insert(XkBackinMain xkBackinMain); + void update(XkBackinMain xkBackinMain); + void deleteByBillNo(String billNo); } 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 index 16bfdcc..3961fe8 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeDetailMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeDetailMapper.java @@ -1,5 +1,8 @@ package com.czblood.bus.mapper; +import com.czblood.bus.pojo.XkChargeDetail; + public interface XkChargeDetailMapper { void deleteByBillNo(String bill_no); + void insert(XkChargeDetail xkChargeDetail); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeItemMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeItemMapper.java new file mode 100644 index 0000000..89ccdcf --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeItemMapper.java @@ -0,0 +1,10 @@ +package com.czblood.bus.mapper; + +import com.czblood.bus.pojo.XkChargeItem; + +import java.util.List; + +public interface XkChargeItemMapper { + List queryList(XkChargeItem xkChargeItem); + XkChargeItem queryOne(String item_id); +} 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 index 65549a1..86a3db3 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeMainMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkChargeMainMapper.java @@ -8,4 +8,5 @@ import java.util.List; public interface XkChargeMainMapper { void deleteByBillNo(String bill_no); List queryList(XkChargeMain xkChargeMain); + void insert(XkChargeMain xkChargeMain); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkMsgMainMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkMsgMainMapper.java index d4a0574..aa344ec 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkMsgMainMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkMsgMainMapper.java @@ -1,7 +1,9 @@ package com.czblood.bus.mapper; import com.czblood.bus.pojo.XkMsgMain; +import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; public interface XkMsgMainMapper { @@ -10,4 +12,5 @@ public interface XkMsgMainMapper { List queryList(XkMsgMain msgMain); void update(XkMsgMain msgMain); int queryNoReadCount(); + void batchUpdateFlag(@Param("msgVOList") List msgVOList,@Param("accept_Person") String accept_Person,@Param("accept_Date") Date accept_Date); } diff --git a/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutDetailMapper.java b/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutDetailMapper.java index ccaf98f..ae1890a 100644 --- a/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutDetailMapper.java +++ b/blood_bus/src/main/java/com/czblood/bus/mapper/XkOutDetailMapper.java @@ -9,4 +9,5 @@ public interface XkOutDetailMapper { void insert(XkOutDetail xkOutDetail); void deleteByBillNo(String billNo); List queryList(XkOutDetail xkOutDetail); + void update(XkOutDetail xkOutDetail); } diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkBackinMain.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkBackinMain.java index 28183fc..8baa7a8 100644 --- a/blood_bus/src/main/java/com/czblood/bus/pojo/XkBackinMain.java +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkBackinMain.java @@ -34,4 +34,6 @@ public class XkBackinMain { @ApiModelProperty("审核日期") private Date audit_date; private String remark; + @ApiModelProperty("收费退血单号") + private String charge_billno; } diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeItem.java b/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeItem.java new file mode 100644 index 0000000..ba3b1fd --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/XkChargeItem.java @@ -0,0 +1,49 @@ +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.math.BigDecimal; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@ApiModel("收费项目") +public class XkChargeItem { + @ApiModelProperty("收费项目编号") + private String item_id; + @ApiModelProperty("收费项目名称") + private String item_name; + @ApiModelProperty("收费金额") + private BigDecimal money; + @ApiModelProperty("收费规格") + private BigDecimal spec; + @ApiModelProperty("收费单位") + private String Unit; + @ApiModelProperty("模块编号") + private String module_code; + @ApiModelProperty("对应his项目编号") + private String his_code; + @ApiModelProperty("对应血液品种") + private String blood_breed; + @ApiModelProperty("对应RH血型") + private String rh_blood_type; + @ApiModelProperty("对应项目") + private String cure_item; + @ApiModelProperty("收费类型") + private String charge_type; + @ApiModelProperty("使用标志") + private String use_sign; + @ApiModelProperty("对应his项目名称") + private String his_item_name; + @ApiModelProperty("对应his项目规格") + private String his_spec; + private String py; + @ApiModelProperty("对应his项目收费类型") + private String his_charge_type; + @ApiModelProperty("模块类型") + private String module_type; +} diff --git a/blood_bus/src/main/java/com/czblood/bus/pojo/inter/BloodBackAuditRequest.java b/blood_bus/src/main/java/com/czblood/bus/pojo/inter/BloodBackAuditRequest.java new file mode 100644 index 0000000..eaa5eb5 --- /dev/null +++ b/blood_bus/src/main/java/com/czblood/bus/pojo/inter/BloodBackAuditRequest.java @@ -0,0 +1,23 @@ +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 BloodBackAuditRequest implements BloodInterfaceType { + private final String method = BloodInterfaceTypeConstants.BLOOD_BACK_AUDIT; + /** + * 单据编号 + */ + private String billNo; + + @Override + public String serializationJson() { + return JSONUtil.toJsonStr(this); + } +} diff --git a/blood_bus/src/main/resources/mapper/XkBackinDetailMapper.xml b/blood_bus/src/main/resources/mapper/XkBackinDetailMapper.xml index 1bb180e..5444562 100644 --- a/blood_bus/src/main/resources/mapper/XkBackinDetailMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkBackinDetailMapper.xml @@ -2,6 +2,15 @@ + + insert into xk_backin_detail ( + bill_no,sid,blood_no,price,reason,product_no + )values( + #{bill_no},#{sid},#{blood_no},#{price},#{reason},#{product_no}) + + + delete from xk_backin_detail where bill_no = #{billNo} + select * from xk_backin_main diff --git a/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml b/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml index 9621de2..6ae56e3 100644 --- a/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkChargeDetailMapper.xml @@ -2,6 +2,12 @@ + + insert into xk_charge_detail( + bill_no,sid,serial_number,price,number,sum,remark,item_name,spec,charge_type,unit,charge_flag,blood_no,product_no + )values( + #{bill_no},#{sid},#{serial_number},#{price},#{number},#{sum},#{remark},#{item_name},#{spec},#{charge_type},#{unit},#{charge_flag},#{blood_no},#{product_no}) + delete from xk_charge_detail where bill_no = #{bill_no} diff --git a/blood_bus/src/main/resources/mapper/XkChargeItem.xml b/blood_bus/src/main/resources/mapper/XkChargeItem.xml new file mode 100644 index 0000000..0137ceb --- /dev/null +++ b/blood_bus/src/main/resources/mapper/XkChargeItem.xml @@ -0,0 +1,24 @@ + + + + + + + \ 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 index 0f8e440..59e4d27 100644 --- a/blood_bus/src/main/resources/mapper/XkChargeMainMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkChargeMainMapper.xml @@ -2,6 +2,29 @@ + + insert into xk_charge_main ( + relative_billno, + remark, + send_flag, + check_sign, + last_modified, + send_time, + read_time, + read_flag, + bill_no,beinhos_id,occur_date,handle_person + )values( + #{relative_billno}, + #{remark}, + #{send_flag}, + #{check_sign}, + #{last_modified}, + #{send_time}, + #{read_time}, + #{read_flag}, + #{bill_no},#{beinhos_id},#{occur_date},#{handle_person} + ) + delete from xk_charge_main where bill_no = #{bill_no} diff --git a/blood_bus/src/main/resources/mapper/XkMsgMainMapper.xml b/blood_bus/src/main/resources/mapper/XkMsgMainMapper.xml index e5d6ea6..16c4b81 100644 --- a/blood_bus/src/main/resources/mapper/XkMsgMainMapper.xml +++ b/blood_bus/src/main/resources/mapper/XkMsgMainMapper.xml @@ -38,6 +38,13 @@ Msg_Type = #{msg_Type} where msgid = #{msgid} + + update xk_msg_main set Read_Flag = 'Y', accept_Person = #{accept_Person}, accept_Date = #{accept_Date} + where msgid in + + #{msgid} + + + \ No newline at end of file diff --git a/sql/updatedb_blood.sql b/sql/updatedb_blood.sql index d7714b4..25927b9 100644 --- a/sql/updatedb_blood.sql +++ b/sql/updatedb_blood.sql @@ -364,6 +364,19 @@ if not exists(select 1 from dbo.xk_dmzd where wordbook_sign = 'BASE') ('zccc','C','血液中心配血','Y'), ('zccc','W','未做','Y') + insert into xk_dmzd(wordbook_sign,wordbook_code,wordbook_name,use_sign) values('BASE','moduletype','收费模块','Y') + insert into xk_dmzd(wordbook_sign,wordbook_code,wordbook_name,use_sign) values + ('moduletype','001','血型复核','Y'), + ('moduletype','002','交叉配血','Y'), + ('moduletype','003','临床发血','Y'), + ('moduletype','004','紧急配血','Y'), + ('moduletype','005','紧急发血','Y'), + ('moduletype','006','自体血登记','Y'), + ('moduletype','007','输血治疗登记','Y'), + ('moduletype','008','自体血出库','Y'), + ('moduletype','009','血型检定','Y'), + ('moduletype','010','其他实验','Y'), + ('moduletype','011','HIS收费字典','Y') END if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_transfuse_apply_before' AND COLUMN_NAME = 'bill_status') @@ -502,4 +515,28 @@ go ALTER TABLE xk_msg_detail ADD msgid bigint primary key; go ALTER TABLE xk_msg_detail ALTER COLUMN sid int null ; -go \ No newline at end of file +go + + + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_charge_item' AND COLUMN_NAME = 'module_type') + BEGIN + alter table xk_charge_item add module_type varchar(10) + END +GO + + + + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'sys_menu' AND COLUMN_NAME = 'module_type') + BEGIN + alter table sys_menu add module_type varchar(10) + END +GO + + +if not exists(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'xk_backin_main' AND COLUMN_NAME = 'charge_billno') + BEGIN + alter table xk_backin_main add charge_billno varchar(20) + END +GO \ No newline at end of file diff --git a/sql/updatedb_blood_pk.sql b/sql/updatedb_blood_pk.sql index 13d74d1..52dfb70 100644 --- a/sql/updatedb_blood_pk.sql +++ b/sql/updatedb_blood_pk.sql @@ -201,3 +201,16 @@ IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_backin_deta ALTER TABLE xk_backin_detail ADD CONSTRAINT PK_xk_backin_detail PRIMARY KEY CLUSTERED (bill_no,blood_no,product_no); END GO + +IF NOT EXISTS (SELECT 1 FROM sys.key_constraints WHERE name = 'PK_xk_charge_item' AND type = 'PK' ) + BEGIN + ALTER TABLE xk_charge_item ADD CONSTRAINT PK_xk_charge_item PRIMARY KEY CLUSTERED (item_id); + END +GO + +-- 更新module_type字段 +update xk_charge_item set module_type = '001' where module_code = '0202' +update xk_charge_item set module_type = '002' where module_code = '0203' +update xk_charge_item set module_type = '004' where module_code = '0204' +update xk_charge_item set module_type = '003' where module_code = '0501' +update xk_charge_item set module_type = '006' where module_code = '0302'