From 7518413aeb91ea9b9dd80c7a5d51057ff616a8f1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 13 五月 2026 14:53:13 +0800
Subject: [PATCH] 补偿问题处理提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 42 insertions(+), 17 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 61d3e86..d34e294 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -521,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);
+    }
+
     /**
      * 鎵归噺鍒犻櫎鍗曚竴浠诲姟锛堥殢璁匡級
      *
@@ -626,6 +643,13 @@
                     if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L);
                     serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
                     serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
+                    serviceTaskdiag.setGuid(serviceTask.getGuid());
+                    serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+                    serviceTaskdiag.setCreateTime(new Date());
+                    serviceTaskdiag.setDeptCode(serviceTaskVO.getDeptcode());
+                    serviceTaskdiag.setDeptName(serviceTaskVO.getDeptname());
+                    serviceTaskdiag.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
+                    serviceTaskdiag.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
                     //鍗楀崕闄勪竴鐨刬cd10code鏄湁閲嶅鐨勶紝鎵�浠ヤ笉鑳界敤鍗楀崕闄勪竴鐨刬cd10code鍘绘煡璇�
                     if (!active.equals("nhfy") && StringUtils.isEmpty(serviceTaskVO.getIcd10name())) {
                         Icd10 icd10 = new Icd10();
@@ -634,9 +658,7 @@
                         if (CollectionUtils.isNotEmpty(icd10s))
                             serviceTaskdiag.setIcd10name(icd10s.get(0).getIcdname());
                     }
-                    serviceTaskdiag.setGuid(serviceTask.getGuid());
-                    serviceTaskdiag.setOrgid(serviceTask.getOrgid());
-                    serviceTaskdiag.setCreateTime(new Date());
+
                     log.info("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
                     if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
                         String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
@@ -657,12 +679,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);
                     }
@@ -771,8 +787,7 @@
                 }
             }
 
-        }
-        else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) {
+        } else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) {
             //浠诲姟淇敼
             if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot()))
                 serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
@@ -867,16 +882,26 @@
                     serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
                     serviceTaskdiag.setGuid(serviceTask.getGuid());
                     serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+                    serviceTaskdiag.setDeptCode(serviceTaskVO.getDeptcode());
+                    serviceTaskdiag.setDeptName(serviceTaskVO.getDeptname());
+                    serviceTaskdiag.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode());
+                    serviceTaskdiag.setWardName(serviceTaskVO.getLeavehospitaldistrictname());
                     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());
@@ -2391,7 +2416,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";
@@ -2508,7 +2533,7 @@
     }
 
     @Override
-    public List<ServiceSubtaskIsAbnormalStatistic> getSfStatisticsIsAbnormalExport(ServiceSubtaskCountReq serviceSubtaskCountReq){
+    public List<ServiceSubtaskIsAbnormalStatistic> getSfStatisticsIsAbnormalExport(ServiceSubtaskCountReq serviceSubtaskCountReq) {
 
         return null;
     }
@@ -3956,7 +3981,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);

--
Gitblit v1.9.3