From 5e7149b552b2f7c70ae6aa4fc0d683253c8530cc Mon Sep 17 00:00:00 2001 From: tangw Date: Thu, 24 Jul 2025 17:55:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=A8=E8=AF=8A=E9=87=87=E8=A1=80=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=97=A8=E8=AF=8A=E7=97=85=E4=BA=BA=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lis-interfaceCommon/pom.xml | 9 +++- .../constants/LisinterfaceNameConstants.java | 3 +- .../interfaceCommon/mapper/ComOptMapper.java | 5 +- .../pojo/inter/GetReqInterface.java | 1 + .../utils/LisInterfaceUtil.java | 19 ++++++-- .../interfaceCommon/utils/ReportUtil.java | 6 --- lis-system/src/main/resources/application.yml | 4 +- .../controller/dict/DictController.java | 2 +- .../service/impl/ComDictServiceImpl.java | 3 +- .../czlis/mzcx/controller/MZCXController.java | 11 ++++- .../com/czlis/mzcx/pojo/OutPatListDTO.java | 18 +++++++ .../com/czlis/mzcx/service/MZCXService.java | 5 +- .../mzcx/service/impl/MZCXServiceImpl.java | 48 +++++++++++++++++-- pom.xml | 14 +++++- 14 files changed, 119 insertions(+), 29 deletions(-) create mode 100644 mzcx/src/main/java/com/czlis/mzcx/pojo/OutPatListDTO.java diff --git a/lis-interfaceCommon/pom.xml b/lis-interfaceCommon/pom.xml index 6ecc5c5..316bced 100644 --- a/lis-interfaceCommon/pom.xml +++ b/lis-interfaceCommon/pom.xml @@ -40,7 +40,14 @@ spring-boot-test test - + + net.sf.barcode4j + barcode4j-light + + + org.apache.xmlgraphics + batik-all + diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/LisinterfaceNameConstants.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/LisinterfaceNameConstants.java index f2d4c3c..2d0bee9 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/LisinterfaceNameConstants.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/constants/LisinterfaceNameConstants.java @@ -9,6 +9,7 @@ public class LisinterfaceNameConstants { public static final String SETREPORT = "setreport"; public static final String SETREQSTATUS = "setreqstatus"; public static final String DAYMESSAGE = "daymessage"; - + //获取门诊病人信息列表 + public static final String DAYMESSAGE_GETOUTPATLIST = "222"; public static final String DAYMESSAGE_GETPATIENT = "204"; } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java index 647b534..b31412a 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/ComOptMapper.java @@ -1,9 +1,10 @@ package com.czlis.interfaceCommon.mapper; import com.czlis.common.core.domain.entity.ComOpt; +import org.apache.ibatis.annotations.Param; public interface ComOptMapper { - ComOpt getComOptOne(String yq,String xxdh); - String getComOptValue(String yq,String xxdh); + ComOpt getComOptOne(@Param("yq") String yq,@Param("xxdh") String xxdh); + String getComOptValue(@Param("yq") String yq,@Param("xxdh") String xxdh); } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/inter/GetReqInterface.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/inter/GetReqInterface.java index a65757a..06bc458 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/inter/GetReqInterface.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/inter/GetReqInterface.java @@ -17,4 +17,5 @@ public class GetReqInterface { private String etime; private String bz1; private String sqh; + private String ip; } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisInterfaceUtil.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisInterfaceUtil.java index aac3cc4..3f42226 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisInterfaceUtil.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/utils/LisInterfaceUtil.java @@ -14,6 +14,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.HashMap; +import java.util.List; import java.util.Map; @@ -78,9 +79,9 @@ public class LisInterfaceUtil { String retMsg = String.valueOf(map.get("retmsg")); log.info("调用存储过程{}返回值:{},{}",type,retCode,retMsg); if(retCode.equals("0")){ - return new Result("0","调用接口成功!"); + return new Result("0","调用接口成功!",retMsg); }else{ - return new Result("-1","调用接口失败!"+retMsg); + return new Result(retCode,"调用接口失败!",retMsg); } } @@ -109,8 +110,18 @@ public class LisInterfaceUtil { e.printStackTrace(); log.error("调用lis的http接口出错:",e); } - - return new Result("0","调用接口成功!",retMsg); + String message=""; + String resultCode=""; + // 检查输入是否为空 + if (JSONUtil.isJson(retMsg)) { + JSONObject json = JSONUtil.parseObj(retMsg); + // 使用安全的方式获取值 + message = json.getStr("message"); + resultCode= json.getStr("resultCode"); + } else { + // 处理非JSON格式的情况 + } + return new Result(resultCode,"调用接口成功!",message); } 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 863e595..41ddef4 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 @@ -47,16 +47,12 @@ public class ReportUtil { parameters.put("barcode",mzBarCodeParam.getSqh()); parameters.put("line1",mzBarCodeParam.getBrxm() + " " + mzBarCodeParam.getBrxb() + " " + mzBarCodeParam.getNl()); parameters.put("line2",mzBarCodeParam.getSfxmmc()); - - //填充数据 JasperPrint jasperPrint = JasperFillManager.fillReport(jasperPath, parameters, new JREmptyDataSource()); - //输出文件 // String pdfPath = "E:\\barcode.pdf"; // JasperExportManager.exportReportToPdfFile(jasperPrint,pdfPath); // printPdfFile(pdfPath); - //打印条码 //JasperPrintManager.printReport(jasperPrint, false); print(jasperPrint,false, RuoYiConfig.getMzPrintName()); @@ -64,8 +60,6 @@ public class ReportUtil { e.printStackTrace(); log.error("打印条码报错,条码号:{}",mzBarCodeParam.getSqh(),e); } - - } /** diff --git a/lis-system/src/main/resources/application.yml b/lis-system/src/main/resources/application.yml index 1ae9566..07238b8 100644 --- a/lis-system/src/main/resources/application.yml +++ b/lis-system/src/main/resources/application.yml @@ -7,8 +7,8 @@ czlis: # 版权年份 copyrightYear: 2025 # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) - profile: D:/czlis/upload - mzPrintName: pdfFactory Pro + profile: E:\test + mzPrintName: Microsoft Print to PDF # 获取ip地址开关 addressEnabled: false # 验证码类型 math 数字计算 char 字符验证 diff --git a/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java b/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java index 77c9377..d4114f4 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/dict/DictController.java @@ -45,7 +45,7 @@ public class DictController extends BaseController { @ApiOperation("查询字典列表(不分页)") @GetMapping("/getComDicts") public Result getComDicts(String zdlb){ - log.info("调用查询字典列表不分页,{}",zdlb); + //log.info("调用查询字典列表不分页,{}",zdlb); return comDictService.getComDicts(zdlb); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java index 82a3922..5c96ddb 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/ComDictServiceImpl.java @@ -56,7 +56,8 @@ public class ComDictServiceImpl implements ComDictService { } @Override public Result getComDicts(String zdlb) { - return new Result("0", "成功!",getDictCache(zdlb)); + List comDictList = getDictCache(zdlb); + return new Result("0", "成功!",comDictList); } //根据编号查名称 public Result getComDictNameById(String zdlb,String zddh) { diff --git a/mzcx/src/main/java/com/czlis/mzcx/controller/MZCXController.java b/mzcx/src/main/java/com/czlis/mzcx/controller/MZCXController.java index 7b5fc32..bc5bc24 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/controller/MZCXController.java +++ b/mzcx/src/main/java/com/czlis/mzcx/controller/MZCXController.java @@ -34,9 +34,12 @@ public class MZCXController extends BaseController { @ApiOperation("获取申请单信息") @GetMapping("/querySQD") public Result querySQD(String brdh,String stime,String etime,String klx,String zt){ - return mzcxService.querySQD(brdh,stime,etime,klx,zt,getUserId()); + return mzcxService.querySQD(brdh,stime,etime,klx,zt); + } + @GetMapping("/queryPatList") + public Result queryPatList(){ + return mzcxService.queryPatList(); } - /** * 打印条码 * @param sqh @@ -46,4 +49,8 @@ public class MZCXController extends BaseController { public Result printSQD(String sqh){ return mzcxService.printSQD(sqh); } + @PostMapping("/printBarcode") + public Result printAll(@RequestBody List sqhs){ + return mzcxService.printAll(sqhs); + } } diff --git a/mzcx/src/main/java/com/czlis/mzcx/pojo/OutPatListDTO.java b/mzcx/src/main/java/com/czlis/mzcx/pojo/OutPatListDTO.java new file mode 100644 index 0000000..5aff3bf --- /dev/null +++ b/mzcx/src/main/java/com/czlis/mzcx/pojo/OutPatListDTO.java @@ -0,0 +1,18 @@ +package com.czlis.mzcx.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OutPatListDTO { + private String pid; + private String name; + private String xb; + private String nl; + private String ks; + private String ch; + +} diff --git a/mzcx/src/main/java/com/czlis/mzcx/service/MZCXService.java b/mzcx/src/main/java/com/czlis/mzcx/service/MZCXService.java index fba1765..7bf8b55 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/service/MZCXService.java +++ b/mzcx/src/main/java/com/czlis/mzcx/service/MZCXService.java @@ -6,7 +6,8 @@ import com.czlis.mzcx.pojo.MzcxSqdDTO; import java.util.List; public interface MZCXService { - Result querySQD(String brdh, String stime, String etime, String klx, String zt,Long userId); - + Result querySQD(String brdh, String stime, String etime, String klx, String zt ); + Result queryPatList(); Result printSQD(String sqh); + Result printAll(List sqhs); } diff --git a/mzcx/src/main/java/com/czlis/mzcx/service/impl/MZCXServiceImpl.java b/mzcx/src/main/java/com/czlis/mzcx/service/impl/MZCXServiceImpl.java index 68768bd..8dcb48e 100644 --- a/mzcx/src/main/java/com/czlis/mzcx/service/impl/MZCXServiceImpl.java +++ b/mzcx/src/main/java/com/czlis/mzcx/service/impl/MZCXServiceImpl.java @@ -1,12 +1,17 @@ package com.czlis.mzcx.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.XmlUtil; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.czlis.common.core.domain.Result; import com.czlis.common.core.domain.entity.LabReqdetail; import com.czlis.common.core.domain.entity.LabReqmain; +import com.czlis.common.utils.SecurityUtils; +import com.czlis.common.utils.ip.IpUtils; import com.czlis.interfaceCommon.constants.LisinterfaceNameConstants; import com.czlis.interfaceCommon.pojo.entity.MZBarCodeParam; +import com.czlis.interfaceCommon.pojo.inter.DayMessage; import com.czlis.interfaceCommon.pojo.inter.GetReqInterface; import com.czlis.interfaceCommon.utils.CommonUtil; import com.czlis.interfaceCommon.utils.LisInterfaceUtil; @@ -14,8 +19,11 @@ import com.czlis.interfaceCommon.utils.LisUtil; import com.czlis.interfaceCommon.utils.ReportUtil; import com.czlis.mzcx.mapper.MZCXMapper; import com.czlis.mzcx.pojo.MzcxSqdDTO; +import com.czlis.mzcx.pojo.OutPatListDTO; import com.czlis.mzcx.service.MZCXService; import lombok.extern.slf4j.Slf4j; +import nonapi.io.github.classgraph.json.JSONUtils; +import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,7 +44,7 @@ public class MZCXServiceImpl implements MZCXService { private CommonUtil commonUtil; @Override - public Result querySQD(String brdh, String stime, String etime, String klx,String zt,Long userId) { + public Result querySQD(String brdh, String stime, String etime, String klx,String zt) { GetReqInterface getReqInterface = new GetReqInterface(); getReqInterface.setBrdh(brdh); getReqInterface.setStime(stime); @@ -44,9 +52,10 @@ public class MZCXServiceImpl implements MZCXService { getReqInterface.setBrly(""); getReqInterface.setSqh(""); getReqInterface.setBz1(""); - getReqInterface.setUserid(userId.toString()); getReqInterface.setYljg("1"); getReqInterface.setDept(""); + getReqInterface.setUserid(SecurityUtils.getLoginUser().getUsername()); + getReqInterface.setIp(IpUtils.getIpAddr()); String jsonStr = JSONUtil.toJsonStr(getReqInterface); Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.GETREQINTERFACE, jsonStr); Map map = new HashMap<>(); @@ -56,9 +65,32 @@ public class MZCXServiceImpl implements MZCXService { map.put("klx", klx); map.put("zt",zt); map.put("as_yljg","1"); - return new Result("0","修改条码成功!",mzcxMapper.querySQD(map)); + return new Result("0","查询成功!",mzcxMapper.querySQD(map)); } + @Override + public Result queryPatList() { + DayMessage dayMessage = new DayMessage(); + dayMessage.setMsgid(LisinterfaceNameConstants.DAYMESSAGE_GETOUTPATLIST); + dayMessage.setMsg(""); + dayMessage.setIp(IpUtils.getIpAddr()); + dayMessage.setUserid(SecurityUtils.getLoginUser().getUsername()); + String jsonStr = JSONUtil.toJsonStr(dayMessage); + Result result = lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.DAYMESSAGE, jsonStr); + if (result != null && result.getData() != null) { + try { + JSONObject json=JSONUtil.parseFromXml(result.getData().toString()); + String listkey=json.keySet().iterator().next(); + JSONObject response=json.getJSONObject(listkey); + String infokey=response.keySet().iterator().next(); + List patientList=response.getBeanList(infokey, OutPatListDTO.class); + return new Result("0","查询成功!",patientList); + } catch (Exception e) { + log.error("XML转换outPatListDTO失败: {}", e.getMessage(), e); + } + } + return new Result("0","查询成功!",new OutPatListDTO()); + } @Override public Result printSQD(String sqh) { LabReqmain labReqmainOne = commonUtil.getLabReqmainOne(sqh); @@ -86,8 +118,14 @@ public class MZCXServiceImpl implements MZCXService { mzBarCodeParam.setBrxb(brxb); mzBarCodeParam.setSfxmmc(labReqmainOne.getJymd()); reportUtil.printBarCode(mzBarCodeParam); - return null; + return new Result("0","打印成功!"); + } + @Override + public Result printAll(List sqhs) { + for (String sqh : sqhs) { + printSQD(sqh); + } + return new Result("0","打印成功!"); } - } diff --git a/pom.xml b/pom.xml index d90e7c5..284e94d 100644 --- a/pom.xml +++ b/pom.xml @@ -33,7 +33,8 @@ 4.1.2 2.3 0.9.1 - + 2.0 + 1.16 5.8.37 1.18.26 3.0.3 @@ -312,7 +313,16 @@ ${barbecue.version} - + + net.sf.barcode4j + barcode4j-light + ${barcode4j.version} + + + org.apache.xmlgraphics + batik-all + ${batik.version} +