From 4761f2bc70814bde9929f1081a213a9ab38a7393 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 02 一月 2025 18:15:38 +0800 Subject: [PATCH] 采样管理确认采样增加调用lis请求 --- ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java | 251 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 224 insertions(+), 27 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java index 12e8a9c..f004e04 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java @@ -13,15 +13,24 @@ import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; import com.ltkj.system.service.ISysDeptService; +import com.sun.jna.platform.win32.WinDef; +import com.sun.org.apache.xpath.internal.operations.Bool; +import jodd.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import java.security.PrivateKey; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; + + + + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; /** * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 @@ -46,9 +55,184 @@ private LtkjExamJcsqdService ltkjExamJcsqdService; @Autowired private LtkjExamJcbgdService ltkjExamJcbgdService; + @Autowired + private PacsApiMethodService pacsApiMethodService; - @PostMapping("QueryOrder") - public String queryOrder(@RequestBody String json){ + // 浣撴寮�妫�鏌ョ敵璇峰崟璋冪敤姝ゆ帴鍙f帹閫佺粰pacs鏈嶅姟 + public boolean OrderAdd(String tjNumber) + { + try { + //浠庝綋妫�鏁版嵁搴撲腑鏌ヨ鍑虹敵璇峰崟鏁版嵁 璋冪敤 pacs webservice 鎺ュ彛 OrderAdd瀹炵幇鐢宠鍗曟帹閫� + HashMap<String, Object> hashMap = new HashMap<>(); + if (true){ + HashMap<String, Object> result = new HashMap<>(); +// result.put("PatientId",0); +// result.put("PatType","PatType"); +// result.put("Operator","Operator"); +// result.put("HisID","HisID"); + + hashMap.put("Root",result); + } + return ComSjyjtPacs(XmlUtil.mapToXmlStr(hashMap)); + }catch (Exception ex) + { + return false; + } + } + + // 浣撴鎾ら攢鐢宠鍗曞悗璋冪敤姝ゆ帴鍙f挙閿�pacs鐢宠鍗� + public boolean OrderDelete(String tjNumber) + { + //鍏ュ弬瀛楁 +// <PatientId> HIS鎴栦綋妫�鐥呬汉ID </PatientId> +// <PatType>鐥呬汉绫诲瀷</PatType > +// <Operator>鎿嶄綔浜哄伐鍙�</Operator> +// <HisID>HIS鎴栦綋妫�鐢宠鍗曞彿</HisID> + try { + //浠庝綋妫�鏁版嵁搴撲腑鏌ヨ鍑虹敵璇峰崟鏁版嵁 璋冪敤 pacs webservice 鎺ュ彛 OrderAdd瀹炵幇鐢宠鍗曟帹閫� + + HashMap<String, Object> hashMap = new HashMap<>(); + if (null == null){ + HashMap<String, Object> result = new HashMap<>(); + result.put("PatientId",0); + result.put("PatType","PatType"); + result.put("Operator","Operator"); + result.put("HisID","HisID"); + + hashMap.put("Root",result); + } + return ComSjyjtPacs(XmlUtil.mapToXmlStr(hashMap)); + }catch (Exception ex) + { + return false; + } + } + // 闄曞仴鍖婚泦鍥㈣皟鐢╬acs鎺ュ彛Webservice + public boolean ComSjyjtPacs(String inputLine) + { + String apiUrl = "http://100.100.100.222:8000/WebInterfaceService.asmx"; // 鏇挎崲涓轰綘鐨凙PI URL + + try { + URL url = new URL(apiUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + + int responseCode = connection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + + StringBuffer response = new StringBuffer(); + + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + + in.close(); + + // 鎵撳嵃缁撴灉 + System.out.println(response.toString()); + } else { +// System.out.println("ComSjyjtPacs闄曞仴鍖婚泦鍥㈣皟鐢╬acs鎺ュ彛Webservice璋冪敤澶辫触锛佲��); + } + } catch (Exception e) { + e.printStackTrace(); + } + return true; + + } + + + @PostMapping("InvokeRisService") + public String InvokeRisService(String dataSourceName, String action, String message) + { + + String rusue=null; + switch (StringUtil.toLowerCase(action) ) + { + case "qeryorder": + rusue= queryOrder(dataSourceName); + break; + case "updateorderstatus": + rusue= updateOrderstatus(dataSourceName); + break; + case "reportverifyupload": + rusue= reportVerifyUpload(dataSourceName); + break; + + } + HashMap<String, Object> hashMap = new HashMap<>(); + // <Code>鎵ц鐘舵�� 鎵ц鐘舵�� 1 鎴愬姛锛� 0澶辫触</Code> + // <Message>缁撴灉娑堟伅</Message> + HashMap<String, Object> result = new HashMap<>(); + if(rusue==null) + { + result.put("Code", 1); + result.put("Message", "鎺ュ彛鎴愬姛"); + } + else { + result.put("Code", 0); + result.put("Message", rusue); + } + hashMap.put("ResultInfor", result); + return XmlUtil.mapToXmlStr(hashMap); + } + + + private String updateOrderstatus(@RequestBody String json) { + // <PatientId> HIS鎴栦綋妫�鐥呬汉ID </PatientId> + // <PatType>鐥呬汉绫诲瀷</PatType > + // <Operator>鎿嶄綔浜哄伐鍙�</Operator> + // <HisID>HIS鎴栦綋妫�鐢宠鍗曞彿</HisID> + // <OrderStatus>鍗曟嵁鐘舵��</OrderStatus> + Map<String, Object> map = XmlUtil.xmlToMap(json); + JSONObject parseObj = JSONUtil.parseObj(map); + String msgStr = ""; + //蹇呭~HIS鎴栦綋妫�鐥呬汉ID + String PatientId = parseObj.getStr("PatientId"); + // 蹇呭~ 鐥呬汉绫诲瀷鐥呬汉绫诲瀷O锛氶棬璇婏紝I:浣忛櫌锛孭:浣撴 + String PatType = parseObj.getStr("PatType"); + // 蹇呭~ 鎿嶄綔浜哄伐鍙� + String Operator = parseObj.getStr("Operator"); + // 蹇呭~ HIS鎴栦綋妫�鐢宠鍗曞彿 + String HisID = parseObj.getStr("HisID"); + // 蹇呭~ 鍗曟嵁鐘舵�� 鍗曟嵁鐘舵�� 1宸茬櫥璁帮紝0鍙栨秷鐧昏 + String OrderStatus = parseObj.getStr("OrderStatus"); + + if (PatientId == "") { + msgStr = msgStr + "HIS鎴栦綋妫�鐥呬汉ID鏈~鍐� ; "; + } + if (PatType == "") { + msgStr = msgStr + "鐥呬汉绫诲瀷鏈~鍐� ; "; + } + if (Operator == "") { + msgStr = msgStr + "鎿嶄綔浜哄伐鍙锋湭濉啓 ; "; + } + if (HisID == "") { + msgStr = msgStr + "HIS鎴栦綋妫�鐢宠鍗曞彿鏈~鍐� ; "; + } + if (OrderStatus == "") { + msgStr = msgStr + "鍗曟嵁鐘舵�佹湭濉啓 ; "; + } + + HashMap<String, Object> hashMap = new HashMap<>(); + // <Code>鎵ц鐘舵�� 鎵ц鐘舵�� 1 鎴愬姛锛� 0澶辫触</Code> + // <Message>缁撴灉娑堟伅</Message> + HashMap<String, Object> result = new HashMap<>(); + if(msgStr=="") + { + result.put("Code", 1); + result.put("Message", "鎺ュ彛鎴愬姛"); + } + else { + result.put("Code", 0); + result.put("Message", msgStr); + } + hashMap.put("ResultInfor", result); + return XmlUtil.mapToXmlStr(hashMap); + } + +// @PostMapping("QueryOrder") + private String queryOrder(@RequestBody String json){ Map<String, Object> map = XmlUtil.xmlToMap(json); JSONObject parseObj = JSONUtil.parseObj(map); String hospitalID = parseObj.getStr("HospitalID"); @@ -70,7 +254,7 @@ HashMap<String, Object> hashMap = new HashMap<>(); if (customer == null){ HashMap<String, Object> result = new HashMap<>(); - result.put("Code",500); + result.put("Code",0); result.put("Message","鏈煡璇㈠埌浜哄憳淇℃伅"); hashMap.put("ResultInfor",result); return XmlUtil.mapToXmlStr(hashMap); @@ -78,7 +262,7 @@ List<TjOrder> list = tjOrderService.list(new LambdaQueryWrapper<TjOrder>().eq(TjOrder::getUserId, customer.getCusId()).orderByDesc(TjOrder::getCreateTime)); if (list.isEmpty()){ HashMap<String, Object> result = new HashMap<>(); - result.put("Code",500); + result.put("Code",0); result.put("Message","鏈煡璇㈠埌璁板綍淇℃伅"); hashMap.put("ResultInfor",result); return XmlUtil.mapToXmlStr(hashMap); @@ -102,26 +286,29 @@ patientInfo.put("PatBirthday",customer.getCusBrithday()); patientInfo.put("IdCard",customer.getCusIdcard()); -// ArrayList<HashMap<String, Object>> examItems = new ArrayList<>(); - String examItems = ""; +// String examItems = ""; + HashMap<String, Object> examItem = new HashMap<>(); + List<Map<String,Object>> lists = new ArrayList<>(); for (TjProject project : projects) { - HashMap<String, Object> examItem = new HashMap<>(); - examItem.put("HisID", tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); - examItem.put("EmergencyFlag", "0"); - examItem.put("ExamItemID", project.getHisXmbm()); - examItem.put("ExamItemName", project.getHisXmmc()); - examItem.put("OrderDT", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tjOrder.getCreateTime())); + HashMap<String, Object> examItems = new HashMap<>(); + examItems.put("HisID", tjOrder.getTjNumber() + String.valueOf(project.getProId()).substring(String.valueOf(project.getProId()).length() - 4)); + examItems.put("EmergencyFlag", "0"); + examItems.put("ExamItemID", project.getHisXmbm()); + examItems.put("ExamItemName", project.getHisXmmc()); + examItems.put("OrderDT", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tjOrder.getCreateTime())); SysDept dept = deptService.getById(project.getDeptId()); - examItem.put("Modality", dept.getModality()); - examItems += "<ExamItem>"+ - XmlUtil.mapToXmlStr(examItem) - .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") - .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") - .replaceAll("<xml>","") - .replaceAll("</xml>","") - +"</ExamItem>"; + examItems.put("Modality", dept.getModality()); +// examItems += "<ExamItem>"+ +// XmlUtil.mapToXmlStr(examItem) +// .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") +// .replaceAll("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>","") +// .replaceAll("<xml>","") +// .replaceAll("</xml>","") +// +"</ExamItem>"; + lists.add(examItems); } - hashMap.put("ExamItemList", examItems); + examItem.put("ExamItem",list); + hashMap.put("ExamItemList", examItem); hashMap.put("PatientInfor",patientInfo); HashMap<String, Object> result = new HashMap<>(); result.put("Code",1); @@ -131,8 +318,8 @@ .replaceAll("<","<").replaceAll(">",">"); } - @PostMapping("ReportVerifyUpload") - public String reportVerifyUpload(@RequestBody String json){ + //@PostMapping("ReportVerifyUpload") + private String reportVerifyUpload(@RequestBody String json){ Map<String, Object> map = XmlUtil.xmlToMap(json); HashMap<String, Object> reportInfor = (HashMap<String, Object>) map.get("ReportInfor"); // cus_id @@ -192,4 +379,14 @@ return XmlUtil.mapToXmlStr(hashMap) .replaceAll("<","<").replaceAll(">",">"); } + + @GetMapping("test") + public String test(){ + TjCustomer tjCustomer = customerService.getById(1870373229901938690L); + LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjOrder::getUserId,tjCustomer.getCusId()); + TjOrder order = tjOrderService.getOne(wrapper); + pacsApiMethodService.OrderAdd(tjCustomer,order); + return "1111"; + } } -- Gitblit v1.8.0