From 846ebff8ec5fb2efa1ec4bbaca2a7958a0b6fddf Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Fri, 27 Jun 2025 13:05:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E7=95=8C=E9=9D=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/LisinterfaceNameConstants.java | 12 ++++ .../mapper/LabReqmainMapper.java | 3 + .../interfaceCommon/pojo/DayMessage.java | 17 +++++ .../interfaceCommon/pojo/GetReqInterface.java | 20 ++++++ .../czlis/interfaceCommon/pojo/SetDict.java | 16 +++++ .../czlis/interfaceCommon/pojo/SetReport.java | 18 ++++++ .../interfaceCommon/pojo/SetReqStatus.java | 16 +++++ .../interfaceCommon/utils/CommonUtil.java | 9 ++- .../utils/LisInterfaceUtil.java | 51 ++++++++++----- .../resources/mapper/LabReqmainMapper.xml | 12 ++++ .../work/LisWorkOperController.java | 24 +++++++ .../work/LisWorkPageInfoController.java | 3 +- .../liswork/mapper/LisWorkOperMapper.java | 4 ++ .../liswork/mapper/LisWorkPageInfoMapper.java | 1 + .../liswork/service/LisWorkOperService.java | 7 +++ .../service/LisWorkPageInfoService.java | 1 + .../service/impl/LisWorkOperServiceImpl.java | 63 +++++++++++++++++++ .../impl/LisWorkPageInfoServiceImpl.java | 6 ++ .../com/czlis/liswork/utils/LisWorkUtil.java | 9 +++ .../mapper/LisWorkPageInfoMapper.xml | 24 +++++++ 20 files changed, 300 insertions(+), 16 deletions(-) create mode 100644 lis-common/src/main/java/com/czlis/common/constant/LisinterfaceNameConstants.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/DayMessage.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/GetReqInterface.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetDict.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReport.java create mode 100644 lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReqStatus.java create mode 100644 lis-interfaceCommon/src/main/resources/mapper/LabReqmainMapper.xml create mode 100644 liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java create mode 100644 liswork/src/main/java/com/czlis/liswork/mapper/LisWorkOperMapper.java create mode 100644 liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java create mode 100644 liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java create mode 100644 liswork/src/main/java/com/czlis/liswork/utils/LisWorkUtil.java diff --git a/lis-common/src/main/java/com/czlis/common/constant/LisinterfaceNameConstants.java b/lis-common/src/main/java/com/czlis/common/constant/LisinterfaceNameConstants.java new file mode 100644 index 0000000..8768e29 --- /dev/null +++ b/lis-common/src/main/java/com/czlis/common/constant/LisinterfaceNameConstants.java @@ -0,0 +1,12 @@ +package com.czlis.common.constant; + +/** + * 接口名称常量类 + */ +public class LisinterfaceNameConstants { + public static final String GETREQINTERFACE = "getreqinterface"; + public static final String SETDICT = "setdict"; + public static final String SETREPORT = "setreport"; + public static final String SETREQSTATUS = "setreqstatus"; + public static final String DAYMESSAGE = "daymessage"; +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqmainMapper.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqmainMapper.java index 6351d1d..5853ab1 100644 --- a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqmainMapper.java +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/mapper/LabReqmainMapper.java @@ -1,4 +1,7 @@ package com.czlis.interfaceCommon.mapper; +import com.czlis.common.core.domain.entity.LabReqmain; + public interface LabReqmainMapper { + LabReqmain getLabReqmainOne(String sqh); } diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/DayMessage.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/DayMessage.java new file mode 100644 index 0000000..9413e16 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/DayMessage.java @@ -0,0 +1,17 @@ +package com.czlis.interfaceCommon.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class DayMessage { + private String ip; + private String userid; + private String msgid; + private String msg; + private String yljg; + +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/GetReqInterface.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/GetReqInterface.java new file mode 100644 index 0000000..0bf9e07 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/GetReqInterface.java @@ -0,0 +1,20 @@ +package com.czlis.interfaceCommon.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class GetReqInterface { + private String yljg; + private String brdh; + private String brly; + private String dept; + private String userid; + private String stime; + private String etime; + private String bz1; + private String sqh; +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetDict.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetDict.java new file mode 100644 index 0000000..7db2deb --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetDict.java @@ -0,0 +1,16 @@ +package com.czlis.interfaceCommon.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SetDict { + private String ip; + private String userid; + private String zdlb; + private String yljg; + +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReport.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReport.java new file mode 100644 index 0000000..fdaf8ec --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReport.java @@ -0,0 +1,18 @@ +package com.czlis.interfaceCommon.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SetReport { + private String ip; + private String userid; + private String yq; + private String jyrq; + private String ybh; + private String status; + +} diff --git a/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReqStatus.java b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReqStatus.java new file mode 100644 index 0000000..8cd7d39 --- /dev/null +++ b/lis-interfaceCommon/src/main/java/com/czlis/interfaceCommon/pojo/SetReqStatus.java @@ -0,0 +1,16 @@ +package com.czlis.interfaceCommon.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SetReqStatus { + private String ip; + private String userid; + private String sqh; + private String status; + +} 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 854bea2..e0e8e04 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 @@ -1,8 +1,10 @@ package com.czlis.interfaceCommon.utils; import com.czlis.common.core.domain.entity.LabPat; +import com.czlis.common.core.domain.entity.LabReqmain; import com.czlis.interfaceCommon.mapper.ComOptMapper; import com.czlis.interfaceCommon.mapper.LabPatMapper; +import com.czlis.interfaceCommon.mapper.LabReqmainMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -15,7 +17,8 @@ public class CommonUtil { LabPatMapper labPatMapper; @Autowired ComOptMapper comOptMapper; - + @Autowired + LabReqmainMapper labReqmainMapper; public LabPat getLabPatOne(Date jyrq, String yq, String ybh){ return labPatMapper.getLabPatOne(jyrq, yq, ybh); @@ -24,4 +27,8 @@ public class CommonUtil { public String getComOptValue(String yq,String xxdh){ return comOptMapper.getComOptValue(yq,xxdh); } + + public LabReqmain getLabReqmainOne(String sqh){ + return labReqmainMapper.getLabReqmainOne(sqh); + } } 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 2b59e98..bfea642 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 @@ -1,34 +1,46 @@ package com.czlis.interfaceCommon.utils; +import cn.hutool.core.util.XmlUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.czlis.common.config.RuoYiConfig; +import com.czlis.common.constant.LisinterfaceNameConstants; import com.czlis.common.core.domain.Result; import com.czlis.interfaceCommon.mapper.LisInterfaceMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; + @Slf4j @Component public class LisInterfaceUtil { @Resource LisInterfaceMapper lisInterfaceMapper; + @Resource + CommonUtil commonUtil; + /** + * + * @param type + * @param inValue + * @return + */ public Result invokeLisInterface(String type,String inValue) { - String interfaceType = RuoYiConfig.getInterfaceType(); + String interfaceType = commonUtil.getComOptValue("HISOPT","SP_INTER"); switch (interfaceType){ - case "1": //存储过程 + case "2": //存储过程 return invokeSP(type, inValue); - case "2": //http方式 + case "3": //http方式 return invokeHttp(type, inValue); } - return new Result("-1","无效的接口方式,请检查配置文件的interfaceType!!"); + return new Result("-1","无效的接口方式,请检查参数设置!!"); } /** @@ -37,26 +49,28 @@ public class LisInterfaceUtil { * @param inValue * @return */ - @Transactional(rollbackFor = Exception.class) - public Result invokeSP(String type,String inValue){ + //@Transactional(rollbackFor = Exception.class) + private Result invokeSP(String type,String inValue){ Map map = new HashMap<>(); - map.put("invalue",inValue); + //为了兼容老接口,存储过程方式使用的是xml,这里需要把入参转成xml格式 + String xmlStr = changeXml(inValue); + map.put("invalue",xmlStr); map.put("retcode",""); map.put("retmsg",""); switch (type){ - case "getreqinterface": + case LisinterfaceNameConstants.GETREQINTERFACE: lisInterfaceMapper.sp_lis_getreqinterface(map); break; - case "setdict": + case LisinterfaceNameConstants.SETDICT: lisInterfaceMapper.sp_lis_setdict(map); break; - case "setreport": + case LisinterfaceNameConstants.SETREPORT: lisInterfaceMapper.sp_lis_setreport(map); break; - case "setreqstatus": + case LisinterfaceNameConstants.SETREQSTATUS: lisInterfaceMapper.sp_lis_setreqstatus(map); break; - case "daymessage": + case LisinterfaceNameConstants.DAYMESSAGE: lisInterfaceMapper.sp_lis_daymessage(map); break; } @@ -76,7 +90,7 @@ public class LisInterfaceUtil { * @param jsonStr * @return */ - public Result invokeHttp(String transCode,String jsonStr){ + private Result invokeHttp(String transCode,String jsonStr){ String interfaceUrl = RuoYiConfig.getInterfaceUrl(); if(interfaceUrl == null || "".equals(interfaceUrl)) return new Result("-1","没有配置地址,请检查interfaceUrl配置项!!!"); interfaceUrl = interfaceUrl+"/"+transCode; @@ -98,5 +112,14 @@ public class LisInterfaceUtil { return new Result("0","调用接口成功!",retMsg); } + + + public String changeXml(String inValue){ + JSONObject jsonObj = JSONUtil.parseObj(inValue); + Map map = jsonObj.toBean(Map.class); + return XmlUtil.mapToXmlStr(map, "Request"); + + } + } diff --git a/lis-interfaceCommon/src/main/resources/mapper/LabReqmainMapper.xml b/lis-interfaceCommon/src/main/resources/mapper/LabReqmainMapper.xml new file mode 100644 index 0000000..00aeb49 --- /dev/null +++ b/lis-interfaceCommon/src/main/resources/mapper/LabReqmainMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java new file mode 100644 index 0000000..912777d --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkOperController.java @@ -0,0 +1,24 @@ +package com.czlis.liswork.controller.work; + +import com.czlis.common.core.domain.Result; +import com.czlis.liswork.service.LisWorkOperService; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/lisworkoper") +public class LisWorkOperController { + + @Autowired + private LisWorkOperService lisWorkOperService; + + + @ApiOperation(("新增病人信息")) + @GetMapping("/newpat") + public Result newPatInfo(String sqh){ + return lisWorkOperService.newPatInfo(sqh); + } +} diff --git a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkPageInfoController.java b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkPageInfoController.java index f1139d2..0e166ab 100644 --- a/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkPageInfoController.java +++ b/liswork/src/main/java/com/czlis/liswork/controller/work/LisWorkPageInfoController.java @@ -49,9 +49,10 @@ public class LisWorkPageInfoController { return lisWorkPageInfoService.getReqdetail(jyrq,yq,ybh); } + @ApiOperation("获取标本流转信息") @GetMapping("/reqinfo") public Result getReqInfo(Date jyrq,String yq,String ybh){ - return null; + return lisWorkPageInfoService.getReqInfo(jyrq,yq,ybh); } diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkOperMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkOperMapper.java new file mode 100644 index 0000000..fdc8842 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkOperMapper.java @@ -0,0 +1,4 @@ +package com.czlis.liswork.mapper; + +public interface LisWorkOperMapper { +} diff --git a/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkPageInfoMapper.java b/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkPageInfoMapper.java index ec71dac..0f42d55 100644 --- a/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkPageInfoMapper.java +++ b/liswork/src/main/java/com/czlis/liswork/mapper/LisWorkPageInfoMapper.java @@ -18,4 +18,5 @@ public interface LisWorkPageInfoMapper { List getRedo(Date jyrq, String yq, String ybh); List> getReqdetail(String sqh); List> getOtherinstr(Date dayStart, DateTime dayEnd, String brdh, String brxm); + List> getReqInfo(Date jyrq, String yq, String ybh); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java b/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java new file mode 100644 index 0000000..f7f54e3 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/LisWorkOperService.java @@ -0,0 +1,7 @@ +package com.czlis.liswork.service; + +import com.czlis.common.core.domain.Result; + +public interface LisWorkOperService { + Result newPatInfo(String sqh); +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/LisWorkPageInfoService.java b/liswork/src/main/java/com/czlis/liswork/service/LisWorkPageInfoService.java index 961e26d..ec6071c 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/LisWorkPageInfoService.java +++ b/liswork/src/main/java/com/czlis/liswork/service/LisWorkPageInfoService.java @@ -10,4 +10,5 @@ public interface LisWorkPageInfoService { Result getHistory(Date jyrq, String yq, String ybh); Result getReqdetail(Date jyrq, String yq, String ybh); Result getOtherinstr(Date jyrq, String yq, String ybh); + Result getReqInfo(Date jyrq, String yq, String ybh); } diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java new file mode 100644 index 0000000..ea80a62 --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkOperServiceImpl.java @@ -0,0 +1,63 @@ +package com.czlis.liswork.service.impl; + +import cn.hutool.json.JSONUtil; +import com.czlis.common.constant.LisinterfaceNameConstants; +import com.czlis.common.core.domain.Result; +import com.czlis.common.core.domain.entity.LabReqmain; +import com.czlis.interfaceCommon.pojo.GetReqInterface; +import com.czlis.interfaceCommon.utils.CommonUtil; +import com.czlis.interfaceCommon.utils.LisInterfaceUtil; +import com.czlis.liswork.mapper.LisWorkOperMapper; +import com.czlis.liswork.service.LisWorkOperService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class LisWorkOperServiceImpl implements LisWorkOperService { + + @Autowired + LisWorkOperMapper lisWorkOperMapper; + @Autowired + LisInterfaceUtil lisInterfaceUtil; + @Autowired + CommonUtil commonUtil; + + @Override + public Result newPatInfo(String sqh) { + + LabReqmain labReqmainOne = commonUtil.getLabReqmainOne(sqh); + if (labReqmainOne == null) { + //1.调用接口,获取申请单信息 + GetReqInterface getReqInterface = new GetReqInterface(); + getReqInterface.setSqh(sqh); + getReqInterface.setBrdh(""); + getReqInterface.setDept(""); + getReqInterface.setUserid(""); + getReqInterface.setEtime(""); + getReqInterface.setEtime(""); + getReqInterface.setYljg(""); + String jsonStr = JSONUtil.toJsonStr(getReqInterface); + lisInterfaceUtil.invokeLisInterface(LisinterfaceNameConstants.GETREQINTERFACE, jsonStr); + labReqmainOne = commonUtil.getLabReqmainOne(sqh); + } + if(labReqmainOne == null) return new Result("-1","没有获取到申请单信息!"); + String zt = labReqmainOne.getZt().trim(); + if(zt.equals("9")) return new Result("-1","当前条码已经作废,不允许上机!"); + String SP_GETTOWREQOK = commonUtil.getComOptValue("HISOPT", "SP_GETTOWREQOK"); //申请单禁止重复上机 + String SP_GETTOWREQOKYQ = commonUtil.getComOptValue("HISOPT", "SP_GETTOWREQOKYQ");//申请单禁止同仪器重复上机 + if(zt.equals("2")){ + if(SP_GETTOWREQOK.equals("1")) return new Result("-1","当前条码已经上机!"); + if(SP_GETTOWREQOKYQ.equals("1")){ + //仪器代码取值要考虑 + } + } + + + + return null; + } + + +} diff --git a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkPageInfoServiceImpl.java b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkPageInfoServiceImpl.java index b155ac1..f2587cb 100644 --- a/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkPageInfoServiceImpl.java +++ b/liswork/src/main/java/com/czlis/liswork/service/impl/LisWorkPageInfoServiceImpl.java @@ -74,5 +74,11 @@ public class LisWorkPageInfoServiceImpl implements LisWorkPageInfoService { return new Result("0","查询数据成功!",queryList); } + @Override + public Result getReqInfo(Date jyrq, String yq, String ybh) { + List> reqInfoList = lisWorkPageInfoMapper.getReqInfo(jyrq,yq,ybh); + return new Result("0","获取标本流转数据成功!",reqInfoList); + } + } diff --git a/liswork/src/main/java/com/czlis/liswork/utils/LisWorkUtil.java b/liswork/src/main/java/com/czlis/liswork/utils/LisWorkUtil.java new file mode 100644 index 0000000..71e184e --- /dev/null +++ b/liswork/src/main/java/com/czlis/liswork/utils/LisWorkUtil.java @@ -0,0 +1,9 @@ +package com.czlis.liswork.utils; + +import org.springframework.stereotype.Component; + +@Component +public class LisWorkUtil { + + +} diff --git a/liswork/src/main/resources/mapper/LisWorkPageInfoMapper.xml b/liswork/src/main/resources/mapper/LisWorkPageInfoMapper.xml index 4fa2842..b06a395 100644 --- a/liswork/src/main/resources/mapper/LisWorkPageInfoMapper.xml +++ b/liswork/src/main/resources/mapper/LisWorkPageInfoMapper.xml @@ -39,4 +39,28 @@ ]]> + +