From b5f69f9a1838fd395588c858c62c9c12e9cdfb43 Mon Sep 17 00:00:00 2001 From: tangw Date: Tue, 21 Oct 2025 16:00:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/entity/lis/ComSeq.java | 18 ++++ .../core/domain/entity/lis/LabReqpack.java | 26 ++++++ .../interfaceCommon/mapper/ComSeqMapper.java | 7 ++ .../mapper/LabReqpackMapper.java | 10 +++ .../interfaceCommon/utils/CommonUtil.java | 28 ++++++ .../utils/PackBarcodeUtil.java | 87 +++++++++++++++++++ .../main/resources/mapper/ComSeqMapper.xml | 11 +++ .../resources/mapper/LabReqpackMapper.xml | 21 +++++ .../czlis/zycx/controller/ZycxController.java | 29 ++++++- 9 files changed, 233 insertions(+), 4 deletions(-) create mode 100644 lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComSeq.java create mode 100644 lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReqpack.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComSeqMapper.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqpackMapper.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/PackBarcodeUtil.java create mode 100644 lis-interfaceCommon/src/main/resources/mapper/ComSeqMapper.xml create mode 100644 lis-interfaceCommon/src/main/resources/mapper/LabReqpackMapper.xml diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComSeq.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComSeq.java new file mode 100644 index 0000000..09c7140 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/ComSeq.java @@ -0,0 +1,18 @@ +package com.czlis.common.core.domain.entity.lis; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ComSeq { + + private String seqid; + private long maxno; + private String bz; + + + +} diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReqpack.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReqpack.java new file mode 100644 index 0000000..e3113bb --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReqpack.java @@ -0,0 +1,26 @@ +package com.czlis.common.core.domain.entity.lis; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +@NoArgsConstructor +@AllArgsConstructor +@Data +public class LabReqpack { + + private String packno; + private Integer xh; + private String sqh; + private String ksdh; + private String packuser; + private Integer sl; + private String zt; + private Date packdate; + private Date senddate; + + + +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComSeqMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComSeqMapper.java new file mode 100644 index 0000000..5a7e220 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComSeqMapper.java @@ -0,0 +1,7 @@ +package com.czlis.interfaceCommon.mapper; + +import java.util.Map; + +public interface ComSeqMapper { + void getNextSeq(Map map); +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqpackMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqpackMapper.java new file mode 100644 index 0000000..551271c --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqpackMapper.java @@ -0,0 +1,10 @@ +package com.czlis.interfaceCommon.mapper; + +import com.czlis.common.core.domain.entity.lis.LabReqpack; +import java.util.List; +public interface LabReqpackMapper { + List getLabReqpack(String packno); + int getLabReqpackConut(String packno); + int insertLabReqpack(LabReqpack labReqpack); + int batchInsertLabReqpack(List labReqpackList); +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java index dd66fca..9a6b711 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/CommonUtil.java @@ -82,6 +82,10 @@ public class CommonUtil { LabGraphMapper labGraphMapper; @Autowired ComPatMapper comPatMapper; + @Autowired + ComSeqMapper comSeqMapper; + @Autowired + LabReqpackMapper labReqpackMapper; //====检验主表操作方法集合=== public LabPat getLabPatOne(Date jyrq, String yq, String ybh) { return labPatMapper.getLabPatOne(jyrq, yq, ybh); @@ -329,6 +333,21 @@ public class CommonUtil { public void delLabResultMedAll(Date jyrq, String yq, String ybh) { labResultMedMapper.delLabResultMedAll(jyrq, yq, ybh); } + //封箱 + public List getLabReqpack(String packno){ + return labReqpackMapper.getLabReqpack(packno); + } + public int getLabReqpackConut(String packno){ + return labReqpackMapper.getLabReqpackConut(packno); + } + @Transactional(rollbackFor = Exception.class) + public int insertLabReqpack(LabReqpack labReqpack){ + return labReqpackMapper.insertLabReqpack(labReqpack); + } + @Transactional(rollbackFor = Exception.class) + public int batchInsertLabReqpack(List labReqpackList){ + return labReqpackMapper.batchInsertLabReqpack(labReqpackList); + } //=====项目字典查询========= public List getXmInfoList(String yq) { return xmInfoMapper.getXmInfoList(yq); @@ -405,6 +424,15 @@ public class CommonUtil { public int getLabReport2(Date jyrq, String yq, String ybh) { return labReportvsitemMapper.getLabReport2(jyrq, yq, ybh); } + //获取流水号种子 + @Transactional(rollbackFor = Exception.class) + public Long getNextSeq(String seqid) { + Map param = new HashMap<>(); + param.put("seqid", seqid); + // 调用存储过程,出参将被设置到param的nextVal中 + comSeqMapper.getNextSeq(param); + return (Long) param.get("retcode"); + } //服务器时间方法 public Date getCurrentTime() { return commonMapper.getCurrentTime(); diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/PackBarcodeUtil.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/PackBarcodeUtil.java new file mode 100644 index 0000000..2095226 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/PackBarcodeUtil.java @@ -0,0 +1,87 @@ +package com.czlis.interfaceCommon.utils; + +import cn.hutool.core.date.DateUtil; +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.LabReqmain; +import com.czlis.common.core.domain.entity.lis.LabReqpack; +import com.czlis.common.utils.DateUtils; +import com.czlis.interfaceCommon.pojo.entity.BarCodeParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Map; + +@Component +@Slf4j +public class PackBarcodeUtil { + @Autowired + CommonUtil commonUtil; + @Autowired + private ReportUtil reportUtil; + /** + * 获取下一个箱码 + * @return + */ + public String getNextPackID(){ + String seqid="PACK"; + String head="88"+ DateUtils.dateTimeNow("yyMMdd"); + Long PackID=10000+commonUtil.getNextSeq(seqid); + String seqno=PackID.toString(); + if (seqno.length ()<4) return"9999"; + seqno.substring (seqno.length () - 4); + return head+seqno; + } + public Boolean checkPackID(String packID){ + int sl=commonUtil.getLabReqpackConut(packID); + if (sl>0) return true; + return false; + } + public Result checkpackid(String packid) { + if (packid.length() < 12) { + return new Result("1", "箱码非法,请输入正确的箱码!"); + } + if (!"88".equals(packid.substring(0, 2))) { + return new Result("1", "箱码非法,请输入正确的箱码!"); + } + boolean checked =checkPackID(packid); + if (checked) { + return new Result("1", "此箱码已使用过,不能重复使用,请换一个新的!"); + } + return new Result("0", ""); + } + public Result getpackreq(String sqh){ + LabReqmain labReqmain=commonUtil.getLabReqmainOne(sqh); + String zt=labReqmain.getZt(); + if(zt==null)return new Result("-1", "条码号错误"); + zt=zt.trim(); + switch (zt){ + case "1": + case "0": + return new Result("-1", "条码未打印"); + case "13": + return new Result("-1", "标本已送出"); + case "9": + return new Result("-1", "条码已作废"); + case "2": + case "3": + case "4": + return new Result("-1", "标本已接收"); + } + return new Result("0", "",labReqmain); + } + public Result printpackid(String ksmc){ + String packid=getNextPackID(); + BarCodeParam barCodeParam = new BarCodeParam(); + barCodeParam.setSqh(packid); + barCodeParam.setBrxm("检验样本"); + barCodeParam.setSfxmmc("样本数量____"); + barCodeParam.setKsmc(ksmc); + return reportUtil.printToPdf(barCodeParam, packid); + } + public Result packup(List labReqpacks){ + commonUtil.batchInsertLabReqpack(labReqpacks); + return new Result("0", ""); + } +} diff --git a/lis-interfaceCommon/src/main/resources/mapper/ComSeqMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/ComSeqMapper.xml new file mode 100644 index 0000000..48d5f06 --- /dev/null +++ b/lis-interfaceCommon/src/main/resources/mapper/ComSeqMapper.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabReqpackMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabReqpackMapper.xml new file mode 100644 index 0000000..74d8a9a --- /dev/null +++ b/lis-interfaceCommon/src/main/resources/mapper/LabReqpackMapper.xml @@ -0,0 +1,21 @@ + + + + + + + INSERT INTO lab_reqpack (packno,xh,sqh,ksdh,packuser,sl,zt,packdate,senddate) + values (#{packno}, #{xh}, #{sqh},#{ksdh}, #{packuser}, #{sl},#{zt}, #{packdate}, #{senddate}) + + + INSERT INTO lab_reqpack (packno,xh,sqh,ksdh,packuser,sl,zt,packdate,senddate) + + select #{item.packno},#{item.xh},#{item.sqh}, #{item.ksdh},#{item.packuser},#{item.sl}, #{item.zt},#{item.packdate},#{item.senddate} + + + \ No newline at end of file diff --git a/zycx/src/main/java/com/czlis/zycx/controller/ZycxController.java b/zycx/src/main/java/com/czlis/zycx/controller/ZycxController.java index 0b75258..f149ee3 100644 --- a/zycx/src/main/java/com/czlis/zycx/controller/ZycxController.java +++ b/zycx/src/main/java/com/czlis/zycx/controller/ZycxController.java @@ -4,6 +4,9 @@ import com.czlis.common.annotation.Anonymous; import com.czlis.common.core.controller.BaseController; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.lis.LabReqmain; +import com.czlis.common.core.domain.entity.lis.LabReqpack; +import com.czlis.common.core.domain.entity.lis.LabResult; +import com.czlis.interfaceCommon.utils.PackBarcodeUtil; import com.czlis.zycx.pojo.Web_getBarcode; import com.czlis.zycx.service.ZycxService; import io.swagger.annotations.Api; @@ -26,8 +29,8 @@ import java.util.List; public class ZycxController extends BaseController { @Autowired private ZycxService zycxService; - - + @Autowired + PackBarcodeUtil packBarcodeUtil; @ApiOperation("获取申请单") @GetMapping("/query") //@PreAuthorize("@ss.hasPermi('zycx:interface:query')") @@ -65,8 +68,26 @@ public class ZycxController extends BaseController { log.info("获取申请单主表数据,zyreq/reqmain:{}",labReqmain); return zycxService.getSQDMain(labReqmain); } - - + @ApiOperation("封箱码查询") + @GetMapping("/checkpackid") + public Result checkpackid(String packid){ + return packBarcodeUtil.checkpackid(packid); + } + @ApiOperation("获取封箱申请单信息") + @GetMapping("/getpackreq") + public Result getpackreq(String sqh){ + return packBarcodeUtil.getpackreq(sqh); + } + @ApiOperation("封箱申请单") + @PostMapping("/packup") + public Result packup(@RequestBody List labReqpacks){ + return packBarcodeUtil.packup(labReqpacks); + } + @ApiOperation("打印封箱码") + @GetMapping("/printpackid") + public Result printpackid(String ksmc){ + return packBarcodeUtil.printpackid(ksmc); + } @GetMapping("/test1") public Result test1(String sqh){ return zycxService.test1(sqh);