From e00ef99886b9ab84f39c81432f8c7640e93026f9 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 27 二月 2025 15:54:30 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |  194 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 138 insertions(+), 56 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 3a3416b..6487261 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -383,37 +383,54 @@
             serviceTask.setTemplatename(tempName);
             serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
             serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
-            if (serviceTaskVO.getLongTask() == 1L) {
-                serviceTask.setSendState(2L);
-                serviceTaskService.insertServiceTask(serviceTask);
-                if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
+            serviceTask.setSendState(2L);
+            serviceTaskService.insertServiceTask(serviceTask);
+            log.error("----serviceTaskVO.getAppltype()鐨勫�间负锛歿}", serviceTaskVO.getAppltype());
+            if (StringUtils.isNotEmpty(serviceTaskVO.getAppltype())) {
+                if (serviceTaskVO.getAppltype().equals("3")) {
                     ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
                     serviceTaskdiag.setTaskId(serviceTask.getTaskid());
                     serviceTaskdiag.setTaskName(serviceTask.getTaskName());
-                    serviceTaskdiag.setLongtask(1L);
+                    serviceTaskdiag.setLongtask(0L);
+                    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());
-                    serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag);
-                } else if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
+                    log.error("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
+                    if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
+                        String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
+                        for (String icd10code : Icd10codes) {
+                            serviceTaskdiag.setIcd10code(icd10code);
+                            serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag);
+                        }
+                    }
+                } else if (serviceTaskVO.getAppltype().equals("4")) {
                     ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                     serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                     serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                     serviceTaskoper.setTaskId(serviceTask.getTaskid());
                     serviceTaskoper.setTaskName(serviceTask.getTaskName());
-                    serviceTaskoper.setLongtask(1L);
+                    serviceTaskoper.setLongtask(0L);
                     serviceTaskoper.setGuid(serviceTask.getGuid());
                     serviceTaskoper.setOrgid(serviceTask.getOrgid());
                     serviceTaskoper.setCreateTime(new Date());
-                    serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+                    if (serviceTaskVO.getLongTask() == 1) serviceTaskoper.setLongtask(1L);
+                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
+                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
+                        for (String opcode : opcodes) {
+                            serviceTaskoper.setOpcode(opcode);
+                            log.error("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+                        }
+                    }
+
                 } else {
                     ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
                     serviceTaskdept.setTaskId(serviceTask.getTaskid());
                     serviceTaskdept.setTaskName(serviceTask.getTaskName());
-                    serviceTaskdept.setLongtask(1L);
-                    serviceTaskdept.setGuid(serviceTask.getGuid());
-                    serviceTaskdept.setOrgid(serviceTask.getOrgid());
-                    serviceTaskdept.setOrgid(serviceTask.getOrgid());
+                    serviceTaskdept.setLongtask(0L);
                     if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
                     if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
                         String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
@@ -433,15 +450,12 @@
                             serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
                         }
                     }
-
                 }
-                if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
-                    Map<String, Integer> map = new HashMap<>();
-                    map.put("taskId", serviceTask.getTaskid().intValue());
-                    return map;
-                }
-            } else {
-                serviceTaskService.insertServiceTask(serviceTask);
+            }
+            if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
+                Map<String, Integer> map = new HashMap<>();
+                map.put("taskId", serviceTask.getTaskid().intValue());
+                return map;
             }
 
             //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
@@ -497,46 +511,114 @@
             serviceTask.setTemplateid(serviceTaskVO.getTemplateid());
             serviceTask.setLongTask(serviceTaskVO.getLongTask());
             serviceTaskService.updateServiceTask(serviceTask);
