From 3b16fd1b9c5f6a25141fdee61132f881bea35e40 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 17 七月 2026 17:38:09 +0800
Subject: [PATCH] 【景宁】JZ_ZY_LiQiang 离抢死亡标记

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  114 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 80 insertions(+), 34 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 f58bb00..745c58a 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,7 +1,10 @@
 package com.smartor.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSON;
+import cn.hutool.json.JSONUtil;
 import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.SysUserDept;
@@ -11,12 +14,14 @@
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
 import com.smartor.domain.*;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
 import com.smartor.service.IPatMedOuthospService;
 import com.smartor.service.IServiceExternalService;
 import lombok.extern.slf4j.Slf4j;
+import netscape.javascript.JSObject;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -1087,6 +1092,38 @@
                     e.printStackTrace();
                 }
             }
+
+            //姝讳骸鏍囪
+            Boolean deathFlag = 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)) {
+                deathFlag = true;
+            }
+            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+            if(ObjectUtils.isNotEmpty(patArchive)){
+                patMedInhosp1.setInhospstate("1");
+                if (deathFlag) {
+                    //鐥呬汉姝讳骸鏃犻』闅忚
+                    patMedInhosp1.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);
+                    }
+                }
+            }
             return true;
         } else {
             log.error("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo鐨勬病鏈夋壘鍒板搴旂殑鍑洪櫌璁板綍锛歿}", dataMap);
@@ -1418,7 +1455,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());
@@ -1860,40 +1897,18 @@
 
     @Override
     public Map<String, Object> query360PatInfolwl(Long patid, SysUser sysUser) {
-        Map<String, Object> result = new HashMap<>();
-        PatArchive pa = patArchiveMapper.selectPatArchiveByPatid(patid);
-        if (pa.getPatientno() == null) {
-            result.put("url", null);
-            result.put("error", "鎮h�呯紪鍙蜂负绌�");
-            return result;
+        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
+        Map<String, String> headers = buildRequestHeaders();
+        Map<String, Object> requestParams = buildRequestParams(sysUser,patArchive);
+        String result = HttpUtils.sendPostByHeader("http://cfdata.nhyfy.cn/kapi/hbos-h360/open/getNoLoginUrl", new Gson().toJson(requestParams), headers);
+        log.info("============result鐨勫�间负锛歿}",result);
+        Gson gson = new Gson();
+        Map<String, Object> map = null;
+        if (result != null) {
+            map = gson.fromJson(result, new TypeToken<Map<String, Object>>() {
+            }.getType());
         }
-
-        StringBuffer sbf = new StringBuffer("http://cfdata.nhyfy.cn/cfdata/h360/patient-summary?");
-        sbf.append("referer=thirdparty");
-        sbf.append("&encode=1");
-        sbf.append("&patientMainIndexNum=" + AesUtils.encrypt(pa.getPatientno()));
-        sbf.append("&workId=" + AesUtils.encrypt(sysUser.getUserName()));
-        sbf.append("&workName=" + AesUtils.encrypt(sysUser.getNickName()));
-        sbf.append("&hisOrgCode=" + AesUtils.encrypt("20001001"));
-        sbf.append("&hisOrgName=" + AesUtils.encrypt("鍗楀崕澶у闄勫睘绗竴鍖婚櫌"));
-        sbf.append("&hisHosCode=" + AesUtils.encrypt("30001002"));
-        sbf.append("&hisHosName=" + AesUtils.encrypt("鍗楀崕澶у闄勫睘绗竴鍖婚櫌"));
-        String url360 = null;
-        try {
-            url360 = URLEncoder.encode(sbf.toString(), "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            throw new RuntimeException(e);
-        }
-
-        StringBuffer stringBuffer = new StringBuffer("http://cfdata.nhyfy.cn/cfdata/login/nologin?");
-        //accountNo瀵规帴浜轰笉缁欙紝鍏堢┖鐫�---------------------------------------------------------------
-        stringBuffer.append("accountNo=");
-        stringBuffer.append("&source=third");
-        stringBuffer.append("&redirectUrl=" + url360);
-
-        result.put("url", stringBuffer.toString());
-        result.put("error", null);
-        return result;
+        return map;
     }
 
     private Boolean getType(String type, Map dataMap) {
@@ -2072,4 +2087,35 @@
         return ageMap;
     }
 
+
+    private Map<String, String> buildRequestHeaders() {
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json");
+        headers.put("app-key", "ak-0p5Qi0J1I4AL67ztEYQL1j9v");
+        return headers;
+    }
+
+    private Map<String, Object> buildRequestParams(SysUser sysUser,PatArchive patArchive) {
+        Map<String, Object> requestParams = new HashMap<>();
+        requestParams.put("key",  sysUser.getUserName());
+        requestParams.put("windowOpen", false);
+        requestParams.put("isShowHeader", false);
+        requestParams.put("encode", 1);
+
+        Map<String, Object> params = new HashMap<>();
+        //鐥呭巻鍙�
+        params.put("patientMainIndexNum", patArchive.getPatientno());
+        params.put("sourceSystem", "pacs");
+        params.put("workId", sysUser.getUserName());
+        params.put("workName", sysUser.getNickName());
+        params.put("hisDepName", sysUser.getDeptName());
+        params.put("hisDepCode", sysUser.getDeptCode());
+        params.put("hisOrgName", "鍗楀崕澶у闄勫睘绗竴鍖婚櫌");
+        params.put("hisOrgCode", "20001001");
+        params.put("hisHosName", "鍗楀崕澶у闄勫睘绗竴鍖婚櫌");
+        params.put("hisHosCode", "30001002");
+        requestParams.put("params", params);
+        return requestParams;
+    }
+
 }

--
Gitblit v1.9.3