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/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; } 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 aa28075..e8727fd 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 @@ -238,23 +238,79 @@ public class ReportUtil { e.printStackTrace(); log.error("打印条码失败,参数{}",barCodeParam,e); } - String httpPath = getPrintURL(pdfName); + String httpPath = ""; + if(printURL == null || printURL.equals("")){ + httpPath = "http://"+ IpUtils.getHostIp() +":" + port + "/"+pdfName+".pdf"; + }else{ + httpPath = "http://"+ printURL +":" + port + "/"+pdfName+".pdf"; + } log.info("传给前端的pdf地址:{}",httpPath); return new Result("0","打印成功!",httpPath); } - public String getPrintURL(String pdfName){ - String httpPath = ""; - if(printURL == null || printURL.equals("")){ - httpPath = "http://"+ IpUtils.getHostIp() +":" + port + "/printPDF/"+pdfName+".pdf"; - }else{ - httpPath = "http://"+ printURL +":" + port + "/printPDF/"+pdfName+".pdf"; + /** + * 判断当前报告单是否使用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"; } - - return httpPath; } - /*** 获取服务器当前的数据库连接事务对象 * 通过@Qualifier获取实际当前连接事务对象,一般是DynamicDataSource * 传递服务器获取连接(使用 Spring 工具类确保连接与事务同步) 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..25aba4a --- /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