From 2a64b537e8e3bce9ce030585a3da17d48379c0ad Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期一, 26 五月 2025 15:04:45 +0800
Subject: [PATCH] 修改json类型转换错误

---
 aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java |   44 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
index 744750a..9547d84 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsGasPipelineCapacityPlanController.java
@@ -10,8 +10,10 @@
 import com.aps.common.security.annotation.RequiresPermissions;
 import com.aps.common.security.utils.SecurityUtils;
 import com.aps.core.domain.ApsGasPipelineCapacityPlan;
+import com.aps.core.domain.ApsShop;
 import com.aps.core.domain.ApsStandardProcess;
 import com.aps.core.service.IApsGasPipelineCapacityPlanService;
+import com.aps.core.service.IApsShopService;
 import com.aps.core.service.IApsStandardProcessService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -20,7 +22,9 @@
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 姘斾綋绠¤矾浜ц兘瑙勫垝Controller
@@ -39,6 +43,9 @@
     @Autowired
     private IApsStandardProcessService apsStandardProcessService;
 
+    @Autowired
+    private IApsShopService apsShopService;
+
     /**
      * 鏌ヨ姘斾綋绠¤矾浜ц兘瑙勫垝鍒楄〃
      */
@@ -52,16 +59,35 @@
         apsStandardProcess.setMajor(apsGasPipelineCapacityPlan.getMajor());
         apsStandardProcess.setPlant(apsGasPipelineCapacityPlan.getOrgCode());
         List<ApsStandardProcess> processList = apsStandardProcessService.selectApsStandardProcessListAll(apsStandardProcess);
+        List<ApsShop> apsShops = apsShopService.findShopByFactory(apsGasPipelineCapacityPlan.getOrgCode());
         if (list.isEmpty()) {
             for (ApsStandardProcess apsStandardProcessTemp : processList) {
                 ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
                 apsGasPipelineCapacityPlanTemp.setProcessName(apsStandardProcessTemp.getProcessName());
                 apsGasPipelineCapacityPlanTemp.setOrgCode(apsStandardProcessTemp.getPlant());
+                apsGasPipelineCapacityPlanTemp.setWorkshop(apsShops.stream()
+                        .filter(shop -> Objects.equals(shop.getShopCode(), apsStandardProcessTemp.getWorkShop()))
+                        .map(ApsShop::getShopName)
+                        .findFirst()
+                        .orElse(null));
                 list.add(apsGasPipelineCapacityPlanTemp);
             }
+        } else {
+            list.forEach(capacityPlan -> {
+                processList.stream().filter(p -> Objects.equals(p.getPlant(), capacityPlan.getOrgCode()))
+                        .filter(p -> Objects.equals(p.getMajor(), capacityPlan.getMajor()))
+                        .filter(p -> p.getWorkShop() != null)
+                        .findFirst().ifPresent(p -> {
+                            capacityPlan.setWorkshop(apsShops.stream()
+                                    .filter(shop -> Objects.equals(shop.getShopCode(), p.getWorkShop()))
+                                    .map(ApsShop::getShopName)
+                                    .findFirst()
+                                    .orElse(null));
+                        });
+            });
         }
         if (processList.size() > list.size()) {
-            List<String> newProcess = new ArrayList<>();
+            List<ApsStandardProcess> newProcess = new ArrayList<>();
             for (ApsStandardProcess apsStandardProcessTemp : processList) {
                 boolean flag = true;
                 for (ApsGasPipelineCapacityPlan temp : list) {
@@ -71,16 +97,22 @@
                     }
                 }
                 if (flag) {
-                    newProcess.add(apsStandardProcessTemp.getProcessName());
+                    newProcess.add(apsStandardProcessTemp);
                 }
             }
-            for (String processName : newProcess) {
+            for (ApsStandardProcess process : newProcess) {
                 ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlanTemp = new ApsGasPipelineCapacityPlan();
-                apsGasPipelineCapacityPlanTemp.setProcessName(processName);
+                apsGasPipelineCapacityPlanTemp.setProcessName(process.getProcessName());
+                apsGasPipelineCapacityPlanTemp.setOrgCode(process.getPlant());
+                apsGasPipelineCapacityPlanTemp.setWorkshop(apsShops.stream()
+                        .filter(shop -> Objects.equals(shop.getShopCode(), process.getWorkShop()))
+                        .map(ApsShop::getShopName)
+                        .findFirst()
+                        .orElse(null));
                 list.add(apsGasPipelineCapacityPlanTemp);
             }
         }
-        list.sort((a, b) -> a.getProcessName().compareTo(b.getProcessName()));
+        list.sort(Comparator.comparing(ApsGasPipelineCapacityPlan::getProcessName));
         return getDataTable(list);
     }
 
@@ -102,7 +134,7 @@
      * 澶嶅埗姘斾綋绠¤矾浜ц兘瑙勫垝
      */
     @Operation(summary = "澶嶅埗姘斾綋绠¤矾浜ц兘瑙勫垝", description = "澶嶅埗")
-//    @RequiresPermissions("aps:gasPipelineCapacityPlan:copy")
+    @RequiresPermissions("aps:gasPipelineCapacityPlan:copy")
     @Log(title = "澶嶅埗姘斾綋绠¤矾浜ц兘瑙勫垝", businessType = BusinessType.INSERT)
     @PutMapping("/copy")
     public AjaxResult copy(

--
Gitblit v1.9.3