From 1d906908a013b6b991eeb0d9a116a04fdf0a7865 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期日, 26 十月 2025 19:24:00 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   66 +++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 11 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 66e6364..76af007 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -1,7 +1,6 @@
 package com.smartor.service.impl;
 
 import com.alibaba.fastjson2.JSON;
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
@@ -24,7 +23,6 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.time.Duration;
@@ -174,7 +172,19 @@
 
         ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
         if (CollectionUtils.isEmpty(list) || list.size() == 0) {
-            return DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class);
+            ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class);
+            ObjectMapper objectMapper = new ObjectMapper();
+            try {
+                List<Map<String, Object>> mapList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
+                serviceTaskVO.setPreachformList(mapList);
+//
+//                String result = mapList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
+//                serviceTaskVO.setPreachform(result);
+            } catch (JsonProcessingException e) {
+                e.printStackTrace();
+            }
+
+            return serviceTaskVO;
         }
 
         //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ServiceSubtaskVO涓�
@@ -262,8 +272,17 @@
             serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
             serviceSubtaskPreachform.setSubid(serviceSubtask1.getId());
             List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
-            serviceTaskVO.setPreachformList(serviceSubtaskPreachformList);
+            List<Map<String, Object>> resultList = serviceSubtaskPreachformList.stream().map(item -> {
+                Map<String, Object> map = new HashMap<>();
+                map.put("sort", item.getSort());
+                map.put("preachform", item.getPreachform());
+                map.put("compensateTime", item.getCompensateTime());
+                return map;
+            }).collect(Collectors.toList());
+            serviceTaskVO.setPreachformList(resultList);
 
+//            String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
+//            serviceTaskVO.setPreachform(result);
         }
 
         serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
@@ -431,7 +450,7 @@
         ObjectMapper mapper = new ObjectMapper();
         try {
             String preachformList = mapper.writeValueAsString(serviceTaskVO.getPreachformList());
-            serviceTask.setPreachform(preachformList);
+            serviceTask.setPreachformDesc(preachformList);
         } catch (JsonProcessingException e) {
             e.printStackTrace();
         }
@@ -594,8 +613,12 @@
 
                     //闇�瑕佹寜service_task閲岀殑preachform鐨勯『搴忓皢鍙戦�佹柟寮忎繚瀛樺埌service_subtask_preachform琛ㄤ腑
                     if (StringUtils.isNotEmpty(serviceTaskVO.getPreachformList())) {
-                        List<ServiceSubtaskPreachform> pfList = serviceTaskVO.getPreachformList();
-                        for (ServiceSubtaskPreachform serviceSubtaskPreachform : pfList) {
+                        List<Map<String, Object>> pfList = serviceTaskVO.getPreachformList();
+                        for (Map<String, Object> map : pfList) {
+                            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+                            serviceSubtaskPreachform.setSort(ObjectUtils.isEmpty(map.get("sort")) ? 0 : Long.valueOf(map.get("sort").toString()));
+                            serviceSubtaskPreachform.setPreachform(ObjectUtils.isEmpty(map.get("preachform")) ? "" : map.get("preachform").toString());
+                            serviceSubtaskPreachform.setCompensateTime(ObjectUtils.isEmpty(map.get("compensateTime")) ? "" : map.get("compensateTime").toString());
                             serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
                             serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
                             //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
@@ -818,8 +841,12 @@
                 ServiceSubtask serviceSubtask = ssTaskList.get(i);
                 serviceSubtaskPreachformMapper.deleteServiceSubtaskPreachformBySubid(serviceSubtask.getId());
                 if (StringUtils.isNotEmpty(serviceTaskVO.getPreachformList())) {
-                    List<ServiceSubtaskPreachform> pfList = serviceTaskVO.getPreachformList();
-                    for (ServiceSubtaskPreachform serviceSubtaskPreachform : pfList) {
+                    List<Map<String, Object>> pfList = serviceTaskVO.getPreachformList();
+                    for (Map<String, Object> map : pfList) {
+                        ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+                        serviceSubtaskPreachform.setSort(ObjectUtils.isEmpty(map.get("sort")) ? 0 : Long.valueOf(map.get("sort").toString()));
+                        serviceSubtaskPreachform.setPreachform(ObjectUtils.isEmpty(map.get("preachform")) ? "" : map.get("preachform").toString());
+                        serviceSubtaskPreachform.setCompensateTime(ObjectUtils.isEmpty(map.get("compensateTime")) ? "" : map.get("compensateTime").toString());
                         serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
                         serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
                         //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
@@ -2273,8 +2300,25 @@
                     serviceSubtaskStatistic.setAbnormalAgain(serviceSubtaskStatistic.getAbnormalAgain() + 1L);
                 }
             }
-
-
+            //闅忚鎯呭喌
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 1) {
+                serviceSubtaskStatistic.setTaskSituation1(serviceSubtaskStatistic.getTaskSituation1() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 2) {
+                serviceSubtaskStatistic.setTaskSituation2(serviceSubtaskStatistic.getTaskSituation2() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 3) {
+                serviceSubtaskStatistic.setTaskSituation3(serviceSubtaskStatistic.getTaskSituation3() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 4) {
+                serviceSubtaskStatistic.setTaskSituation4(serviceSubtaskStatistic.getTaskSituation4() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 5) {
+                serviceSubtaskStatistic.setTaskSituation5(serviceSubtaskStatistic.getTaskSituation5() + 1);
+            }
+            if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
+                serviceSubtaskStatistic.setTaskSituation6(serviceSubtaskStatistic.getTaskSituation6() + 1);
+            }
         }
 
 

--
Gitblit v1.9.3