From aed6d61750963f48efbd74f843175075684819de Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 12 五月 2026 15:00:46 +0800
Subject: [PATCH] 【市一】随访查询结果为0

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 14 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 0568ae2..b731d40 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -165,6 +165,12 @@
     @Value("${phoneEndHour}")
     private Integer phoneEndHour;
 
+    @Autowired
+    private Icd10Mapper icd10Mapper;
+
+    @Value("${spring.profiles.active}")
+    private String active;
+
     /**
      * 鏌ヨ鍗曚竴浠诲姟锛堥殢璁匡級
      *
@@ -515,6 +521,23 @@
         return serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
     }
 
+    @Override
+    public Boolean updateTemplate(ServiceSubtaskTemplateVO serviceSubtaskTemplateVO) {
+        ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubtaskTemplateVO.getSubId());
+        if (serviceSubtask == null || serviceSubtask.getSendstate() != 2L)
+            throw new BaseException("璇ヤ换鍔″凡鍙戦�佺粰鎮h�咃紝涓嶈兘鍐嶈繘琛屼慨鏀规ā鏉�");
+
+        Integer taskTempid = svyTaskTemplateService.saveOrUpdateTemplate(serviceSubtaskTemplateVO.getSvyTaskTemplateVO());
+        if (taskTempid == null) return false;
+
+        String tempName = svyTaskTemplateService.selectSvyTaskTemplateBySvyid(Long.valueOf(taskTempid)).getSvyname();
+        serviceSubtask.setTemplateid(taskTempid.longValue());
+        serviceSubtask.setTemplatename(tempName);
+        serviceSubtask.setUpdateBy(serviceSubtaskTemplateVO.getUpdateBy());
+        serviceSubtask.setLibtemplateid(serviceSubtaskTemplateVO.getSvyTaskTemplateVO().getTemplateid());
+        return updateServiceSubtask(serviceSubtask);
+    }
+
     /**
      * 鎵归噺鍒犻櫎鍗曚竴浠诲姟锛堥殢璁匡級
      *
@@ -615,10 +638,19 @@
                     ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
                     serviceTaskdiag.setTaskId(serviceTask.getTaskid());
                     serviceTaskdiag.setTaskName(serviceTask.getTaskName());
+                    serviceTaskdiag.setServiceType(serviceTaskVO.getServiceType());
                     serviceTaskdiag.setLongtask(Long.valueOf(serviceTask.getLongTask()));
                     if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L);
                     serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
                     serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
+                    //鍗楀崕闄勪竴鐨刬cd10code鏄湁閲嶅鐨勶紝鎵�浠ヤ笉鑳界敤鍗楀崕闄勪竴鐨刬cd10code鍘绘煡璇�
+                    if (!active.equals("nhfy") && StringUtils.isEmpty(serviceTaskVO.getIcd10name())) {
+                        Icd10 icd10 = new Icd10();
+                        icd10.setIcdcode(serviceTaskVO.getIcd10code());
+                        List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10);
+                        if (CollectionUtils.isNotEmpty(icd10s))
+                            serviceTaskdiag.setIcd10name(icd10s.get(0).getIcdname());
+                    }
                     serviceTaskdiag.setGuid(serviceTask.getGuid());
                     serviceTaskdiag.setOrgid(serviceTask.getOrgid());
                     serviceTaskdiag.setCreateTime(new Date());
@@ -642,12 +674,6 @@
                     serviceTaskoper.setOrgid(serviceTask.getOrgid());
                     serviceTaskoper.setCreateTime(new Date());
                     if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
-//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
-//                        for (String opcode : opcodes) {
-//                            serviceTaskoper.setOpcode(opcode);
-//                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
-//                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
-//                        }
                         log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
                         serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                     }
@@ -854,13 +880,19 @@
                     serviceTaskdiag.setUpdateTime(new Date());
                     if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
                         String[] icd10codes = serviceTaskVO.getIcd10code().split(",");
-                        for (String icdcode : icd10codes) {
+                        String[] icd10names = serviceTaskVO.getIcd10name().split(",");
+                        if (icd10codes.length != icd10names.length) {
+                            throw new BaseException("鐤剧梾缂栫爜鍜岀柧鐥呭悕绉版暟閲忎笉涓�鑷�");
+                        }
+                        for (int i = 0; i < icd10codes.length; i++) {
                             //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
                             ServiceTaskdiag serviceTaskdiag2 = new ServiceTaskdiag();
                             serviceTaskdiag2.setTaskId(serviceTaskVO.getTaskid());
-                            serviceTaskdiag2.setIcd10code(icdcode);
+                            serviceTaskdiag2.setIcd10code(icd10codes[i]);
+                            serviceTaskdiag2.setIcd10name(icd10names[i]);
                             List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag2);
-                            serviceTaskdiag.setIcd10code(icdcode);
+                            serviceTaskdiag.setIcd10code(icd10codes[i]);
+                            serviceTaskdiag.setIcd10name(icd10names[i]);
                             log.info("----serviceTaskdiag鏇存柊鐨勫�间负锛歿}", serviceTaskdiag);
                             if (CollectionUtils.isNotEmpty(serviceTaskdiags)) {
                                 serviceTaskdiag.setId(serviceTaskdiags.get(0).getId());
@@ -2375,7 +2407,7 @@
      * @return
      */
     @Override
-    @Cacheable(value = "sfStatistics", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
+//    @Cacheable(value = "sfStatistics", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
     public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
         log.info("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
         String groupKey = "drcode";
@@ -2492,7 +2524,7 @@
     }
 
     @Override
-    public List<ServiceSubtaskIsAbnormalStatistic> getSfStatisticsIsAbnormalExport(ServiceSubtaskCountReq serviceSubtaskCountReq){
+    public List<ServiceSubtaskIsAbnormalStatistic> getSfStatisticsIsAbnormalExport(ServiceSubtaskCountReq serviceSubtaskCountReq) {
 
         return null;
     }
@@ -3940,7 +3972,7 @@
                 serviceSubtask.setRemark(remark + ";鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触");
                 serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                 return true;
-            }else {
+            } else {
                 //鍔犲叆鐩墠琛ュ伩閲岀殑 remark
                 serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + remark : remark);
                 serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
@@ -4249,7 +4281,7 @@
         }
         // 1. 鏌ヨ鍒嗙粍缁熻锛堝彂閫佹�婚噺銆佸彂閫佹垚鍔熼噺銆佸凡璇婚噺锛�
         List<Map<String, Object>> groupStats = serviceSubtaskMapper.getHeLibraryCount(heLibraryCountVO);
-    
+
         // 2. 璁$畻鍚勭粍鐨勫彂閫佹垚鍔熺巼鍜屽凡璇荤巼
         List<Map<String, Object>> result = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(groupStats)) {
@@ -4266,7 +4298,7 @@
                 result.add(row);
             }
         }
-    
+
         Map<String, Object> resultMap = new HashMap<>();
         resultMap.put("list", result);
         resultMap.put("total", result.size());

--
Gitblit v1.9.3