From 6999b92cf883d29c876a8a8588de66fa3b591d44 Mon Sep 17 00:00:00 2001 From: tangw Date: Fri, 19 Sep 2025 22:50:07 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=AE=B8=E5=8F=AF=E7=A0=81=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/entity/lis/LabReportvsitem.java | 16 +++++ .../core/domain/entity/lis/LabResultMed.java | 24 +++---- .../mapper/LabReportvsitemMapper.java | 10 +++ .../mapper/LabResultMedMapper.java | 12 ++++ .../interfaceCommon/utils/CommonUtil.java | 12 +++- .../interfaceCommon/utils/ReportUtil.java | 63 +++++++++++++++++++ .../mapper/LabReportvsitemMapper.xml | 27 ++++++++ .../main/resources/mapper/LabResultMapper.xml | 1 + .../resources/mapper/LabResultMedMapper.xml | 38 +++++++++++ .../controller/work/LisWorkController.java | 16 ++--- .../czlis/liswork/service/LisWorkService.java | 2 +- .../service/impl/LisWorkServiceImpl.java | 6 +- 12 files changed, 201 insertions(+), 26 deletions(-) create mode 100644 lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReportvsitem.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReportvsitemMapper.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMedMapper.java create mode 100644 lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml create mode 100644 lis-interfaceCommon/src/main/resources/mapper/LabResultMedMapper.xml diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReportvsitem.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReportvsitem.java new file mode 100644 index 0000000..65f2222 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabReportvsitem.java @@ -0,0 +1,16 @@ +package com.czlis.common.core.domain.entity.lis; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LabReportvsitem { + + private String yq; + private String xmdh; + private Integer bgdh; +} diff --git a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResultMed.java b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResultMed.java index fb1315a..a3a6e7b 100644 --- a/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResultMed.java +++ b/lis-common/src/main/java/com/czlis/common/core/domain/entity/lis/LabResultMed.java @@ -10,16 +10,16 @@ import java.util.Date; @AllArgsConstructor @NoArgsConstructor public class LabResultMed { - private Date jyrq; - private String yq; - private String ybh; - private String xmdh; - private String xh; - private String ywdh; - private String mic; - private String rad; - private String csjg; - private String jgbz; - private String bz; - private String txtresult; + private Date jyrq; + private String yq; + private String ybh; + private String xmdh; + private String xh; + private String ywdh; + private String mic; + private String rad; + private String csjg; + private String jgbz; + private String bz; + private String txtresult; } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReportvsitemMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReportvsitemMapper.java new file mode 100644 index 0000000..a1106fc --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReportvsitemMapper.java @@ -0,0 +1,10 @@ +package com.czlis.interfaceCommon.mapper; + +import org.apache.ibatis.annotations.Param; + +import java.util.Date; + +public interface LabReportvsitemMapper { + int getLabReportvsitemCount(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh")String ybh); + int getLabReport2(@Param("jyrq") Date jyrq, @Param("yq")String yq, @Param("ybh")String ybh); +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMedMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMedMapper.java new file mode 100644 index 0000000..81ade79 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabResultMedMapper.java @@ -0,0 +1,12 @@ +package com.czlis.interfaceCommon.mapper; + +import com.czlis.common.core.domain.entity.lis.LabResultMed; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; + +public interface LabResultMedMapper { + List getLabResultMed(@Param("jyrq")Date jyrq, @Param("yq")String yq, @Param("ybh")String ybh, @Param("xmdh")String xmdh); + int getLabResultMedCount(@Param("jyrq")Date jyrq, @Param("yq")String yq, @Param("ybh")String ybh); +} 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 8e99322..6ace15e 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 @@ -67,6 +67,10 @@ public class CommonUtil { LabResultlogMapper labResultlogMapper; @Autowired LabPatlogMapper labPatlogMapper; + @Autowired + LabResultMedMapper labResultMedMapper; + @Autowired + LabReportvsitemMapper labReportvsitemMapper; //====检验主表操作方法集合=== public LabPat getLabPatOne(Date jyrq, String yq, String ybh) { return labPatMapper.getLabPatOne(jyrq, yq, ybh); @@ -217,7 +221,9 @@ public class CommonUtil { public void insertLabPatlog(Date jyrq, String yq, String ybh,Date xgrq,String xgyhdh,String ip) { labPatlogMapper.insertLabPatlog(jyrq, yq, ybh,xgrq,xgyhdh,ip); } - + public int getLabResultMedCount(Date jyrq, String yq, String ybh) { + return labResultMedMapper.getLabResultMedCount(jyrq, yq, ybh); + } //=====项目字典查询========= public List getXmInfoList(String yq) { return xmInfoMapper.getXmInfoList(yq); @@ -291,7 +297,9 @@ public class CommonUtil { public List getLabInstrList(LabInstr labInstr) { return labInstrMapper.getLabInstrList(labInstr); } - + public int getLabReport2(Date jyrq, String yq, String ybh) { + return labReportvsitemMapper.getLabReport2(jyrq, yq, ybh); + } //服务器时间方法 public Date getCurrentTime() { return commonMapper.getCurrentTime(); diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/ReportUtil.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/ReportUtil.java index 48f88c3..aa9e577 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/ReportUtil.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/ReportUtil.java @@ -4,6 +4,7 @@ package com.czlis.interfaceCommon.utils; import cn.hutool.core.bean.BeanUtil; import com.czlis.common.config.RuoYiConfig; import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.lis.LabInstr; import com.czlis.common.utils.ip.IpUtils; import com.czlis.interfaceCommon.mapper.BackPaperMapper; import com.czlis.interfaceCommon.pojo.entity.BackPaperDetail; @@ -248,6 +249,68 @@ public class ReportUtil { return new Result("0","打印成功!",httpPath); } + /** + * 判断当前报告单是否使用A4报告单 + * @param jyrq + * @param yq + * @param ybh + * @return + */ + public String getReportPaperSize(Date jyrq,String yq,String ybh){ + //是否分A4,A5报告单 + String NOBOTH =commonUtil.getComOptValue(yq,"NOBOTH"); + //NOBOTH=0全部A5 + if("".equals(NOBOTH)||NOBOTH==null||"0".equals(NOBOTH)){ + return "A5"; + } + //NOBOTH=1全部A4 + if("1".equals(NOBOTH)){ + return "A4"; + } + //NOBOTH=2报告一A4,=3报告二A4 + //当前仪器是否开启双报告单模式,未开启则直接判断纸张 + String DOUBLEREPORT=commonUtil.getComOptValue(yq,"DOUBLEREPORT"); + if("".equals(DOUBLEREPORT)||DOUBLEREPORT==null||"0".equals(DOUBLEREPORT)){ + if("2".equals(NOBOTH)){ + return "A4"; + }else { + return "A5"; + } + } + //判断细菌仪使用的报告单模板 + String yqdl = commonUtil.getYqdl(yq); + if("细菌仪".equals(yqdl)){ + int ym=commonUtil.getLabResultMedCount(jyrq,yq,ybh); + if(ym>1){ + if("2".equals(NOBOTH)){ + return "A4"; + }else { + return "A5"; + } + }else{ + if("3".equals(NOBOTH)){ + return "A4"; + }else { + return "A5"; + } + } + } + //常规报告如果报告使用报告二模板,判断报告二是否A4 + int bg2=commonUtil.getLabReport2(jyrq,yq,ybh); + if(bg2>0){ + if("3".equals(NOBOTH)){ + return "A4"; + }else { + return "A5"; + } + } + //无任何设定则使用报告单一 + if("2".equals(NOBOTH)){ + return "A4"; + }else { + return "A5"; + } + } /*** 获取服务器当前的数据库连接事务对象 * 通过@Qualifier获取实际当前连接事务对象,一般是DynamicDataSource diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml new file mode 100644 index 0000000..82d4675 --- /dev/null +++ b/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + \ No newline at end of file diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml index 7542799..3e90a4c 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/LabResultMapper.xml @@ -19,6 +19,7 @@ + + select * + from lab_resultmed + + + and jyrq = #{jyrq} + + + and yq = #{yq} + + + and ybh = #{ybh} + + + and xmdh = #{xmdh} + + + + + \ No newline at end of file diff --git a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkController.java b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkController.java index 2c95340..3e1483e 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkController.java @@ -67,14 +67,14 @@ public class LisWorkController extends BaseController { */ @ApiOperation("获取样本列表") @GetMapping("/samplelist") - public Result getSampleList(Date jyrq,String yq,Long days){ - return lisWorkService.getSampleList(jyrq,yq,days); - } - // public TableDataInfo getsamplelist(Date jyrq, String yq, Long days) { - // startPage(); - // List labPatList = lisWorkService.getSampleList(jyrq, yq, days); - // return getDataTable(labPatList); - // } + // public Result getSampleList(Date jyrq,String yq,Long days){ + // return lisWorkService.getSampleList(jyrq,yq,days); + // } + public TableDataInfo getsamplelist(Date jyrq, String yq, Long days) { + startPage(); + List labPatList = lisWorkService.getSampleList(jyrq, yq, days); + return getDataTable(labPatList); + } /** * 获取普通样本信息 diff --git a/liswork/src/main/java/com/czlis/liswork/service/LisWorkService.java b/liswork/src/main/java/com/czlis/liswork/service/LisWorkService.java index 5c804fc..938d097 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/LisWorkService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/LisWorkService.java @@ -13,7 +13,7 @@ public interface LisWorkService { Result getInstrdList(Long userId); Result getGroupInstrdList(Long userId,String groupId); Result getInstrdConfig(String yq); - Result getSampleList(Date jyrq, String yq, Long days); + List getSampleList(Date jyrq, String yq, Long days); Result getLabPat(Date jyrq, String yq, String ybh); Result sampleMedInfo(Date jyrq, String yq, String ybh); Result checkUser(String yhdh, String mm); diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java index c7a65a8..1f9d2a1 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkServiceImpl.java @@ -64,13 +64,13 @@ public class LisWorkServiceImpl implements LisWorkService { } @Override - public Result getSampleList(Date jyrq, String yq, Long days) { + public List getSampleList(Date jyrq, String yq, Long days) { if(days>1) { List labPatListday = commonUtil.getSampleListday(yq, days); - return new Result("0", "获取样本数据成功!", labPatListday); + return labPatListday;//new Result("0", "获取样本数据成功!", labPatListday); }else { List labPatListday = commonUtil.getsamplelist(jyrq, yq); - return new Result("0", "获取样本数据成功!", labPatListday); + return labPatListday;//new Result("0", "获取样本数据成功!", labPatListday); } } @Override From 385d4167f64d74ff7a307d81e3e10aa08fbeac8f Mon Sep 17 00:00:00 2001 From: tangw Date: Fri, 19 Sep 2025 22:55:35 +0800 Subject: [PATCH 2/3] =?UTF-8?q?ReportUtil.getReportPaperSize=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E4=BB=BB=E6=84=8F=E4=B8=80=E4=B8=AA=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=8D=95=E4=BD=BF=E7=94=A8=E7=BA=B8=E5=BC=A0=E6=98=AFA5?= =?UTF-8?q?=E8=BF=98=E6=98=AFA4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/LabReportvsitemMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml index 82d4675..25aba4a 100644 --- a/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml +++ b/lis-interfaceCommon/src/main/resources/mapper/LabReportvsitemMapper.xml @@ -20,7 +20,7 @@ FROM lab_result join xm_info on xm_info.yq=lab_result.yq and xm_info.xmdh=lab_result.xmdh and xm_info.dylx !='3' join lab_instr on lab_instr.yq=lab_result.yq left join lab_reportvsitem on lab_result.yq = lab_reportvsitem.yq AND lab_result.xmdh = lab_reportvsitem.xmdh - left join com_rpt on dxmc=(select dxmc from com_rpt where bgdh=lab_instr.bgdh) and zdy=0 and com_rpt.bgdh in( 3,8,9,19,22,32,37,40,55) + left join com_rpt on dxmc=(select dxmc from com_rpt where bgdh=lab_instr.bgdh) and zdy=0 and com_rpt.bgdh in( 3,8,9,19,22,32,37,40,55,62) WHERE lab_result.jyrq =#{jyrq} AND lab_result.yq = #{yq} AND lab_result.ybh = #{ybh} ) a join lab_instr on lab_instr.yq=#{yq} where bg2xms>0 or (lab_instr.myhs1 is not null and lab_instr.myhs1>0 and sl>lab_instr.myhs*(case slbgd when 0 then 1 else 2 end)) From 54f40ff021e79a2a922a86e2d8209b4ed8d8f3af Mon Sep 17 00:00:00 2001 From: tangw Date: Sat, 20 Sep 2025 00:57:19 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=AE=B8=E5=8F=AF=E8=AF=81=E7=AE=97?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../interfaceCommon/utils/HaveRegUtils.java | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/HaveRegUtils.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/HaveRegUtils.java index 3d4a8f2..b875970 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/HaveRegUtils.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/HaveRegUtils.java @@ -54,29 +54,31 @@ public class HaveRegUtils { for (int i = 0; i < il_char.length; i++) { il_parm[il_i] = (int) (il_parm[il_i] + (il_char[i] * il_parm[il_i - 2]) / Math.sqrt(Math.abs(il_parm[il_i - 1]))); } - long[] serialnum={0,0,0,0,0}; - serialnum[1]=Math.abs(il_parm[il_i]); + int[] serialnum={0,0,0,0,0}; + serialnum[1]=Math.abs((int)il_parm[il_i]); il_i=4; for (int i = 0; i < il_char.length; i++) { il_parm[il_i] = (int) (il_parm[il_i] + (il_char[i] * il_parm[il_i - 1]) / Math.sqrt(Math.abs(il_parm[il_i - 2]))); } - serialnum[2]=Math.abs(il_parm[il_i]); + serialnum[2]=Math.abs((int)il_parm[il_i]); il_i=5; for (int i = 0; i < il_char.length; i++) { - il_parm[il_i] = (int) (il_parm[il_i] + il_char[i] * Math.sqrt(Math.abs(il_parm[il_i - 1] * il_parm[il_i - 2]))); + il_parm[il_i] = (int) (il_parm[il_i] + il_char[i] * Math.sqrt(Math.abs((int) il_parm[il_i - 1] * (int) il_parm[il_i - 2]))); } - serialnum[3]=Math.abs(il_parm[il_i]); + serialnum[3]=Math.abs((int)il_parm[il_i]); il_i=6; for (int i = 0; i < il_char.length; i++) { il_parm[il_i] = (int) (il_parm[il_i] + Math.log(Math.abs(il_char[i])) * Math.sqrt(Math.abs(il_parm[il_i - 1]) * LisUtil.logten(Math.abs(il_parm[il_i - 2])))); } - serialnum[4]=Math.abs(il_parm[il_i]); - double com_sum=serialnum[1]+serialnum[2]+serialnum[3]+serialnum[4]; - double com_sub=Math.abs(serialnum[2] * serialnum[3] - serialnum[1] * serialnum[4] ); - double num1=Math.sqrt(Math.abs( serialnum[1] - serialnum[4] ) * Math.abs( serialnum[2] + serialnum[3] )) * 3412.971; - double num2=Math.log( com_sum * com_sub ) * 9134.176; - String sn1=RightA(String.format("%05d",(num1+ num2) * 2 - Math.sqrt(Math.abs(num1* num2)) ),5); - String sn2=RightA(String.format("%05d", num2 + num1 ),5); + serialnum[4]=Math.abs((int)il_parm[il_i]); + long com_sum=serialnum[1]+serialnum[2]+serialnum[3]+serialnum[4]; + long com_sub=Math.abs((long)serialnum[2] * (long)serialnum[3] - (long)serialnum[1] * (long)serialnum[4] ); + double num1=Math.sqrt(Math.abs( (long)serialnum[1] - (long)serialnum[4] ) * Math.abs( (long)serialnum[2] + (long)serialnum[3] )) * 3412.971; + double num2=(Math.log(com_sum)+ Math.log(com_sub )) * 9134.176; + double snn=(num1+ num2) * 2 - Math.sqrt(Math.abs(num1* num2)); + String sn1=RightA("00000"+String.format("%.0f", snn),5); + + String sn2=RightA("00000"+String.format("%.0f", num1+num2),5); String sn=Mid(sn2,2,1) + Mid(sn1,1,1) + Mid(sn1,5,1) + Mid(sn1,4,1) + Mid(sn2,3,1) + Mid(sn1,2,1) + Mid(sn2,1,1) + Mid(sn2,5,1) + Mid(sn2,4,1) + Mid(sn1,3,1); return sn; }