From 2cfa20c70ea84fa3435f3fd1e653c5ae60a3fc1e Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 06 一月 2026 16:52:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   68 +++++++++++++++++++++++-----------
 1 files changed, 46 insertions(+), 22 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 34be16f..a573f16 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson2.JSON;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
 import com.ruoyi.common.core.redis.RedisCache;
@@ -361,7 +362,7 @@
 //        return map;
 //    }
 
-    
+
     /**
      * 缁熻浠诲姟鍚勭鐘舵�佺殑鏁伴噺锛堝凡浼樺寲锛�
      * 浼樺寲璇存槑锛�
@@ -2198,8 +2199,18 @@
             stringBuilder.append("鍏ラ櫌鍑嗗涓績鐢佃瘽锛�89975977銆傚叆闄㈠姙鐞嗛』鐭�:https://mp.weixin.qq.com/s/OCkotuRyQ8Ld2owFF0YErw");
 
             String data = MessageSend.sendMsg(stringBuilder.toString(), "6", patArchiveSrmVO.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-            if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
-                sendError.add(patArchiveSrmVO);
+            if (StringUtils.isNotEmpty(data)) {
+                ObjectMapper mapper = new ObjectMapper();
+                JsonNode root = null;
+                try {
+                    root = mapper.readTree(data);
+                } catch (JsonProcessingException e) {
+                    e.printStackTrace();
+                }
+                String status = root.get("result").get(0).get("status").asText();
+                if (status.equals("00000")) {
+                    sendError.add(patArchiveSrmVO);
+                }
             }
         }
 
@@ -3049,35 +3060,48 @@
             allItemCounts = serviceSubtaskMapper.getSfStatisticsScriptItemDetails(serviceSubtaskCountReq);
         }
 
-
         for(ServiceSubtaskScriptCount count : allCounts){
             Map<String, ServiceSubtaskScriptCount> itemCountMap = new HashMap<>();
-            if(ObjectUtils.isNotEmpty(count.getOptions())){
-                String[] optionsArray = count.getOptions().split(",");
-                List<String> optionsList = Arrays.stream(optionsArray).map(String::valueOf).collect(Collectors.toList());
-                if(ObjectUtils.isNotEmpty(optionsList)){
-                    //濉叆绌虹櫧淇℃伅
-                    optionsList.forEach(option ->{
-                        ServiceSubtaskScriptCount emptyCount = new ServiceSubtaskScriptCount();
-                        emptyCount.setScriptContent(count.getScriptContent());
-                        emptyCount.setScriptType(count.getScriptType());
-                        emptyCount.setCompletedQuantity(count.getCompletedQuantity());
-                        emptyCount.setAllQuantity(count.getAllQuantity());
-                        emptyCount.setChosenQuantity(0);
-                        emptyCount.setChosenPercentage("0.0");
-                        itemCountMap.put(option,emptyCount);
-                    });
+            //闂嵎鍔犱笂绌虹櫧閫夐」
+            if(ObjectUtils.isNotEmpty(count.getTemplateid())
+                    && ObjectUtils.isNotEmpty(count.getSubtaskType())
+                    && count.getSubtaskType().equals("2")){
+                SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = new SvyTaskTemplateScriptVO();
+                svyTaskTemplateScriptVO.setId(count.getScriptid());
+                SvyTaskTemplateScriptVO svyTaskTemplateScriptResultVo = svyTaskTemplateScriptService.selectInfoByCondition(svyTaskTemplateScriptVO);
+                if(ObjectUtils.isNotEmpty(svyTaskTemplateScriptResultVo)){
+                    List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptResultVo.getSvyTaskTemplateTargetoptions();
+                    if(ObjectUtils.isNotEmpty(svyTaskTemplateTargetoptions)){
+                        //濉叆绌虹櫧淇℃伅
+                        svyTaskTemplateTargetoptions.forEach(targetoption ->{
+                            ServiceSubtaskScriptCount emptyCount = new ServiceSubtaskScriptCount();
+                            emptyCount.setScriptid(count.getScriptid());
+                            emptyCount.setScriptContent(count.getScriptContent());
+                            emptyCount.setScriptType(count.getScriptType());
+                            emptyCount.setSubtaskType(count.getSubtaskType());
+                            emptyCount.setCompletedQuantity(count.getCompletedQuantity());
+                            emptyCount.setAllQuantity(count.getAllQuantity());
+                            emptyCount.setCompletedPercentage(count.getCompletedPercentage());
+                            emptyCount.setTemplateid(count.getTemplateid());
+                            emptyCount.setChosenQuantity(0);
+                            emptyCount.setChosenPercentage("0.0");
+                            emptyCount.setOptionText(targetoption.getOptioncontent());
+                            itemCountMap.put(targetoption.getOptioncontent(),emptyCount);
+                        });
+                    }
                 }
             }
-            List<ServiceSubtaskScriptCount> itemCounts = new ArrayList<>();
             allItemCounts.forEach(itemCount ->{
                 if(ObjectUtils.isNotEmpty(count.getScriptid()) && ObjectUtils.isNotEmpty(itemCount.getScriptid())){
                     if(count.getScriptid().equals(itemCount.getScriptid())){
                         //鏀惧叆缁熻淇℃伅
                         itemCount.setScriptContent(count.getScriptContent());
                         itemCount.setScriptType(count.getScriptType());
+                        itemCount.setSubtaskType(count.getSubtaskType());
                         itemCount.setCompletedQuantity(count.getCompletedQuantity());
                         itemCount.setAllQuantity(count.getAllQuantity());
+                        itemCount.setCompletedPercentage(count.getCompletedPercentage());
+                        itemCount.setTemplateid(count.getTemplateid());
                         //璁$畻閫夋嫨姣斾緥
                         int chosenQuantity = ObjectUtils.isNotEmpty(itemCount.getChosenQuantity())?itemCount.getChosenQuantity():0;
                         int completedQuantity = itemCount.getCompletedQuantity();
@@ -3085,11 +3109,11 @@
                             BigDecimal chosenPercentage = (new BigDecimal(chosenQuantity)).divide(new BigDecimal(completedQuantity), 2, RoundingMode.HALF_UP);
                             itemCount.setChosenPercentage(chosenPercentage.toString());
                         }
-                        itemCountMap.put(count.getOptionText(), itemCount);
+                        itemCountMap.put(itemCount.getOptionText(), itemCount);
                     }
                 }
             });
-            itemCounts = new ArrayList<>(itemCountMap.values());
+            List<ServiceSubtaskScriptCount> itemCounts = new ArrayList<>(itemCountMap.values());
             count.setDetails(itemCounts);
             result.put(count.getScriptid().toString(),count);
         }

--
Gitblit v1.9.3