From 0cfb74382e44ef538c0bab5f3014363769ecdb2f Mon Sep 17 00:00:00 2001
From: bluejay <253316343@qq.com>
Date: 星期三, 09 四月 2025 16:48:02 +0800
Subject: [PATCH] 调整导入和导出接口,进行数据字典的转义

---
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java |   77 +++++++++++++++++++++++++++++---------
 1 files changed, 59 insertions(+), 18 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java
index 19e02b1..99153c6 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java
@@ -9,6 +9,8 @@
 import com.aps.common.log.enums.BusinessType;
 import com.aps.common.security.annotation.RequiresPermissions;
 import com.aps.common.security.utils.DictUtils;
+import com.aps.core.domain.ApsGasPipingPlan;
+import com.aps.core.domain.ApsGasPipingPlanTemp;
 import com.aps.core.domain.ApsPartPlan;
 import com.aps.core.domain.ApsPartPlanTemp;
 import com.aps.core.service.IApsPartPlanService;
@@ -20,6 +22,7 @@
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 闆朵欢璁″垝绠$悊Controller
@@ -52,18 +55,36 @@
     @Log(title = "闆朵欢璁″垝绠$悊", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ApsPartPlan apsPartPlan) {
-        List<ApsPartPlan> apsPartPlans = apsPartPlanService.selectApsPartPlanList(apsPartPlan);
-        List<SysDictData> list = DictUtils.getDictCache("aps_is_suspended");
-        for (int i = 0; i < apsPartPlans.size(); i++) {
-            for (int j = 0; j < list.size(); j++) {
-                if (apsPartPlans.get(i).getIsSuspended().equals(Integer.parseInt(list.get(j).getDictValue()))) {
-                    apsPartPlans.get(i).setIsSuspendedTxt(list.get(j).getDictLabel());
-                    break;
-                }
-            }
-            }
+        List<ApsPartPlan> planList = apsPartPlanService.selectApsPartPlanList(apsPartPlan);
+
+        List<SysDictData> suspendedDic = DictUtils.getDictCache("aps_is_suspended");
+        List<SysDictData> businessTypeDic = DictUtils.getDictCache("aps_business_type");
+        List<SysDictData> documentStatusDic = DictUtils.getDictCache("aps_document_status");
+        List<SysDictData> accountDic = DictUtils.getDictCache("aps_account");
+
+        for (int i = 0; i < planList.size(); i++) {
+            ApsPartPlan plan=planList.get(i);
+
+            String isSuspendedTxt = plan.getIsSuspended().trim();
+            String businessType = plan.getBusinessType().trim();
+            String documentStatusText = plan.getDocumentStatus().trim();
+            String account = plan.getAccount().trim();
+
+            Optional<SysDictData> documentStatusFirst = documentStatusDic.stream().filter(x -> x.getDictValue().equals(documentStatusText)).findFirst();
+            documentStatusFirst.ifPresent(sysDictData -> plan.setDocumentStatus(sysDictData.getDictLabel()));
+
+            Optional<SysDictData> accountFirst = accountDic.stream().filter(x -> x.getDictValue().equals(account)).findFirst();
+            accountFirst.ifPresent(sysDictData -> plan.setAccount(sysDictData.getDictLabel()));
+
+            Optional<SysDictData> businessTypeFirst = businessTypeDic.stream().filter(x -> x.getDictValue().equals(businessType)).findFirst();
+            businessTypeFirst.ifPresent(sysDictData -> plan.setBusinessType(sysDictData.getDictLabel()));
+
+
+            Optional<SysDictData> isSuspendedFirst = suspendedDic.stream().filter(x -> x.getDictValue().equals(isSuspendedTxt)).findFirst();
+            isSuspendedFirst.ifPresent(sysDictData -> plan.setIsSuspended(sysDictData.getDictLabel()));
+        }
         ExcelUtil<ApsPartPlan> util = new ExcelUtil<ApsPartPlan>(ApsPartPlan.class);
-        util.exportExcel(response, apsPartPlans, "闆朵欢璁″垝绠$悊鏁版嵁");
+        util.exportExcel(response, planList, "闆朵欢璁″垝绠$悊鏁版嵁");
     }
 
     /**
@@ -115,14 +136,34 @@
         //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
         if (apsPartPlans.size() > 0) {
             String batchNum= IdUtils.fastUUID();
-            List<SysDictData> list = DictUtils.getDictCache("aps_is_suspended");
+            List<SysDictData> suspendedDic = DictUtils.getDictCache("aps_is_suspended");
+            List<SysDictData> businessTypeDic = DictUtils.getDictCache("aps_business_type");
+            List<SysDictData> documentStatusDic = DictUtils.getDictCache("aps_document_status");
+            List<SysDictData> accountDic = DictUtils.getDictCache("aps_account");
+
             for (int i = 0; i < apsPartPlans.size(); i++) {
-                for (int j = 0; j < list.size(); j++) {
-                    if (apsPartPlans.get(i).getIsSuspendedTxt().equals(list.get(j).getDictLabel())) {
-                        apsPartPlans.get(i).setIsSuspended(Integer.parseInt(list.get(j).getDictValue()));
-                        break;
-                    }
-                }
+
+                ApsPartPlanTemp planTemp = apsPartPlans.get(i);
+                String isSuspendedTxt = planTemp.getIsSuspended().trim();
+                String businessType = planTemp.getBusinessType().trim();
+                String documentStatusText = planTemp.getDocumentStatus().trim();
+                String account = planTemp.getAccount().trim();
+
+                Optional<SysDictData> documentStatusFirst = documentStatusDic.stream().filter(x -> x.getDictLabel().equals(documentStatusText)).findFirst();
+                documentStatusFirst.ifPresent(sysDictData -> planTemp.setDocumentStatus(sysDictData.getDictValue()));
+
+                Optional<SysDictData> accountFirst = accountDic.stream().filter(x -> x.getDictLabel().equals(account)).findFirst();
+                accountFirst.ifPresent(sysDictData -> planTemp.setAccount(sysDictData.getDictValue()));
+
+                Optional<SysDictData> businessTypeFirst = businessTypeDic.stream().filter(x -> x.getDictLabel().equals(businessType)).findFirst();
+                businessTypeFirst.ifPresent(sysDictData -> planTemp.setBusinessType(sysDictData.getDictValue()));
+
+
+                Optional<SysDictData> isSuspendedFirst = suspendedDic.stream().filter(x -> x.getDictLabel().equals(isSuspendedTxt)).findFirst();
+                isSuspendedFirst.ifPresent(sysDictData -> planTemp.setIsSuspended(sysDictData.getDictValue()));
+
+
+                planTemp.setId(IdUtils.fastUUID());
                 //鎻掑叆鐗堟湰鍙�
                 apsPartPlans.get(i).setBatchNumber(batchNum);
                 //鎻掑叆涓存椂琛�

--
Gitblit v1.9.3