-            ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
-            serviceTaskdept.setTaskId(serviceTask.getTaskid());
-            serviceTaskdept.setTaskName(serviceTask.getTaskName());
-            serviceTaskdept.setLongtask(0L);
-            if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
-            if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
-                String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
-                for (String deptCode : deptcodes) {
-                    serviceTaskdept.setDeptCode(deptCode);
-                    serviceTaskdept.setDeptType("1");
-                    serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+            if (serviceTaskVO.getAppltype().equals("1") || serviceTaskVO.getAppltype().equals("2")) {
+                ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+                serviceTaskdept.setTaskId(serviceTask.getTaskid());
+                serviceTaskdept.setTaskName(serviceTask.getTaskName());
+                serviceTaskdept.setLongtask(0L);
+                if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
+                if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
+                    String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
+                    for (String deptCode : deptcodes) {
+                        serviceTaskdept.setDeptCode(deptCode);
+                        serviceTaskdept.setDeptType("1");
+                        serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+                        ServiceTaskdept st = new ServiceTaskdept();
+                        st.setDeptCode(deptCode);
+                        st.setTaskId(serviceTask.getTaskid());
+                        List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
+                        if (CollectionUtils.isEmpty(serviceTaskdepts)) {
+                            serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+                        } else {
+                            serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+                        }
+                    }
+                }
+                if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
+                    String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
+                    for (String districtcode : leavehospitaldistrictcodes) {
+                        serviceTaskdept.setDeptCode(districtcode);
+                        serviceTaskdept.setDeptType("2");
+                        serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
+                        //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
+                        ServiceTaskdept st = new ServiceTaskdept();
+                        st.setDeptCode(districtcode);
+                        st.setTaskId(serviceTask.getTaskid());
+                        List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
+                        if (CollectionUtils.isEmpty(serviceTaskdepts)) {
+                            serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+                        } else {
+                            serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+                        }
+                    }
+                }
+            } else if (serviceTaskVO.getAppltype().equals("3")) {
+                ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+                serviceTaskdiag.setTaskId(serviceTask.getTaskid());
+                serviceTaskdiag.setTaskName(serviceTask.getTaskName());
+                if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) {
+                    throw new BaseException("鐤剧梾缂栫爜涓虹┖");
+                }
+//                serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
 
-                    ServiceTaskdept st = new ServiceTaskdept();
-                    st.setDeptCode(deptCode);
-                    st.setTaskId(serviceTask.getTaskid());
-                    List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
-                    if (CollectionUtils.isEmpty(serviceTaskdepts)) {
-                        serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
-                    } else {
-                        serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+                serviceTaskdiag.setLongtask(1L);
+                serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
+                serviceTaskdiag.setGuid(serviceTask.getGuid());
+                serviceTaskdiag.setOrgid(serviceTask.getOrgid());
+                serviceTaskdiag.setUpdateTime(new Date());
+                if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
+                    String[] icd10codes = serviceTaskVO.getIcd10code().split(",");
+                    for (String icdcode : icd10codes) {
+                        //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+                        ServiceTaskdiag serviceTaskdiag2 = new ServiceTaskdiag();
+                        serviceTaskdiag2.setTaskId(serviceTaskVO.getTaskid());
+                        serviceTaskdiag2.setIcd10code(icdcode);
+                        List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagService.selectServiceTaskdiagList(serviceTaskdiag2);
+                        serviceTaskdiag.setIcd10code(icdcode);
+                        log.error("----serviceTaskdiag鏇存柊鐨勫�间负锛歿}", serviceTaskdiag);
+                        if (CollectionUtils.isNotEmpty(serviceTaskdiags)) {
+                            serviceTaskdiag.setId(serviceTaskdiags.get(0).getId());
+                            serviceTaskdiagService.updateServiceTaskdiag(serviceTaskdiag);
+                        } else {
+                            serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag);
+                        }
                     }
                 }
-            }
-            if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
-                String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(",");
-                for (String districtcode : leavehospitaldistrictcodes) {
-                    serviceTaskdept.setDeptCode(districtcode);
-                    serviceTaskdept.setDeptType("2");
-                    serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
-                    //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
-                    ServiceTaskdept st = new ServiceTaskdept();
-                    st.setDeptCode(districtcode);
-                    st.setTaskId(serviceTask.getTaskid());
-                    List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
-                    if (CollectionUtils.isEmpty(serviceTaskdepts)) {
-                        serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
-                    } else {
-                        serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+
+
+            } else if (serviceTaskVO.getAppltype().equals("4")) {
+                ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
+                if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
+                    throw new BaseException("鎵嬫湳缂栫爜涓虹┖");
+                }
+//                serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
+                serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+                serviceTaskoper.setTaskId(serviceTask.getTaskid());
+                serviceTaskoper.setTaskName(serviceTask.getTaskName());
+                serviceTaskoper.setLongtask(1L);
+                serviceTaskoper.setGuid(serviceTask.getGuid());
+                serviceTaskoper.setOrgid(serviceTask.getOrgid());
+                serviceTaskoper.setCreateTime(new Date());
+                if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
+                    String[] opcodes = serviceTaskVO.getOpcode().split(",");
+                    for (String opcode : opcodes) {
+                        //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+                        ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+                        serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
+                        serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
+                        List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
+
+                        serviceTaskoper.setOpcode(opcode);
+                        log.error("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+                        if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
+                            serviceTaskoper.setId(serviceTaskopers.get(0).getId());
+                            serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
+                        } else {
+                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+                        }
                     }
                 }
+
             }
             if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
                 IvrTaskTemplate ivrTaskTemplate = new IvrTaskTemplate();

--
Gitblit v1.9.3