From ac044a54fab8d7d730116738b680278749a795fd Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期六, 18 七月 2026 14:28:51 +0800
Subject: [PATCH] 【景宁】预出院同步死亡

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 56 insertions(+), 1 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 09add5e..0e8068a 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1050,6 +1050,13 @@
             int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
         }
+
+        //绂婚櫌鏂瑰紡浠g爜 1-鍖荤灘绂婚櫌 2-鍖诲槺杞櫌 3-鍖诲槺杞ぞ鍖哄崼鐢熸湇鍔℃満鏋�/涔¢晣鍗敓闄�
+        // 4-闈炲尰鍢辩闄� 5-姝讳骸 9-鍏朵粬 10-浠嬪叆瀹� 20-鎵嬫湳瀹�
+        String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null;
+        if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
+            deathPatProcess(liYuanQxdm,patMedInhosp1);
+        }
         return true;
     }
 
@@ -1091,6 +1098,13 @@
                 } catch (ParseException e) {
                     e.printStackTrace();
                 }
+            }
+
+            //绂婚櫌鏂瑰紡浠g爜 1-鍖荤灘绂婚櫌 2-鍖诲槺杞櫌 3-鍖诲槺杞ぞ鍖哄崼鐢熸湇鍔℃満鏋�/涔¢晣鍗敓闄�
+            // 4-闈炲尰鍢辩闄� 5-姝讳骸 9-鍏朵粬 10-浠嬪叆瀹� 20-鎵嬫湳瀹�
+            String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null;
+            if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
+                deathPatProcess(liYuanQxdm,patMedInhosp1);
             }
             return true;
         } else {
@@ -1423,7 +1437,7 @@
             Boolean addMianTableFalg = true;
             for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) {
                 PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
-                patMedOperationItem.setOpid(patMedOperation.getId());
+                patMedOperationItem.setOpid(patMedOperation.getOpid());
                 patMedOperationItem.setOpcode(externalOperationDetail.getShouShuMCID());
                 patMedOperationItem.setOpdesc(externalOperationDetail.getShouShuMC());
                 patMedOperationItem.setMainFlag(externalOperationDetail.getZhuShouSBZ());
@@ -2086,4 +2100,45 @@
         return requestParams;
     }
 
+    /**
+     * 姝讳骸鎮h�呭鐞�
+     * @param liYuanQxdm
+     * @param patMedInhosp
+     * @return
+     */
+    private int deathPatProcess(String liYuanQxdm, PatMedInhosp patMedInhosp){
+        //姝讳骸鏍囪
+        Boolean deathFlag = false;
+        //鍒ゆ柇鐥呬汉鏄惁姝讳骸
+        if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
+            deathFlag = true;
+        }
+        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+        if(ObjectUtils.isNotEmpty(patArchive)) {
+            patMedInhosp.setInhospstate("1");
+            if (deathFlag) {
+                //鐥呬汉姝讳骸鏃犻』闅忚
+                patMedInhosp.setFuflag("0");
+                //鏇存柊鐥呬汉 notrequiredFlag
+                patArchive.setNotrequiredFlag("1");
+                patArchive.setNotrequiredreason("鎮h�呭凡绂讳笘");
+                patArchiveMapper.updatePatArchive(patArchive);
+                //瀵瑰凡缁忕敓鎴愮殑闅忚浠诲姟杩涜澶勭悊
+                ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
+                serviceSubtaskVO.setPatid(patArchive.getId());
+                serviceSubtaskVO.setSendstate(2L);
+                List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+                for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+                    serviceSubtask.setSendstate(4L);
+                    serviceSubtask.setRemark(serviceSubtask.getRemark() + ";鎮h�呭凡绂讳笘锛屼笉闅忚");
+                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                }
+            } else {
+                return 0;
+            }
+        }else {
+            return -1;
+        }
+        return 1;
+    }
 }

--
Gitblit v1.9.3