From 253dc0898108a87d6147790fca7ff125aefa140f Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 28 十月 2026 10:21:04 +0800
Subject: [PATCH] 【丽水】resource 再次随访方式(不存表)

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   97 ++++++++++++++++--------------------------------
 1 files changed, 33 insertions(+), 64 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 715c712..954734b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -908,25 +908,21 @@
             }
             String config = configService.selectConfigByKey("visit.early.day");
             Integer type = 1;
-            String visitType = resolveAgainVisitType(request, serviceSubtask);
-            if (StringUtils.isEmpty(visitType)) {
-                String requestVisitType = request == null ? null : request.getVisitType();
-                log.error("鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛岄殢璁挎柟寮忎笉鍚堟硶, visitType = {}, subTaskId = {}", requestVisitType, serviceSubtask.getId());
-                return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛岄殢璁挎柟寮忎笉鍚堟硶, visitType = " + requestVisitType + ", 鍐嶈娆¢噸璇�";
+            String resource = resolveAgainResource(request);
+            if (StringUtils.isEmpty(resource)) {
+                String requestResource = request == null ? null : request.getResource();
+                log.error("鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屽啀娆¢殢璁挎柟寮忎笉鍚堟硶, resource = {}, subTaskId = {}", requestResource, serviceSubtask.getId());
+                return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屽啀娆¢殢璁挎柟寮忎笉鍚堟硶, resource = " + requestResource + ", 鍐嶈娆¢噸璇�";
             }
             String visitDeptCode;
             String visitDeptName;
-            if ("1".equals(visitType)) {
-                // 鏈瀹ら殢璁匡細璇锋眰鍊� > 鍘熶换鍔℃湰绉戝闅忚绉戝 > 鍘熶换鍔″嚭闄㈢瀹�
-                String requestDeptCode = request == null ? null : request.getVisitDeptCode();
-                String requestDeptName = request == null ? null : request.getVisitDeptName();
-                String oldVisitType = serviceSubtask.getVisitType();
-                String oldOwnDeptCode = "1".equals(oldVisitType) ? serviceSubtask.getVisitDeptCode() : null;
-                String oldOwnDeptName = "1".equals(oldVisitType) ? serviceSubtask.getVisitDeptName() : null;
-                String preferredDeptCode = firstNonBlank(requestDeptCode, oldOwnDeptCode);
-                if (StringUtils.isNotEmpty(preferredDeptCode)) {
-                    visitDeptCode = preferredDeptCode;
-                    visitDeptName = firstNonBlank(requestDeptName, oldOwnDeptName);
+            if ("1".equals(resource)) {
+                // 鏈瀹ら殢璁匡細璇锋眰绉戝浼樺厛锛屾湭浼犳椂浣跨敤鍘熶换鍔″嚭闄㈢瀹わ紱涓嶄緷璧栧師浠诲姟 visitType
+                String requestDeptCode = firstNonBlank(request == null ? null : request.getVisitDeptCode());
+                String requestDeptName = firstNonBlank(request == null ? null : request.getVisitDeptName());
+                if (StringUtils.isNotEmpty(requestDeptCode)) {
+                    visitDeptCode = requestDeptCode;
+                    visitDeptName = requestDeptName;
                 } else {
                     visitDeptCode = serviceSubtask.getDeptcode();
                     visitDeptName = serviceSubtask.getDeptname();
@@ -985,7 +981,8 @@
 
             // 浜屾闅忚鏃堕棿锛氫笂娆¢殢璁垮畬鎴愭椂闂达紙鏈畬鎴愬垯褰撳墠鏃堕棿锛�+ 涓嬩竴浠诲姟鍙戦�佸ぉ鏁帮紱杩囧幓鏃堕棿鍏滃簳涓哄綋鍓嶆椂闂�
             applyAgainVisitTime(serviceSubtaskAgain, serviceSubtask, nextServiceTask, config, now);
-            serviceSubtaskAgain.setVisitType(visitType);
+            // 鏂颁换鍔$殑闅忚鏂瑰紡璁板綍鏈閫夋嫨鐨勫啀娆¢殢璁挎柟寮忥紱resource 鏈韩涓嶈惤搴�
+            serviceSubtaskAgain.setVisitType(resource);
             serviceSubtaskAgain.setVisitDeptCode(visitDeptCode);
             serviceSubtaskAgain.setVisitDeptName(visitDeptName);
             int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtaskAgain);
@@ -1006,20 +1003,17 @@
     }
 
     /**
-     * 瑙f瀽鍐嶆闅忚鏂瑰紡锛氳姹傚弬鏁颁紭鍏堬紝鍘熶换鍔″厹搴曪紝鏈厤缃椂榛樿闅忚涓績銆�
+     * 瑙f瀽鍐嶆闅忚鏂瑰紡锛氫粎鍙栬姹傚弬鏁� resource锛屼笉浣跨敤鍘熶换鍔� visitType锛涙湭浼犳椂榛樿闅忚涓績銆�
      *
      * @return 1-鏈瀹ら殢璁匡紱2-闅忚涓績闅忚锛沶ull-闈炴硶鍊�
      */
-    private String resolveAgainVisitType(ServiceSubtask request, ServiceSubtask old) {
-        String visitType = request == null ? null : request.getVisitType();
-        if (StringUtils.isEmpty(visitType) || StringUtils.isEmpty(visitType.trim())) {
-            visitType = old == null ? null : old.getVisitType();
-        }
-        if (StringUtils.isEmpty(visitType) || StringUtils.isEmpty(visitType.trim())) {
+    private String resolveAgainResource(ServiceSubtask request) {
+        String resource = request == null ? null : request.getResource();
+        if (StringUtils.isEmpty(resource) || StringUtils.isEmpty(resource.trim())) {
             return "2";
         }
-        visitType = visitType.trim();
-        return ("1".equals(visitType) || "2".equals(visitType)) ? visitType : null;
+        resource = resource.trim();
+        return ("1".equals(resource) || "2".equals(resource)) ? resource : null;
     }
 
     private String firstNonBlank(String... values) {
@@ -1091,8 +1085,8 @@
      * 棣栨闅忚浠诲姟瓒呮椂鍚庯紝鎸変笅涓�浠诲姟鑷姩鐢熸垚鍐嶆闅忚浠诲姟銆�
      * <p>
      * 瀹氭椂浠诲姟鍏ュ彛 {@code RyTask#dealSubtaskDeadline} 浣跨敤銆備笌鎵嬪姩鍏ュ彛涓�鑷寸殑閮ㄥ垎锛�
-     * 琛ㄥ崟/鍙戦�佹柟寮忓彇涓嬩竴浠诲姟銆侀摼璺� upid + visit_count銆佸彂閫佹柟寮忔槑缁嗗垵濮嬪寲銆佹寜 visitType 閫夋嫨闅忚绉戝锛�
-     * 宸紓锛氶殢璁夸腑蹇冪瀹ゆ湭閰嶇疆鏃跺洖閫�鍘熶换鍔$瀹わ紝鍘熶换鍔$疆涓哄彂閫佸け璐ワ紙sendstate=5锛夈��
+     * 琛ㄥ崟/鍙戦�佹柟寮忓彇涓嬩竴浠诲姟銆侀摼璺� upid + visit_count銆佸彂閫佹柟寮忔槑缁嗗垵濮嬪寲锛�
+     * 宸紓锛氳秴鏃跺啀娆¢殢璁垮浐瀹氳蛋闅忚涓績绉戝锛堥殢璁夸腑蹇冩湭閰嶇疆鏃跺洖閫�鍘熶换鍔$瀹わ級锛屽師浠诲姟缃负鍙戦�佸け璐ワ紙sendstate=5锛夈��
      * <p>
      * 骞傜瓑锛氬悓涓�鍘熶换鍔″彧鍏佽鐢熸垚涓�鏉″啀娆¢殢璁匡紙Redis 閿� + upid 鏍¢獙 + 鍘熶换鍔℃潯浠舵洿鏂帮級锛�
      * 澶氳妭鐐�/澶氱嚎绋嬪悓鏃舵壂鎻忔椂锛屽悗鍒扮殑浜嬪姟浼氬湪鏉′欢鏇存柊澶勬嬁鍒� 0 琛屽苟鍥炴粴鏈鎻掑叆銆�
@@ -1144,47 +1138,21 @@
                 return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屾湭鎵惧埌鎮h�呮。妗�, subTaskId = " + serviceSubtask.getId();
             }
             String config = configService.selectConfigByKey("visit.early.day");
-            String visitType = resolveAgainVisitType(null, serviceSubtask);
-            if (StringUtils.isEmpty(visitType)) {
-                return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛岄殢璁挎柟寮忎笉鍚堟硶, visitType = " + serviceSubtask.getVisitType();
-            }
             String visitDeptCode;
             String visitDeptName;
-            if ("1".equals(visitType)) {
-                // 鏈瀹ら殢璁匡細鍘熶换鍔¢殢璁跨瀹� > 鍘熶换鍔″嚭闄㈢瀹�
-                String ownDeptCode = firstNonBlank(serviceSubtask.getVisitDeptCode());
-                if (StringUtils.isNotEmpty(ownDeptCode)) {
-                    visitDeptCode = ownDeptCode;
+            // 闅忚涓績绉戝锛氭湭閰嶇疆锛堟垨绉戝涓嶅瓨鍦級鏃跺洖閫�鍘熶换鍔$瀹わ紝淇濇寔瓒呮椂鍏ュ彛鍘熸湁琛屼负
+            SysDept centerDept = selectCenterDept(serviceSubtask.getOrgid());
+            if (ObjectUtils.isNotEmpty(centerDept)) {
+                visitDeptCode = centerDept.getDeptCode();
+                visitDeptName = centerDept.getDeptName();
+            } else {
+                String fallbackDeptCode = firstNonBlank(serviceSubtask.getVisitDeptCode());
+                if (StringUtils.isNotEmpty(fallbackDeptCode)) {
+                    visitDeptCode = fallbackDeptCode;
                     visitDeptName = serviceSubtask.getVisitDeptName();
                 } else {
                     visitDeptCode = serviceSubtask.getDeptcode();
                     visitDeptName = serviceSubtask.getDeptname();
-                }
-                if (StringUtils.isEmpty(visitDeptCode)) {
-                    return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屾湰绉戝闅忚鏈壘鍒伴殢璁跨瀹�, subTaskId = " + serviceSubtask.getId();
-                }
-                SysDept ownDept = selectDeptByCode(serviceSubtask.getOrgid(), visitDeptCode);
-                if (ObjectUtils.isNotEmpty(ownDept)) {
-                    visitDeptCode = ownDept.getDeptCode();
-                    visitDeptName = ownDept.getDeptName();
-                } else if (StringUtils.isEmpty(visitDeptName)) {
-                    return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屾湰绉戝闅忚绉戝涓嶅瓨鍦�, deptCode = " + visitDeptCode + ", subTaskId = " + serviceSubtask.getId();
-                }
-            } else {
-                // 闅忚涓績绉戝锛氭湭閰嶇疆锛堟垨绉戝涓嶅瓨鍦級鏃跺洖閫�鍘熶换鍔$瀹わ紝淇濇寔瓒呮椂鍏ュ彛鍘熸湁琛屼负
-                SysDept centerDept = selectCenterDept(serviceSubtask.getOrgid());
-                if (ObjectUtils.isNotEmpty(centerDept)) {
-                    visitDeptCode = centerDept.getDeptCode();
-                    visitDeptName = centerDept.getDeptName();
-                } else {
-                    String fallbackDeptCode = firstNonBlank(serviceSubtask.getVisitDeptCode());
-                    if (StringUtils.isNotEmpty(fallbackDeptCode)) {
-                        visitDeptCode = fallbackDeptCode;
-                        visitDeptName = serviceSubtask.getVisitDeptName();
-                    } else {
-                        visitDeptCode = serviceSubtask.getDeptcode();
-                        visitDeptName = serviceSubtask.getDeptname();
-                    }
                 }
             }
             ServiceSubtask serviceSubtaskAgain = patMedInhospService.boxedServiceSubtask(nextServiceTask,
@@ -1201,7 +1169,8 @@
             serviceSubtaskAgain.setIsVisitAgain(1);
             serviceSubtaskAgain.setCreateTime(now);
             serviceSubtaskAgain.setUpdateTime(now);
-            serviceSubtaskAgain.setVisitType(visitType);
+            // 瓒呮椂鍐嶆闅忚鍥哄畾涓洪殢璁夸腑蹇冮殢璁�
+            serviceSubtaskAgain.setVisitType("2");
             serviceSubtaskAgain.setVisitDeptCode(visitDeptCode);
             serviceSubtaskAgain.setVisitDeptName(visitDeptName);
             if (serviceSubtaskMapper.insertServiceSubtask(serviceSubtaskAgain) != 1) {

--
Gitblit v1.9.3