From b7adb9e5316030aabfb90a8ff1b43c848aa550ec Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 05 六月 2025 12:37:45 +0800
Subject: [PATCH] 小程序查报告接口增加返回检查综述以及医师建议

---
 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("&lt;","<").replaceAll("&gt;",">");
     }
 
-    @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("&lt;","<").replaceAll("&gt;",">");
     }
+
+    @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