From 048188674a1323114aef77a7b900fe325113035f Mon Sep 17 00:00:00 2001 From: jiangs <373297395@qq.com> Date: Tue, 12 Aug 2025 14:04:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/pojo/InterfaceName/DayMessage.java | 16 + .../pojo/InterfaceName/GetReqInterface.java | 22 + .../system/pojo/InterfaceName/SetDict.java | 15 + .../system/pojo/InterfaceName/SetReport.java | 19 + .../pojo/InterfaceName/SetReqStatus.java | 15 + .../system/service/impl/CommonImpl.java | 263 +++-- .../system/task/BaskCommonTask.java | 2 +- .../system/utils/CommonUtil.java | 3 +- .../jldermyy/pojo/ApplyOrder.java | 74 ++ .../jldermyy/pojo/DeptList.java | 14 + .../jldermyy/pojo/ItemList.java | 18 + .../jldermyy/pojo/UserList.java | 15 + .../jldermyy/pojo/WardList.java | 14 + .../service/impl/Lisinterface_jldermyy.java | 932 +++++++++++++++++- .../jldermyy/task/JldermyyTask.java | 33 + 15 files changed, 1357 insertions(+), 98 deletions(-) create mode 100644 liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/DayMessage.java create mode 100644 liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/GetReqInterface.java create mode 100644 liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetDict.java create mode 100644 liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReport.java create mode 100644 liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReqStatus.java create mode 100644 lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ApplyOrder.java create mode 100644 lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/DeptList.java create mode 100644 lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ItemList.java create mode 100644 lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/UserList.java create mode 100644 lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/WardList.java create mode 100644 lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/task/JldermyyTask.java diff --git a/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/DayMessage.java b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/DayMessage.java new file mode 100644 index 0000000..27d530f --- /dev/null +++ b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/DayMessage.java @@ -0,0 +1,16 @@ +package com.czlisinterface.system.pojo.InterfaceName; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DayMessage { + private String ip; + private String userid; + private String msgid; + private String msg; + private String yljg; +} diff --git a/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/GetReqInterface.java b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/GetReqInterface.java new file mode 100644 index 0000000..91c5686 --- /dev/null +++ b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/GetReqInterface.java @@ -0,0 +1,22 @@ +package com.czlisinterface.system.pojo.InterfaceName; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class GetReqInterface { + private String yljg; + private String brdh; + private String brly; + private String dept; + private String sqh; + private String userid; + private Date stime; + private Date etime; + private String bz1; +} diff --git a/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetDict.java b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetDict.java new file mode 100644 index 0000000..293b31c --- /dev/null +++ b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetDict.java @@ -0,0 +1,15 @@ +package com.czlisinterface.system.pojo.InterfaceName; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SetDict { + private String ip; + private String userid; + private String zdlb; + private String yljg; +} diff --git a/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReport.java b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReport.java new file mode 100644 index 0000000..b0afa47 --- /dev/null +++ b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReport.java @@ -0,0 +1,19 @@ +package com.czlisinterface.system.pojo.InterfaceName; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class SetReport { + private String ip; + private String userid; + private String yq; + private Date jyrq; + private String ybh; + private String status; +} diff --git a/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReqStatus.java b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReqStatus.java new file mode 100644 index 0000000..63294da --- /dev/null +++ b/liscommon/src/main/java/com/czlisinterface/system/pojo/InterfaceName/SetReqStatus.java @@ -0,0 +1,15 @@ +package com.czlisinterface.system.pojo.InterfaceName; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SetReqStatus { + private String ip; + private String userid; + private String sqh; + private String status; +} diff --git a/liscommon/src/main/java/com/czlisinterface/system/service/impl/CommonImpl.java b/liscommon/src/main/java/com/czlisinterface/system/service/impl/CommonImpl.java index 7c42c1e..35ac503 100644 --- a/liscommon/src/main/java/com/czlisinterface/system/service/impl/CommonImpl.java +++ b/liscommon/src/main/java/com/czlisinterface/system/service/impl/CommonImpl.java @@ -1,9 +1,11 @@ package com.czlisinterface.system.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.czlisinterface.system.pojo.*; +import com.czlisinterface.system.pojo.InterfaceName.*; import com.czlisinterface.system.service.CommonExt; import com.czlisinterface.system.service.HISInterfaceService; import com.czlisinterface.system.utils.CommonUtil; @@ -13,10 +15,12 @@ import lombok.extern.slf4j.Slf4j; import javax.annotation.Resource; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.math.BigDecimal; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; @Slf4j public class CommonImpl implements HISInterfaceService { @@ -24,6 +28,8 @@ public class CommonImpl implements HISInterfaceService { @Resource public CommonExt commonExt; + @Resource + CommonUtil commonUtil; @@ -31,6 +37,16 @@ public class CommonImpl implements HISInterfaceService { @Override public Result setReqStatus(String param) { log.info("调用了setReqStatus:"+param); + JSONObject jsonObject = JSONUtil.parseObj(param); + SetReqStatus setReqStatus = new SetReqStatus(); + setReqStatus.setIp(jsonObject.getStr("ip")); + setReqStatus.setSqh(jsonObject.getStr("sqh")); + setReqStatus.setStatus(jsonObject.getStr("status")); + setReqStatus.setUserid(jsonObject.getStr("userid")); + return setReqStatusM(setReqStatus); + } + + public Result setReqStatusM(SetReqStatus setReqStatus){ return new Result("-1","修改状态接口未实现!"); } @@ -38,6 +54,18 @@ public class CommonImpl implements HISInterfaceService { @Override public Result setReport(String param) { log.info("调用了setReport:"+param); + JSONObject jsonObject = JSONUtil.parseObj(param); + SetReport setReport = new SetReport(); + setReport.setIp(jsonObject.getStr("ip")); + setReport.setYq(jsonObject.getStr("yq")); + setReport.setYbh(jsonObject.getStr("ybh")); + setReport.setUserid(jsonObject.getStr("userid")); + setReport.setStatus(jsonObject.getStr("status")); + setReport.setJyrq(DateUtil.parse(jsonObject.getStr("jyrq"),"yyyy-MM-dd")); + return setReportM(setReport); + } + + public Result setReportM(SetReport setReport){ return new Result("-1","发送报告接口未实现!"); } @@ -50,19 +78,23 @@ public class CommonImpl implements HISInterfaceService { String userid = (String) jsonObject.get("userid"); String zdlb = (String) jsonObject.get("zdlb"); String yljg = (String) jsonObject.get("yljg"); - + SetDict setDict = new SetDict(); + setDict.setIp(ip); + setDict.setUserid(userid); + setDict.setZdlb(zdlb); + setDict.setYljg(yljg); switch (zdlb){ case "DP": //科室 - result = getDictDP(yljg); + result = getDictDP(setDict); break; case "SRD": //人员 - result = getDictSRD(yljg); + result = getDictSRD(setDict); break; case "FEE": //套餐字典 - result = getDictFEE(yljg); + result = getDictFEE(setDict); break; case "WR": //病区 - result = getDictWR(yljg); + result = getDictWR(setDict); break; default: break; @@ -109,16 +141,27 @@ public class CommonImpl implements HISInterfaceService { e.printStackTrace(); return new Result("-1","日期时间格式不正确!"); } - - String ksdh = (String) jsonObject.get("dept"); + GetReqInterface getReqInterface = new GetReqInterface(); + getReqInterface.setBrdh(brdh); + getReqInterface.setBrly(brly); + getReqInterface.setDept(dept); + getReqInterface.setYljg(yljg); + getReqInterface.setSqh(sqh); + getReqInterface.setBz1(bz1); + getReqInterface.setStime(d_stime); + getReqInterface.setEtime(d_etime); + getReqInterface.setUserid(userid); if(dept != null && !dept.equals("")){ - result = getReqInfo_ksdh(dept, d_stime, d_etime, userid, yljg); + //dept, d_stime, d_etime, userid, yljg + result = getReqInfo_ksdh(getReqInterface); } if(brdh != null && !brdh.equals("")){ - result = getReqInfo_brdh(brdh, brly, d_stime, d_etime, userid, yljg); + //brdh, brly, d_stime, d_etime, userid, yljg + result = getReqInfo_brdh(getReqInterface); } if(sqh != null && !sqh.equals("")){ - result = getReqInfo_sqh(sqh, userid); + //sqh, userid + result = getReqInfo_sqh(getReqInterface); } if(result != null ) { return result; @@ -133,6 +176,17 @@ public class CommonImpl implements HISInterfaceService { @Override public Result dayMessage(String param) { log.info("调用了dayMessage接口,入参:{}",param); + JSONObject jsonObject = JSONUtil.parseObj(param); + DayMessage dayMessage = new DayMessage(); + dayMessage.setIp(jsonObject.getStr("ip")); + dayMessage.setYljg(jsonObject.getStr("yljg")); + dayMessage.setUserid(jsonObject.getStr("userid")); + dayMessage.setMsgid(jsonObject.getStr("msgid")); + dayMessage.setMsg(jsonObject.getStr("msg")); + return dayMessageM(dayMessage); + } + + public Result dayMessageM(DayMessage dayMessage){ return new Result("-1","dayMessage接口未实现!"); } @@ -175,83 +229,182 @@ public class CommonImpl implements HISInterfaceService { } - public Result getReqInfo_brdh(String brdh, String brly, Date stime,Date etime,String userId,String yljg){ + public Result getReqInfo_brdh(GetReqInterface getReqInterface){ // log.info("ceshi"); return new Result("-1","根据病人代码获取病人申请单未定义接口"); } - public Result getReqInfo_ksdh(String ksdh,Date stime,Date etime,String userId,String yljg){ + public Result getReqInfo_ksdh(GetReqInterface getReqInterface){ return new Result("-1","根据科室获取申请单未定义接口"); } - public Result getReqInfo_sqh(String sqh,String userId){ + public Result getReqInfo_sqh(GetReqInterface getReqInterface){ return new Result("-1","根据条码获取申请单未定义接口"); } /** * 获取科室 - * @param yljg + * @param setDict * @return */ - public Result getDictDP(String yljg){ - return new Result("-1","获取科室字典接口未定义"); + public Result getDictDP(SetDict setDict){ + int j = 0; + Result result = getDictDPM(setDict.getYljg()); + if (!result.getResultCode().equals("0")) return result; + List comDictList = (List) result.getData(); + //对传入的数据进行去重处理 + List comDictListNew = comDictList.stream() + .filter(distinctByKeys(ComDict::getZdlb, ComDict::getZddh)) // 传入要去重的字段getter + .collect(Collectors.toList()); + List dpList = commonUtil.getComDictList("DP"); + for (ComDict comDict : comDictListNew) { + String zddh = comDict.getZddh(); + List collect = dpList.stream().filter(comDict1 -> comDict1.getZddh().equals(zddh)).collect(Collectors.toList()); + if(collect.size() > 0) continue; + +// ComDict comDict2 = new ComDict(); +// comDict2.setZdlb("DP"); +// comDict2.setZddh(zddh); +// comDict2.setZdmc(zdmc); +// comDict2.setYljg("1"); + comDict.setZdbz("N"); + String pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母 + if(pinyin.length() >= 9){ + pinyin = pinyin.substring(0,8); + } + comDict.setZjf(pinyin); + commonUtil.insertComDict(comDict); + j++; + + } + return new Result("0","获取科室字典成功!共:"+j+"条数据完成导入!"); + } + + public Result getDictDPM(String yljg,String ...param){ + return new Result("-1","没有重载接口方法!"); } /** * 获取套餐字典 - * @param yljg + * @param setDict * @return */ - public Result getDictFEE(String yljg){ - return new Result("-1","获取套餐字典接口未定义"); + public Result getDictFEE(SetDict setDict){ + int j = 0; + Result result = getDictFEEM(setDict.getYljg()); + if (!result.getResultCode().equals("0")) return result; + List xmFeeHISList = (List) result.getData(); + //对传入的数据进行去重处理 + List xmFeeHISListNew = xmFeeHISList.stream() + .filter(distinctByKeys(XmFee::getSfxmdh)) // 传入要去重的字段getter + .collect(Collectors.toList()); + List xmFeeList = commonUtil.getXmFeeList(); + for (XmFee xmFee : xmFeeHISListNew) { + List collect = xmFeeList.stream().filter(xmFee1 -> xmFee1.getSfxmdh().equals(xmFee.getSfxmdh())).collect(Collectors.toList()); + if(collect.size() > 0) continue; + String pinyin = PinyinUtil.getFirstLetter(xmFee.getSfxmmc(), ""); //拼音首字母 + if(pinyin.length() >= 9){ + pinyin = pinyin.substring(0,8); + } + xmFee.setZjf(pinyin); + xmFee.setXmlb("HIS"); + xmFee.setBz(xmFee.getSfxmmc()); + commonUtil.insertXmFee(xmFee); + j++; + } + return new Result("-1","获取收费项目套餐成功,共:"+j+"条数据导入成功!"); + } + + public Result getDictFEEM(String yljg,String ...param){ + return new Result("-1","没有重载接口方法!"); } /** * 获取人员字典 - * @param yljg + * @param setDict * @return */ - public Result getDictSRD(String yljg){ - return new Result("-1","获取人员字典接口未定义"); + public Result getDictSRD(SetDict setDict){ + int j = 0; + //List comDictList = getDictSRDM(setDict.getYljg()); + Result result = getDictSRDM(setDict.getYljg()); + if (!result.getResultCode().equals("0")) return result; + List comDictList = (List) result.getData(); + //对传入的数据进行去重处理 + List comDictListNew = comDictList.stream() + .filter(distinctByKeys(ComDict::getZdlb, ComDict::getZddh)) // 传入要去重的字段getter + .collect(Collectors.toList()); + List dpList = commonUtil.getComDictList("SRD"); + for (ComDict comDict : comDictListNew) { + String zddh = comDict.getZddh(); + List collect = dpList.stream().filter(comDict1 -> comDict1.getZddh().equals(zddh)).collect(Collectors.toList()); + if(collect.size() > 0) continue; + String pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母 + if(pinyin.length() >= 9){ + pinyin = pinyin.substring(0,8); + } + comDict.setZdbz("N"); + comDict.setZjf(pinyin); + commonUtil.insertComDict(comDict); + j++; + } + return new Result("0","获取人员字典成功!共:"+j+"条数据完成导入!"); + } + + public Result getDictSRDM(String yljg,String ...param){ + return new Result("-1","没有重载接口方法!"); } /** * 获取病区字典 - * @param yljg + * @param setDict * @return */ - public Result getDictWR(String yljg){ - return new Result("-1","获取病区字典接口未定义"); - } - - - /** - * 在当前类及其父类(直到CommonImpl)中查找指定名称和参数的方法 - * @param clazz 当前类的Class对象 - * @param methodName 方法名 - * @return 找到的方法,未找到则返回null - */ - private Method findMethodInHierarchy(Class clazz, String methodName) { - // 遍历类的继承链,直到CommonImpl为止(不包括Object) - while (clazz != null && !clazz.equals(Object.class)) { - try { - // 查找当前类中参数为String的public/protected/default/private方法 - Method method = clazz.getDeclaredMethod(methodName, String.class); - // 允许访问私有/保护方法 - method.setAccessible(true); - return method; - } catch (NoSuchMethodException e) { - // 当前类未找到,继续查找父类 - clazz = clazz.getSuperclass(); - // 若父类不是CommonImpl或其子类,停止遍历(避免无意义查找) - if (clazz != null && !CommonImpl.class.isAssignableFrom(clazz)) { - break; - } + public Result getDictWR(SetDict setDict){ + int j = 0; + //List comDictList = getDictWRM(setDict.getYljg()); + Result result = getDictWRM(setDict.getYljg()); + if (!result.getResultCode().equals("0")) return result; + List comDictList = (List) result.getData(); + //对传入的数据进行去重处理 + List comDictListNew = comDictList.stream() + .filter(distinctByKeys(ComDict::getZdlb, ComDict::getZddh)) // 传入要去重的字段getter + .collect(Collectors.toList()); + List dpList = commonUtil.getComDictList("WR"); + for (ComDict comDict : comDictListNew) { + String zddh = comDict.getZddh(); + List collect = dpList.stream().filter(comDict1 -> comDict1.getZddh().equals(zddh)).collect(Collectors.toList()); + if(collect.size() > 0) continue; + String pinyin = PinyinUtil.getFirstLetter(comDict.getZdmc(), ""); //拼音首字母 + if(pinyin.length() >= 9){ + pinyin = pinyin.substring(0,8); } + comDict.setZdbz("N"); + comDict.setZjf(pinyin); + commonUtil.insertComDict(comDict); + j++; } - return null; + return new Result("0","获取病区字典成功!共:"+j+"条数据完成导入!"); } + public Result getDictWRM(String yljg,String ...param){ + return new Result("-1","没有重载接口方法!"); + } + + + public static Predicate distinctByKeys(Function... keyExtractors) { + Set seen = ConcurrentHashMap.newKeySet(); + return t -> { + // 提取对象的目标字段,组合成一个"唯一标识" + Object[] keys = Arrays.stream(keyExtractors) + .map(ke -> ke.apply(t)) + .toArray(); + // 判断这个组合是否已出现过 + return seen.add(Arrays.hashCode(keys)); + }; + } + + diff --git a/liscommon/src/main/java/com/czlisinterface/system/task/BaskCommonTask.java b/liscommon/src/main/java/com/czlisinterface/system/task/BaskCommonTask.java index 5ba6c5c..36207d8 100644 --- a/liscommon/src/main/java/com/czlisinterface/system/task/BaskCommonTask.java +++ b/liscommon/src/main/java/com/czlisinterface/system/task/BaskCommonTask.java @@ -50,7 +50,7 @@ public class BaskCommonTask implements BaskTask { } - public Result sendReport(Date jyrq, String yq, String ybh, String status) { + public Result sendReport(Date jyrq, String yq, String ybh, String status,String ...param) { return null; } diff --git a/liscommon/src/main/java/com/czlisinterface/system/utils/CommonUtil.java b/liscommon/src/main/java/com/czlisinterface/system/utils/CommonUtil.java index 7f2195e..7bb673a 100644 --- a/liscommon/src/main/java/com/czlisinterface/system/utils/CommonUtil.java +++ b/liscommon/src/main/java/com/czlisinterface/system/utils/CommonUtil.java @@ -128,10 +128,9 @@ public class CommonUtil { } @DSTransactional - public Result updateSqd(String sqh, String bz2){ + public Result updateSqd(String sqh){ UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("sqh",sqh); - updateWrapper.eq("bz2",bz2); LabReqdetail labReqdetail = new LabReqdetail(); labReqdetail.setJjzt("1"); int update = labReqdetailMapper.update(labReqdetail, updateWrapper); diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ApplyOrder.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ApplyOrder.java new file mode 100644 index 0000000..feb963c --- /dev/null +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ApplyOrder.java @@ -0,0 +1,74 @@ +package com.czlisinterface.jldermyy.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ApplyOrder { + private String ApplyFormId; + private String UnitId; + private String UnitName; + private String ApplyNo; + private String VisitId; + private String VisitTimes; + private String VisitType; + private String PatientNo; + private String PatientId; + private String CardNo; + private String Name; + private String Sex; + private String Birthday; + private String BedNo; + private String AgeYear; + private String AgeMonth; + private String AgeDay; + private String Address; + private String Tel; + private String Idnumber; + private String DignosisType; + private String DignosisCode; + private String DiagnosisName; + private String OrderDeptId; + private String OrderDeptName; + private String PerformDeptId; + private String PerformDeptName; + private String PatientDeptId; + private String PatientDeptName; + private String PatientWardId; + private String PatientWardName; + private String OrderDoctorId; + private String OrderDoctorName; + private String OrderTime; + private String PerformNurseId; + private String PerformNurseName; + private String IsEmergency; + private String PreCheckTime; + private String GreenChanalType; + private String ApplyFormName; + private String ApplyFormTempleId; + private String ApplyFormType; + private String HistorySummary; + private String Note; + private String Remarks; + private String SrcDataId; + private String SrcSystemId; + private String ApplyFormSrcDataId; + private String DocIndexId; + private String FileType; + private String FileName; + private String OrderRowId; + private String OrderCode; + private String OrderName; + private String SampleTypeCode; + private String SampleTypeName; + private String InGroupNo; + private String Quantity; + private String OrderUnit; + private String Amount; + private String ChargMark; + private String ChargTime; + private String PerformStatus; +} diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/DeptList.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/DeptList.java new file mode 100644 index 0000000..3668ca3 --- /dev/null +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/DeptList.java @@ -0,0 +1,14 @@ +package com.czlisinterface.jldermyy.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeptList { + private String DeptId; + private String DeptName; + private String IsStop; +} diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ItemList.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ItemList.java new file mode 100644 index 0000000..ac2c55b --- /dev/null +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/ItemList.java @@ -0,0 +1,18 @@ +package com.czlisinterface.jldermyy.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class ItemList { + private String ItemCode; + private String ItemName; + private String ItemClass; + private String ItemUnit; + private String ItemPrice; + private String ItemSpec; + private String IsStop; +} diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/UserList.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/UserList.java new file mode 100644 index 0000000..3fa6f0a --- /dev/null +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/UserList.java @@ -0,0 +1,15 @@ +package com.czlisinterface.jldermyy.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class UserList { + private String UserId; + private String UserCode; + private String PersonName; + private String IdNumber; +} diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/WardList.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/WardList.java new file mode 100644 index 0000000..2909922 --- /dev/null +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/pojo/WardList.java @@ -0,0 +1,14 @@ +package com.czlisinterface.jldermyy.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class WardList { + private String WardId; + private String WardName; + private String IsStop; +} diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/service/impl/Lisinterface_jldermyy.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/service/impl/Lisinterface_jldermyy.java index f36efaa..4655f04 100644 --- a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/service/impl/Lisinterface_jldermyy.java +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/service/impl/Lisinterface_jldermyy.java @@ -1,28 +1,36 @@ package com.czlisinterface.jldermyy.service.impl; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.XmlUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; -import cn.hutool.http.webservice.SoapClient; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.czlisinterface.jldermyy.mapper.HisMapper_jldermyy; -import com.czlisinterface.system.mapper.CommonMapper; -import com.czlisinterface.system.pojo.ComUsr; -import com.czlisinterface.system.pojo.LabReqmain; -import com.czlisinterface.system.pojo.Result; +import com.czlisinterface.jldermyy.pojo.*; +import com.czlisinterface.system.pojo.*; +import com.czlisinterface.system.pojo.InterfaceName.*; import com.czlisinterface.system.service.impl.CommonImpl; import com.czlisinterface.system.utils.CommonUtil; +import com.czlisinterface.system.utils.LisUtil; +import com.czlisinterface.system.utils.LisWarningUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Configuration; import org.w3c.dom.Document; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; import javax.annotation.Resource; import javax.xml.xpath.XPathConstants; +import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; /** @@ -39,8 +47,10 @@ public class Lisinterface_jldermyy extends CommonImpl { @Resource CommonUtil commonUtil; +// @Resource +// HisMapper_jldermyy hisMapperJldermyy; @Resource - HisMapper_jldermyy hisMapperJldermyy; + LisWarningUtil lisWarningUtil; @Override @@ -84,12 +94,12 @@ public class Lisinterface_jldermyy extends CommonImpl { } log.info("调用集成平台接口:\r\n入参:"+xmlData+"\r\n出参:"+ret); if(ret.contains("")){ - ret = ret.substring(ret.indexOf(""),ret.indexOf("")+20); + ret = ret.substring(ret.indexOf("")+19,ret.indexOf("")); } //解析出参 Document doc = XmlUtil.parseXml(ret); - String resTag = String.valueOf(XmlUtil.getByXPath("//Res/MsgHead/ResTag", doc, XPathConstants.STRING)); - String resMsg = String.valueOf(XmlUtil.getByXPath("//Res/MsgHead/ResMsg", doc, XPathConstants.STRING)); + String resTag = LisUtil.isBank(XmlUtil.getByXPath("//Res/MsgHead/ResTag", doc, XPathConstants.STRING)); + String resMsg = LisUtil.isBank(XmlUtil.getByXPath("//Res/MsgHead/ResMsg", doc, XPathConstants.STRING)); int resTagInt = -1; try{ resTagInt = Integer.parseInt(resTag); @@ -97,15 +107,15 @@ public class Lisinterface_jldermyy extends CommonImpl { return new Result("-1","his返回值转换失败:"+e.getMessage()); } if(resTagInt >= 0){ - return new Result("0","调用接口成功!"); + return new Result("0","调用接口成功!",ret); }else{ return new Result("-1","调用接口失败:"+resMsg); } } - public String toXml(String xmlStr11){ + public Result toXml(String action,String param,Map paramMap){ Map mapHead = new HashMap<>(); - mapHead.put("SrvId","02004"); + mapHead.put("SrvId",action); mapHead.put("ReqSysId","041001-4"); mapHead.put("MsgId", UUID.randomUUID()); mapHead.put("Dt",commonUtil.currentStringTime()); @@ -113,41 +123,15 @@ public class Lisinterface_jldermyy extends CommonImpl { mapHead.put("OperateType","1"); mapHead.put("Remark",""); - Map applyQryConditionMap = new HashMap<>(); - applyQryConditionMap.put("UnitId",""); - applyQryConditionMap.put("VisitType",""); - applyQryConditionMap.put("PatientNo",""); - applyQryConditionMap.put("VisitId",""); - applyQryConditionMap.put("CardNo",""); - applyQryConditionMap.put("ApplyNo",""); - applyQryConditionMap.put("ApplyFormType",""); - applyQryConditionMap.put("PerformDeptId",""); - applyQryConditionMap.put("DeptId",""); - applyQryConditionMap.put("WardId",""); - applyQryConditionMap.put("OrderTimeBegin",""); - applyQryConditionMap.put("OrderTimeEnd",""); - applyQryConditionMap.put("AcceptNo",""); - applyQryConditionMap.put("IncludeExtend",""); - applyQryConditionMap.put("PerformStatus",""); - applyQryConditionMap.put("ChargMark",""); - applyQryConditionMap.put("ChargTimeBegin",""); - applyQryConditionMap.put("ChargTimeEnd",""); - applyQryConditionMap.put("OrderClass","001"); - applyQryConditionMap.put("NurseAduitMark",""); - Map map = new HashMap<>(); map.put("MsgHead",mapHead); - map.put("ApplyQryCondition",applyQryConditionMap); + map.put(param,paramMap); String xmlStr = XmlUtil.toStr(XmlUtil.mapToXml(map, "Req"), CharsetUtil.UTF_8, false, true); String joinedStr = joinStr(xmlStr); - System.out.println("joinedStr:"+joinedStr); Result result = invokeHttpWebService(joinedStr); - System.out.println(result); - return xmlStr; + return result; } - - public String joinStr(String xmlStr){ StringBuffer sbStr = new StringBuffer(); sbStr.append(""); @@ -162,4 +146,872 @@ public class Lisinterface_jldermyy extends CommonImpl { return sbStr.toString(); } + @Override + public Result getReqInfo_brdh(GetReqInterface getReqInterface) { + String startTime = DateUtil.format(getReqInterface.getStime(), "yyyy-MM-dd HH:mm:ss"); + String endTime = DateUtil.format(getReqInterface.getEtime(), "yyyy-MM-dd") + " 23:59:59"; + //调用his的webservice接口 + Map applyQryConditionMap = new HashMap<>(); + applyQryConditionMap.put("UnitId",""); + applyQryConditionMap.put("VisitType",""); + applyQryConditionMap.put("PatientNo",getReqInterface.getBrdh()); + applyQryConditionMap.put("VisitId",""); + applyQryConditionMap.put("CardNo",""); + applyQryConditionMap.put("ApplyNo",""); + applyQryConditionMap.put("ApplyFormType",""); + applyQryConditionMap.put("PerformDeptId",""); + applyQryConditionMap.put("DeptId",""); + applyQryConditionMap.put("WardId",""); + applyQryConditionMap.put("OrderTimeBegin",startTime); + applyQryConditionMap.put("OrderTimeEnd",endTime); + applyQryConditionMap.put("AcceptNo",""); + applyQryConditionMap.put("IncludeExtend",""); + applyQryConditionMap.put("PerformStatus",""); + applyQryConditionMap.put("ChargMark",""); + applyQryConditionMap.put("ChargTimeBegin",""); + applyQryConditionMap.put("ChargTimeEnd",""); + applyQryConditionMap.put("OrderClass","001"); + applyQryConditionMap.put("NurseAduitMark",""); + Result result = toXml("02004","ApplyQryCondition", applyQryConditionMap); + if(!result.getResultCode().equals("0")) return result; + List applyOrderList = getapplyOrderList(result.getData().toString()); + if(applyOrderList.size()<=0) return new Result("0","没有获取到新的his申请单!"); + return saveSQD(applyOrderList, getReqInterface.getUserid()); + } + + @Override + public Result getReqInfo_ksdh(GetReqInterface getReqInterface) { + String startTime = DateUtil.format(getReqInterface.getStime(), "yyyy-MM-dd HH:mm:ss"); + String endTime = DateUtil.format(getReqInterface.getEtime(), "yyyy-MM-dd") + " 23:59:59"; + //调用his的webservice接口 + Map applyQryConditionMap = new HashMap<>(); + applyQryConditionMap.put("UnitId",""); + applyQryConditionMap.put("VisitType",""); + applyQryConditionMap.put("PatientNo",""); + applyQryConditionMap.put("VisitId",""); + applyQryConditionMap.put("CardNo",""); + applyQryConditionMap.put("ApplyNo",""); + applyQryConditionMap.put("ApplyFormType",""); + applyQryConditionMap.put("PerformDeptId",""); + applyQryConditionMap.put("DeptId",getReqInterface.getDept()); + applyQryConditionMap.put("WardId",""); + applyQryConditionMap.put("OrderTimeBegin",startTime); + applyQryConditionMap.put("OrderTimeEnd",endTime); + applyQryConditionMap.put("AcceptNo",""); + applyQryConditionMap.put("IncludeExtend",""); + applyQryConditionMap.put("PerformStatus",""); + applyQryConditionMap.put("ChargMark",""); + applyQryConditionMap.put("ChargTimeBegin",""); + applyQryConditionMap.put("ChargTimeEnd",""); + applyQryConditionMap.put("OrderClass","001"); + applyQryConditionMap.put("NurseAduitMark",""); + Result result = toXml("02004","ApplyQryCondition", applyQryConditionMap); + if(!result.getResultCode().equals("0")) return result; + List applyOrderList = getapplyOrderList(LisUtil.isBank(result.getData())); + if(applyOrderList.size()<=0) return result; + //对list进行排序 + applyOrderList.sort(new Comparator() { + @Override + public int compare(ApplyOrder o1, ApplyOrder o2) { + String patientNo1 = o1.getPatientNo().trim(); + String patientNo2 = o2.getPatientNo().trim(); + return patientNo1.compareTo(patientNo2); + } + }); + String patientNo_temp = ""; + String errorText = ""; + for (ApplyOrder applyOrder : applyOrderList) { + String patientNo = applyOrder.getPatientNo(); + if(patientNo.equals(patientNo_temp)) continue; + //对list进行过滤 + try{ + List collect = applyOrderList.stream().filter(applyOrder1 -> applyOrder1.getPatientNo().equals(patientNo)).collect(Collectors.toList()); + Result result1 = saveSQD(collect, getReqInterface.getUserid()); + if(!result1.getResultCode().equals("0")){ + errorText = errorText + ";" + result.getMessage(); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("调用住院获取申请单失败:",e); + return new Result("-1","调用住院获取申请单失败:"+e.getMessage()); + } + + patientNo_temp = patientNo; + } + if(!errorText.equals("")) return new Result("-1","生成条码失败:"+errorText); + + return new Result("0","获取数据成功!"); + } + + @Override + public Result getReqInfo_sqh(GetReqInterface getReqInterface) { + return new Result("0",""); + } + + @Override + public Result getDictDPM(String yljg,String ...param) { + Map queryConditionMap = new HashMap<>(); + queryConditionMap.put("UnitId","041001"); + queryConditionMap.put("DeptId",""); + queryConditionMap.put("DeptName",""); + Result result = toXml("00008", "QueryCondition", queryConditionMap); + if(!result.getResultCode().equals("0")) return result; + Document document = XmlUtil.parseXml(result.getData().toString()); + NodeList nodeListByXPath = XmlUtil.getNodeListByXPath("//Res/DeptList", document); + List deptListList = new ArrayList<>(); + for (int i = 1; i <= nodeListByXPath.getLength(); i++) { + DeptList deptList = XmlUtil.xmlToBean(nodeListByXPath.item(i), DeptList.class); + deptListList.add(deptList); + } + if(deptListList == null || deptListList.size() == 0) return new Result("-1","没有获取到his接口数据!"); + List comDictList = new ArrayList<>(); + for (DeptList deptList : deptListList) { + ComDict comDict = new ComDict(); + comDict.setZdlb("DP"); + comDict.setZddh(deptList.getDeptId()); + comDict.setZdmc(deptList.getDeptName()); + comDict.setYljg("1"); + comDictList.add(comDict); + } + return new Result("0","",comDictList); + } + + @Override + public Result getDictFEEM(String yljg,String ...param) { + Map itemInfoMap = new HashMap<>(); + itemInfoMap.put("UnitId","041001"); + itemInfoMap.put("ItemClass","1"); + itemInfoMap.put("ExpensesCode",""); + itemInfoMap.put("StdCodeBegin",""); + itemInfoMap.put("StdCodeEnd",""); + Result result = toXml("00014", "ItemInfo", itemInfoMap); + if(!result.getResultCode().equals("0")) return result; + Document document = XmlUtil.parseXml(result.getData().toString()); + NodeList nodeListByXPath = XmlUtil.getNodeListByXPath("//Res/ItemList", document); + List itemListList = new ArrayList<>(); + for (int i = 1; i <= nodeListByXPath.getLength(); i++) { + ItemList itemList = XmlUtil.xmlToBean(nodeListByXPath.item(i), ItemList.class); + itemListList.add(itemList); + } + List xmFeeList = new ArrayList<>(); + for (ItemList itemList : itemListList) { + XmFee xmFee = new XmFee(); + xmFee.setYljg("1"); + xmFee.setSfxmdh(itemList.getItemCode()); + xmFee.setSfxmmc(itemList.getItemName()); + xmFee.setDj(new BigDecimal(itemList.getItemPrice())); + xmFee.setSpec(itemList.getItemSpec()); + xmFeeList.add(xmFee); + } + return new Result("0","",xmFeeList); + } + + @Override + public Result getDictSRDM(String yljg,String ...param) { + Map queryConditionMap = new HashMap<>(); + queryConditionMap.put("UnitId","041001"); + queryConditionMap.put("UserId",""); + queryConditionMap.put("UserCode",""); + queryConditionMap.put("IdNumber",""); + Result result = toXml("00005", "QueryCondition", queryConditionMap); + if(!result.getResultCode().equals("0")) return result; + Document document = XmlUtil.parseXml(result.getData().toString()); + NodeList nodeListByXPath = XmlUtil.getNodeListByXPath("//Res/UserList", document); + List userListList = new ArrayList<>(); + for (int i = 1; i <= nodeListByXPath.getLength(); i++) { + UserList userList = XmlUtil.xmlToBean(nodeListByXPath.item(i), UserList.class); + userListList.add(userList); + } + if(userListList == null || userListList.size() == 0) return new Result("-1","没有获取到his的接口数据!"); + List comDictList = new ArrayList<>(); + for (UserList userList : userListList) { + ComDict comDict = new ComDict(); + comDict.setZdlb("SRD"); + comDict.setZddh(userList.getUserId()); + comDict.setZdmc(userList.getPersonName()); + comDict.setYljg("1"); + comDictList.add(comDict); + } + return new Result("0","",comDictList); + } + + /** + * 获取病区基础数据 + * @param yljg + * @param param + * @return + */ + @Override + public Result getDictWRM(String yljg, String... param) { + Map wardInfoMap = new HashMap<>(); + wardInfoMap.put("UnitId","041001"); + wardInfoMap.put("WardId",""); + wardInfoMap.put("WardName",""); + Result result = toXml("00012", "WardInfo", wardInfoMap); + if(!result.getResultCode().equals("0")) return result; + Document document = XmlUtil.parseXml(result.getData().toString()); + NodeList nodeListByXPath = XmlUtil.getNodeListByXPath("//Res/WardList", document); + List wardListList = new ArrayList<>(); + for (int i = 1; i <= nodeListByXPath.getLength(); i++) { + WardList wardList = XmlUtil.xmlToBean(nodeListByXPath.item(i), WardList.class); + wardListList.add(wardList); + } + if(wardListList == null || wardListList.size() == 0) return new Result("-1","没有获取到his的接口数据!"); + List comDictList = new ArrayList<>(); + for (WardList wardList : wardListList) { + ComDict comDict = new ComDict(); + comDict.setZdlb("WR"); + comDict.setZddh(wardList.getWardId()); + comDict.setZdmc(wardList.getWardName()); + comDict.setYljg("1"); + comDictList.add(comDict); + } + return new Result("0","",comDictList); + } + + @Override + public Result dayMessageM(DayMessage dayMessage) { + return new Result("0",""); + } + + /** + * 执行状态 + * @param setReqStatus + * @return + */ + @Override + public Result setReqStatusM(SetReqStatus setReqStatus) { + String sqh = setReqStatus.getSqh(); + LabReqmain labReqmainOne = commonUtil.getLabReqmainOne(sqh); + if(labReqmainOne == null) return new Result("0","手工单不进行接口处理"); + String brly = labReqmainOne.getBrly(); + String zt = labReqmainOne.getZt().trim(); + List labReqdetailList = commonUtil.getLabReqdetailList(sqh); + + + if((brly.equals("1") || brly.equals("3"))){ + //上机状态处理 + if(zt.equals("2")){ + Result result = execStatus(labReqmainOne, labReqdetailList,"1"); + if(!result.getResultCode().equals("0")) return result; + commonUtil.updateSqd(sqh); + } + + //作废条码处理 + if(zt.equals("9")){ + Result result = execStatus(labReqmainOne, labReqdetailList,"3"); + if(!result.getResultCode().equals("0")) return result; + commonUtil.cancelSqd(sqh); + } + + } + + //打印条码 +// if((brly.equals("1") || brly.equals("3")) && zt.equals("11") ){ +// Result result = execStatus(labReqmainOne, labReqdetailList,"1"); +// if(!result.getResultCode().equals("0")) return result; +// } + + return new Result("0","执行状态成功!"); + } + + @Override + public Result setReportM(SetReport setReport) { + Date jyrq = setReport.getJyrq(); + String yq = setReport.getYq(); + String ybh = setReport.getYbh(); + String userid = setReport.getUserid(); + String status = setReport.getStatus(); + commonUtil.saveTimeTask(jyrq,yq,ybh,userid,status); + return new Result("0","调用成功!"); + } + + /** + * 保存申请单数据 + * @param applyOrderList + * @param userId + * @return + */ + public Result saveSQD(List applyOrderList,String userId){ + +// if(lx.equals("1")){ +// if(nodeListByXPath.getLength()<=0) return new Result("-1","没有获取到his的申请单数据!"); +// } + String ls_nopriceitems = ""; + long j=0; + List labReqmainList = new ArrayList<>(); + List labReqdetailList = new ArrayList<>(); + //hisSqdInfoList.clear(); + List> hisSqdInfoList = new ArrayList<>(); + + //该申请单明细记录 + for (ApplyOrder applyOrder : applyOrderList) { + + String reqid = LisUtil.isBank(applyOrder.getVisitId()); //申请单ID + + String sqxmdh = StrUtil.replace(LisUtil.isBank(applyOrder.getOrderCode()),"041-",""); + String sqxmmc = LisUtil.isBank(applyOrder.getOrderName()); //req_itemname + String price = LisUtil.isBank(applyOrder.getAmount()); + String unit = "1"; //数量 + if(price == null || price.equals("")) price = "1"; + BigDecimal qty = new BigDecimal(unit); + BigDecimal item_price = new BigDecimal(price); + + //判断是否获取过申请单 + boolean dupSqd = commonUtil.getDupSqd(reqid, sqxmdh); + if(dupSqd) continue; + + //String price = LisUtil.isBank(hisInfoList.get(i).getPrice()); + + Map feeClass = commonUtil.getFeeClass(sqxmdh); + if(feeClass.size() <= 0) { + ls_nopriceitems += "~r~n"+sqxmdh + "|" + sqxmmc; + continue; + } + + j++ ; + //his申请单信息结构 + + + Map hisSqdInfoMap = new HashMap<>(); + hisSqdInfoMap.put("cp_row",j); + hisSqdInfoMap.put("cp_select","1"); + hisSqdInfoMap.put("lab_reqmain_yblx",LisUtil.isBank(applyOrder.getSampleTypeName()));//样本类型 + hisSqdInfoMap.put("cp_tip","1"); + hisSqdInfoMap.put("sqxmmc",sqxmmc); + hisSqdInfoMap.put("sqxmdh", sqxmdh); + hisSqdInfoMap.put("sl",qty); + hisSqdInfoMap.put("dj",item_price); + hisSqdInfoMap.put("lab_reqmain_brxm",LisUtil.isBank(applyOrder.getName())); //pat_name + hisSqdInfoMap.put("lab_reqmain_brdh",LisUtil.isBank(LisUtil.isBank(applyOrder.getPatientNo()))); + hisSqdInfoMap.put("lab_reqmain_bz1",LisUtil.isBank(applyOrder.getPatientId())); //pat_id + hisSqdInfoMap.put("lab_reqmain_bz2",LisUtil.isBank(applyOrder.getPatientWardId())); + hisSqdInfoMap.put("lab_reqmain_brxb",LisUtil.isBank(applyOrder.getSex())); + hisSqdInfoMap.put("lab_reqmain_jzbz",LisUtil.isBank(applyOrder.getIsEmergency())); //emer_flag + hisSqdInfoMap.put("lab_reqmain_brsr", DateUtil.format(DateUtil.parse(LisUtil.isBank(applyOrder.getBirthday()),"yyyyMMddHHmmss"),"yyyy-MM-dd")); + hisSqdInfoMap.put("lab_reqmain_ksdh",LisUtil.isBank(applyOrder.getOrderDeptId())); //plLisReqDhyyList.get(i).getOpenDeptID() + hisSqdInfoMap.put("lab_reqmain_sqys",LisUtil.isBank(applyOrder.getOrderDoctorId())); //applyDrId + hisSqdInfoMap.put("lab_reqmain_sqsj",DateUtil.parse(LisUtil.isBank(applyOrder.getOrderTime()),"yyyy-MM-dd HH:mm:ss")); //applyDatetime + hisSqdInfoMap.put("lab_reqmain_ch",LisUtil.isBank(applyOrder.getBedNo())); + hisSqdInfoMap.put("bz2",reqid); //申请单ID + hisSqdInfoMap.put("bz1",LisUtil.isBank(applyOrder.getApplyNo())); //申请单明细ID his_recordid + hisSqdInfoMap.put("bz3",LisUtil.isBank(applyOrder.getOrderRowId())); + hisSqdInfoMap.put("cp_xmlb",feeClass.get("sflbdh").toString()); + hisSqdInfoMap.put("cp_color",feeClass.get("bkcolor").toString()); + String dignosisCode = LisUtil.isBank(applyOrder.getDignosisCode()); + String diagnosisName = LisUtil.isBank(applyOrder.getDiagnosisName()); + hisSqdInfoMap.put("lab_reqmain_zd",dignosisCode+"&"+diagnosisName); //patientDiagnose + hisSqdInfoMap.put("lab_reqmain_sfzh", LisUtil.isBank(applyOrder.getIdnumber())); //patientIdcard + hisSqdInfoMap.put("lab_reqmain_phone",LisUtil.isBank(applyOrder.getTel())); //patientPhone + hisSqdInfoMap.put("lab_reqmain_addr",LisUtil.isBank(applyOrder.getAddress())); //patientAdress + hisSqdInfoMap.put("lab_reqmain_txm",""); + hisSqdInfoMap.put("lab_reqmain_brly",LisUtil.isBank(applyOrder.getVisitType())); + hisSqdInfoMap.put("lab_reqmain_klx","01"); + hisSqdInfoMap.put("lab_reqmain_kh",LisUtil.isBank(applyOrder.getCardNo())); + hisSqdInfoMap.put("lab_reqmain_czid",LisUtil.isBank(applyOrder.getVisitTimes())); //就诊次数 + hisSqdInfoList.add(hisSqdInfoMap); + } + + + + //对数据集进行排序 + //返回值有1,0,-1 返回值1:升序排列,-1:降序排列,0:不排列 + hisSqdInfoList.sort(new Comparator>() { + @Override + public int compare(Map o1, Map o2) { + Integer sflbdh1 = Integer.valueOf(o1.get("cp_xmlb").toString().trim()) ; + Integer sflbdh2 = Integer.valueOf(o2.get("cp_xmlb").toString().trim()) ; + int i = sflbdh1.compareTo(sflbdh2); + if(i == 0){ + Integer jzbz1 = Integer.valueOf(o1.get("lab_reqmain_jzbz").toString().trim()) ; + Integer jzbz2 = Integer.valueOf(o2.get("lab_reqmain_jzbz").toString().trim()) ; + int i1 = jzbz1.compareTo(jzbz2); + if(i1 == 0){ + DateTime sqsj1 = DateUtil.parse(o1.get("lab_reqmain_sqsj").toString(), "yyyy-MM-dd"); + DateTime sqsj2 = DateUtil.parse(o2.get("lab_reqmain_sqsj").toString(), "yyyy-MM-dd"); + int i2 = sqsj1.compareTo(sqsj2); + return i2; + }else{ + return i1; + } + }else{ + return i; + } + + } + }); + + //log.info("获取到的his申请单hisSqdInfoList:"+hisSqdInfoList.toString()); + String sflbdh1 = "",yblx1 = "",jzbz1 = "",sqsj1=""; + String jymd = "",sqh="",seq=""; + boolean exist = false; + int k = -1; + LabReqmain labReqmain = null; + int xh = 0; + String brly = ""; + while(hisSqdInfoList.size() > 0){ + for (int i = 0; i < hisSqdInfoList.size(); i++) { + String sflbdh = (String) hisSqdInfoList.get(i).get("cp_xmlb"); + String yblx = (String) hisSqdInfoList.get(i).get("lab_reqmain_yblx"); + String jzbz = (String) hisSqdInfoList.get(i).get("lab_reqmain_jzbz"); + DateTime dt_sqsj = DateUtil.parse(hisSqdInfoList.get(i).get("lab_reqmain_sqsj").toString(), "yyyy-MM-dd"); + String visit_type = LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_brly")); + String sqxmdh = (String) hisSqdInfoList.get(i).get("sqxmdh"); + String sqxmmc = LisUtil.isBank(hisSqdInfoList.get(i).get("sqxmmc")); + if(sqxmmc.length() >= 20){ + sqxmmc = sqxmmc.substring(0,20); + } + String sqsj = DateUtil.format(dt_sqsj, DatePattern.PURE_DATE_PATTERN); + //过滤重复的项目 + exist = false; + for (Map mapHISSQD : hisSqdInfoList) { + String sqxmdh1 = LisUtil.isBank(mapHISSQD.get("sqxmdh")); + String cp_select = LisUtil.isBank(mapHISSQD.get("cp_select")); + if(sqxmdh1.equals(sqxmdh) && cp_select.equals("0")){ + exist = true; + break; + } + } + if(exist) continue; + + hisSqdInfoList.get(i).put("cp_select","0"); //给标记位 + LabReqdetail labReqdetail = new LabReqdetail(); + if(sflbdh.equals(sflbdh1) && yblx.equals(yblx1) && jzbz.equals(jzbz1) && sqsj.equals(sqsj1)){ + xh++; + hisSqdInfoList.get(i).put("sqh",sqh); + hisSqdInfoList.get(i).put("xh",xh); + jymd = jymd + "," + hisSqdInfoList.get(i).get("sqxmmc").toString(); + if(jymd.length() >= 120){ + jymd = jymd.substring(0,120); + } + labReqmain.setJymd(jymd); + //log.info("=============i:"+i); + labReqmainList.set(k,labReqmain); + + //写lab_reqdetail表 + labReqdetail.setSqh(sqh); + labReqdetail.setXh(xh); + labReqdetail.setSqxmdh((String)hisSqdInfoList.get(i).get("sqxmdh")); + labReqdetail.setSqxmmc(sqxmmc); + labReqdetail.setSl(new BigDecimal(hisSqdInfoList.get(i).get("sl").toString()).intValue()); + labReqdetail.setDj(new BigDecimal(hisSqdInfoList.get(i).get("dj").toString())); + labReqdetail.setZt("1"); + if(visit_type.equals("1")){ + labReqdetail.setJjzt("1"); + }else{ + labReqdetail.setJjzt("0"); + } + labReqdetail.setBz1((String) hisSqdInfoList.get(i).get("bz1")); + labReqdetail.setBz2((String) hisSqdInfoList.get(i).get("bz2")); + labReqdetailList.add(labReqdetail); + continue; + }else{ + seq = DateUtil.format(commonUtil.currentDateTime(),"yyMMdd"); + String seqMax = commonUtil.getNextSeq_pro("MZCX",6); + sqh = seq + seqMax; + xh = 1; + sflbdh1 = sflbdh; + yblx1 = yblx; + jzbz1 = jzbz; + sqsj1 = sqsj; + } + hisSqdInfoList.get(i).put("sqh",sqh); + hisSqdInfoList.get(i).put("xh",xh); + //写lab_reqdetail表 + labReqdetail.setSqh(sqh); + labReqdetail.setXh(xh); + labReqdetail.setSqxmdh(LisUtil.isBank(hisSqdInfoList.get(i).get("sqxmdh"))); + labReqdetail.setSqxmmc(sqxmmc); + labReqdetail.setSl(new BigDecimal(hisSqdInfoList.get(i).get("sl").toString()).intValue()); + labReqdetail.setDj(new BigDecimal(hisSqdInfoList.get(i).get("dj").toString())); + labReqdetail.setZt("1"); + if(visit_type.equals("1")){ + labReqdetail.setJjzt("1"); + }else{ + labReqdetail.setJjzt("0"); + } + + labReqdetail.setBz1((String) hisSqdInfoList.get(i).get("bz1")); + labReqdetail.setBz2((String) hisSqdInfoList.get(i).get("bz2")); + labReqdetailList.add(labReqdetail); + + jymd = hisSqdInfoList.get(i).get("sqxmmc").toString(); + + //写lab_reqmain 表 + labReqmain = new LabReqmain(); + k++; + labReqmain.setJzbz(jzbz); + labReqmain.setYblx(yblx); + + labReqmain.setKsdh( hisSqdInfoList.get(i).get("lab_reqmain_ksdh").toString()); + labReqmain.setSqys( LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_sqys"))); + labReqmain.setBrdh( (String)hisSqdInfoList.get(i).get("lab_reqmain_brdh")); + labReqmain.setBrxm( (String)hisSqdInfoList.get(i).get("lab_reqmain_brxm")); + labReqmain.setBrxb( (String)hisSqdInfoList.get(i).get("lab_reqmain_brxb")); + String brsr = hisSqdInfoList.get(i).get("lab_reqmain_brsr").toString(); + labReqmain.setBrsr(DateUtil.parse(brsr,"yyyy-MM-dd")); + labReqmain.setSqsj(DateUtil.parse(hisSqdInfoList.get(i).get("lab_reqmain_sqsj").toString(),"yyyy-MM-dd HH:mm:ss")); + labReqmain.setBgddh((String) hisSqdInfoList.get(i).get("cp_xmlb")); + labReqmain.setYljg("1"); + labReqmain.setZxys(userId); + labReqmain.setZxsj(commonUtil.currentDateTime()); + labReqmain.setBz1((String) hisSqdInfoList.get(i).get("lab_reqmain_bz1")); + labReqmain.setBz2(hisSqdInfoList.get(i).get("lab_reqmain_bz2").toString()); + labReqmain.setCh((String) hisSqdInfoList.get(i).get("lab_reqmain_ch")); + labReqmain.setSqh(sqh); + String brzd = (String)hisSqdInfoList.get(i).get("lab_reqmain_zd"); + if(brzd == null) brzd = ""; + if(brzd.length() >= 50){ + brzd = brzd.substring(0,48); + } + labReqmain.setZd(brzd); + if(jymd.length() >= 120){ + jymd = jymd.substring(0,120); + } + labReqmain.setJymd(jymd); + String brly_his = LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_brly")); + switch (brly_his){ + case "1": + labReqmain.setJjzt("1"); + break; + case "3": + labReqmain.setJjzt("0"); + break; + default: + labReqmain.setJjzt("0"); + break; + } + labReqmain.setZt("1"); + labReqmain.setBrly(brly_his); + labReqmain.setSfzh(LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_sfzh"))); + labReqmain.setPhone(LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_phone"))); + //labReqmain.setPhone1(LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_phone1"))); + labReqmain.setTxm(sqh); + labReqmain.setAddr(LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_addr"))); + String slzq = LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_slzq")); + String slzqDM = commonUtil.getComDictValuesByZdmc("SLZQ", slzq); + labReqmain.setSlzq(slzqDM); + labReqmain.setKlx(LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_klx"))); + labReqmain.setKh(LisUtil.isBank(hisSqdInfoList.get(i).get("lab_reqmain_kh"))); + labReqmain.setJcptbz("1"); //集成平台标志 + labReqmainList.add(k,labReqmain); + + } + + //过滤第一次没有参加生成条码的项目 + hisSqdInfoList = hisSqdInfoList.stream().filter(hisSqdInfo->hisSqdInfo.get("cp_select").equals("1")).collect(Collectors.toList()); + //log.info("hisSqdInfoList:"+hisSqdInfoList.toString()); + //置空判断条件 + sflbdh1 = ""; + yblx1 = ""; + jzbz1 = ""; + sqsj1=""; + } + + + //保存申请单数据 + commonUtil.saveSqd(labReqmainList, labReqdetailList); + + //执行申请单 + for (LabReqmain reqmain : labReqmainList) { + List collect = labReqdetailList.stream().filter(labReqdetail -> labReqdetail.getSqh().equals(reqmain.getSqh())).collect(Collectors.toList()); + execStatus(reqmain,collect,"1"); + } + + if(!ls_nopriceitems.equals("")){ + return new Result("-1","有如下项目未分类无法生成条码,请先分类:"+ls_nopriceitems); + } + + return new Result("0","保存成功!"); + } + + public Result execStatus(LabReqmain labReqmainOne,List labReqdetailList,String zt){ + Map map = new HashMap<>(); + map.put("SrcSystemId","041001-4"); + map.put("ApplyFormSrcDataId",""); + map.put("ApplyFormId",""); + map.put("VisitType",labReqmainOne.getBrly()); + map.put("VisitId",""); + map.put("ApplyNo",""); + List> orderList = new ArrayList<>(); + for (LabReqdetail labReqdetail : labReqdetailList) { + Map rowMap = new HashMap<>(); + rowMap.put("OrderRowId",""); + rowMap.put("OrderCode",labReqdetail.getSqxmdh()); + rowMap.put("OrderSrcDataId",""); + orderList.add(rowMap); + } + + map.put("OrderList",orderList); + map.put("PerformType",zt); //执行类型:1已登记 2已出报告3已撤销 + map.put("PerformOperator",""); + map.put("PerformDt",""); + return toXml("02005","OrderKeyInf", map); + } + + public List getapplyOrderList(String xmlStr){ + Document document = XmlUtil.parseXml(xmlStr); + NodeList nodeListByXPath = XmlUtil.getNodeListByXPath("//Res/ApplyOrderList", document); + List applyOrderList = new ArrayList<>(); + for (int i = 1; i <= nodeListByXPath.getLength(); i++) { + ApplyOrder applyOrder = XmlUtil.xmlToBean(nodeListByXPath.item(i), ApplyOrder.class); + applyOrderList.add(applyOrder); + } + return applyOrderList; + } + + public Result sendHISReport(Date jyrq,String yq,String ybh,String status){ + LabPat labPatOne = commonUtil.getLabPatOne(jyrq, yq, ybh); + String sqh = labPatOne.getSqh(); + if(sqh == null || sqh.equals("")) return new Result("0","手工单不发结果!"); + LabReqmain labReqmainOne = commonUtil.getLabReqmainOne(sqh); + if(labReqmainOne == null) return new Result("-1","没有找到申请单主表的数据!"); + List labReqdetailList = commonUtil.getLabReqdetailList(sqh); + if(labReqdetailList.size() <= 0) return new Result("-1","没有找到对应的申请单明细表数据!"); + List labResultList = commonUtil.getLabResultList(jyrq, yq, ybh); + LabPatWarning labPatWarningOne = lisWarningUtil.getLabPatWarningOne(jyrq, yq, ybh); + String isWjz = "0"; + if(labPatWarningOne != null){ + isWjz = "1"; + } + boolean isxjy = commonUtil.isxjy(yq); + + String reportId = DateUtil.format(jyrq, "yyyyMMdd") + "|" + yq.trim() + "|" + ybh; + Map ageFromBirthDay = LisUtil.getAgeFromBirthDay(DateUtil.format(labReqmainOne.getBrsr(), "yyyy-MM-dd")); + String zd = labReqmainOne.getZd(); + String[] strings = StrUtil.splitToArray(zd, "&"); + String zdmc = ""; + String zddm = ""; + if(strings.length == 2){ + zddm = strings[0]; + zdmc = strings[1]; + } + + String yzdh = ""; + String yzmc = ""; + for (LabReqdetail labReqdetail : labReqdetailList) { + String sqxmdh = labReqdetail.getSqxmdh(); + String sqxmmc = labReqdetail.getSqxmmc(); + yzdh = yzdh+","+sqxmdh; + yzmc = yzmc+","+sqxmmc; + } + yzdh = yzdh.substring(1); + yzmc = yzmc.substring(1); + + + String bz2 = labReqdetailList.get(0).getBz2(); + Map lisRptMap = new HashMap<>(); + lisRptMap.put("WorksheetId",reportId); + lisRptMap.put("WorksheetTypeId",reportId); + lisRptMap.put("WorksheetTypeName",labPatOne.getJymd()); + lisRptMap.put("ReportName",labPatOne.getJymd()); + lisRptMap.put("SampleBarcode",sqh); + lisRptMap.put("PatUnitId",""); + lisRptMap.put("PatUnitName",""); + lisRptMap.put("VisitType",labPatOne.getBrly()); + lisRptMap.put("VisitId",bz2); + lisRptMap.put("PatNo",labPatOne.getBrdh()); + lisRptMap.put("PatName",labPatOne.getBrxm()); + lisRptMap.put("PatDeptId",labPatOne.getKsdh()); + lisRptMap.put("PatDeptName",commonUtil.getComDictValues("DP",labPatOne.getKsdh())); + lisRptMap.put("PatWardId",labReqmainOne.getBz2()); + lisRptMap.put("PatWardName",""); + lisRptMap.put("BedId",labReqmainOne.getCh()); + lisRptMap.put("BedName",""); + lisRptMap.put("Sex",labReqmainOne.getBrxb()); + String age = ageFromBirthDay.get("age"); + String unit = ageFromBirthDay.get("unit"); + switch (unit){ + case "岁": + lisRptMap.put("AgeYear",age); + lisRptMap.put("AgeMonth",""); + lisRptMap.put("AgeDay",""); + break; + case "月": + lisRptMap.put("AgeYear",""); + lisRptMap.put("AgeMonth",age); + lisRptMap.put("AgeDay",""); + break; + case "天": + lisRptMap.put("AgeYear",""); + lisRptMap.put("AgeMonth",""); + lisRptMap.put("AgeDay",age); + break; + } + lisRptMap.put("AgeText",""); + lisRptMap.put("Icd10",zddm); + lisRptMap.put("DIAGNOSE",zdmc); + lisRptMap.put("EmType",labReqmainOne.getJzbz()); + lisRptMap.put("ProfId",""); + lisRptMap.put("ProfName",""); + lisRptMap.put("SampleTypeCode",""); + lisRptMap.put("SampleTypeName",labReqmainOne.getYblx()); + lisRptMap.put("ContainerCode",""); + lisRptMap.put("ContainerName",""); + lisRptMap.put("CollectUserId",labReqmainOne.getCyr()); + lisRptMap.put("CollectUserName",commonUtil.getComDictValues("SRD",labReqmainOne.getCyr())); + lisRptMap.put("CollectDt",DateUtil.format(labReqmainOne.getCysj(),"yyyy-MM-dd HH:mm:ss")); + lisRptMap.put("TestUnitId",""); + lisRptMap.put("TestUnitName",""); + lisRptMap.put("TestDeptId",""); + lisRptMap.put("TestDeptName",""); + lisRptMap.put("TestDate",DateUtil.format(jyrq,"yyyy-MM-dd")); + lisRptMap.put("TestNo",ybh); + lisRptMap.put("TestUserId",labPatOne.getSjys()); + lisRptMap.put("TestUserName",commonUtil.getComDictValues("SRD",labPatOne.getSjys())); + lisRptMap.put("AuditDt",DateUtil.format(labPatOne.getConfirmdt(),"yyyy-MM-dd HH:mm:ss")); + lisRptMap.put("AuditUserId",labPatOne.getConfirmer()); + lisRptMap.put("AuditUserName",commonUtil.getComDictValues("SRD",labPatOne.getConfirmer())); + lisRptMap.put("RptDt",DateUtil.format(labPatOne.getConfirmdt(),"yyyy-MM-dd HH:mm:ss")); + lisRptMap.put("RptUserId",labPatOne.getConfirmer()); + lisRptMap.put("RptUserName",commonUtil.getComDictValues("SRD",labPatOne.getConfirmer())); + lisRptMap.put("IsCritical",isWjz); + lisRptMap.put("IsInfect",""); + lisRptMap.put("IsMdro",""); + lisRptMap.put("IsMicrobe",isxjy?"1":"0"); + lisRptMap.put("SampleStatusCode","1"); + lisRptMap.put("SampleStatusName","正常"); + lisRptMap.put("RptQual",""); + lisRptMap.put("RptContent",""); + lisRptMap.put("RptAdvice",""); + lisRptMap.put("RptMemo",""); + lisRptMap.put("RptOrderIdList",yzdh); + lisRptMap.put("RptOrderNameList",yzmc); + + + List> itemResultList = new ArrayList<>(); + List> microResultList = new ArrayList<>(); + for (LabResult labResult : labResultList) { + String xmdh = labResult.getXmdh(); + String csjg = labResult.getCsjg(); + XmInfo xmInfoOne = commonUtil.getXmInfoOne(yq, xmdh); + String xmlb_lis = xmInfoOne.getXmlb(); + String xmlb = ""; + //1.数值型,2.文字型,3.阴阳性型,4.数值文字混合型 + switch (xmlb_lis){ + case "1": + xmlb = "3"; + break; + case "2": + xmlb = "2"; + break; + case "3": + xmlb = "1"; + break; + case "4": + xmlb = "2"; + break; + } + Map itemResultMap = new HashMap<>(); + itemResultMap.put("ItemCode",xmdh); + itemResultMap.put("ItemNameCn",xmInfoOne.getXmmc()); + itemResultMap.put("ItemNameEn",xmdh); + + itemResultMap.put("ItemResultType",xmlb); + if(xmlb_lis.equals("3")){ + String valueQual = ""; + if(csjg.equals("阴性")){ + valueQual = "1"; + } else if (csjg.equals("阳性")) { + valueQual = "2"; + }else{ + valueQual = "3"; + } + itemResultMap.put("ValueQual",valueQual); + }else{ + itemResultMap.put("ValueQual",""); + } + itemResultMap.put("ValueMain",csjg); + itemResultMap.put("HighLowFlag",labResult.getResult_flag()); + itemResultMap.put("ReferenceValue",labResult.getRefs()); + itemResultMap.put("ReferenceUnit",labResult.getDw()); + itemResultMap.put("ValueOd",labResult.getOd()); + itemResultMap.put("ValueSco",""); + itemResultMap.put("ValueCf",labResult.getCutoff()); + itemResultMap.put("ValueBinary",""); + itemResultMap.put("ValueBinaryFmt",""); + itemResultMap.put("DisplaySn",xmInfoOne.getDyxh()); + itemResultMap.put("OrderId",labResult.getSqxmdh()); + itemResultMap.put("OrderName",commonUtil.getXmFeeOne(labResult.getSqxmdh())); + itemResultList.add(itemResultMap); + + //药敏结果 + List> drugResultList = new ArrayList<>(); + List labResultmedList = commonUtil.getLabResultmedList(jyrq, yq, ybh, xmdh); + for (LabResultmed labResultmed : labResultmedList) { + String xmdh_med = labResultmed.getXmdh(); + XmMed xmMed = commonUtil.getXmMed(xmdh_med); + Map drugResultMap = new HashMap<>(); + drugResultMap.put("DrugCode",labResultmed.getXmdh()); + drugResultMap.put("DrugNameEn",xmMed.getYwdh()); + drugResultMap.put("DrugNameCn",xmMed.getYwmc()); + drugResultMap.put("AstDrugGroup",""); + drugResultMap.put("AstMethod",labResultmed.getMic() == null ? "1":"2"); + drugResultMap.put("AstValue",""); + drugResultMap.put("AstSensValue",""); + drugResultMap.put("SensRange",""); + drugResultMap.put("InteRange",""); + drugResultMap.put("ResiRange",""); + drugResultMap.put("DisplaySn",xmMed.getSeq()); + drugResultList.add(drugResultMap); + } + + //微生物结果 + Map microResultMap = new HashMap<>(); + if(isxjy){ + microResultMap.put("GermCode",xmdh); + microResultMap.put("GermNameEn",xmdh); + microResultMap.put("GermNameCn",xmInfoOne.getXmmc()); + microResultMap.put("LawnCount",""); + microResultMap.put("Explain",""); + microResultMap.put("AstAdvice",""); + microResultMap.put("GramCode",""); + microResultMap.put("GramName",""); + microResultMap.put("GermEsbl",""); + if(labResult.getTextresult() == null || "".equals(labResult.getTextresult())){ + microResultMap.put("DrType","0"); + }else{ + microResultMap.put("DrType","1"); + } + String textresult = labResult.getTextresult(); + if(textresult.length() >= 200){ + textresult = textresult.substring(0,200); + } + microResultMap.put("DrMemo",textresult); + microResultMap.put("DisplaySn",""); + microResultMap.put("DrugResult",drugResultList); + microResultList.add(microResultMap); + }else{ + microResultMap.put("GermCode",""); + microResultMap.put("GermNameEn",""); + microResultMap.put("GermNameCn",""); + microResultMap.put("LawnCount",""); + microResultMap.put("Explain",""); + microResultMap.put("AstAdvice",""); + microResultMap.put("GramCode",""); + microResultMap.put("GramName",""); + microResultMap.put("GermEsbl",""); + microResultMap.put("DrType",""); + microResultMap.put("DrMemo",""); + microResultMap.put("DisplaySn",""); + microResultMap.put("DrugResult",""); + microResultList.add(microResultMap); + } + } + lisRptMap.put("ItemResult",itemResultList); + lisRptMap.put("MicroResult",microResultList); + + Map lisRptFileMap = new HashMap<>(); + lisRptFileMap.put("FileType",""); + lisRptFileMap.put("FileContent",""); + + + + Map map = new HashMap<>(); + map.put("LisRpt",lisRptMap); + map.put("LisRptFile",lisRptFileMap); + + return toXml("06001","LisRpt", map); + + } } diff --git a/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/task/JldermyyTask.java b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/task/JldermyyTask.java new file mode 100644 index 0000000..da35a44 --- /dev/null +++ b/lisinterface_jldermyy/src/main/java/com/czlisinterface/jldermyy/task/JldermyyTask.java @@ -0,0 +1,33 @@ +package com.czlisinterface.jldermyy.task; + +import com.czlisinterface.jldermyy.service.impl.Lisinterface_jldermyy; +import com.czlisinterface.system.pojo.Result; +import com.czlisinterface.system.task.BaskCommonTask; +import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; +import java.util.Date; + +@Slf4j +@Configuration +@ConditionalOnProperty(name="lisinterface.task.job",havingValue = "jldermyy_new1") +public class JldermyyTask extends BaskCommonTask { + + @Resource + Lisinterface_jldermyy lisinterfaceJldermyy; + + + @Override + public void execute() { + sendReportTask(); + } + + @Override + public Result sendReport(Date jyrq, String yq, String ybh, String status, String... param) { + return lisinterfaceJldermyy.sendHISReport(jyrq,yq,ybh,status); + } + + +}