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/ApsGasPipingPlanController.java |   76 ++++++++++++++++++++++++++++---------
 1 files changed, 57 insertions(+), 19 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsGasPipingPlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsGasPipingPlanController.java
index 66c5862..a41d774 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsGasPipingPlanController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsGasPipingPlanController.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import java.io.IOException;
+import java.util.Optional;
 
 import com.aps.common.core.utils.uuid.IdUtils;
 import com.aps.common.security.utils.DictUtils;
@@ -64,18 +65,36 @@
     @PostMapping("/export")
     public void export(HttpServletResponse response, ApsGasPipingPlan apsGasPipingPlan)
     {
-        List<ApsGasPipingPlan> apsGasPipingPlans = apsGasPipingPlanService.selectApsGasPipingPlanList(apsGasPipingPlan);
-        List<SysDictData> list = DictUtils.getDictCache("aps_is_suspended");
-        for (int i = 0; i < apsGasPipingPlans.size(); i++) {
-            for (int j = 0; j < list.size(); j++) {
-                if (apsGasPipingPlans.get(i).getIsSuspended().equals(Integer.parseInt(list.get(j).getDictValue()))) {
-                    apsGasPipingPlans.get(i).setIsSuspendedTxt(list.get(j).getDictLabel());
-                    break;
-                }
-            }
+        List<ApsGasPipingPlan> planList = apsGasPipingPlanService.selectApsGasPipingPlanList(apsGasPipingPlan);
+        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++) {
+            ApsGasPipingPlan  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<ApsGasPipingPlan> util = new ExcelUtil<ApsGasPipingPlan>(ApsGasPipingPlan.class);
-        util.exportExcel(response, apsGasPipingPlans, "姘斾綋绠¤矾璁″垝绠$悊鏁版嵁");
+        util.exportExcel(response, planList, "姘斾綋绠¤矾璁″垝绠$悊鏁版嵁");
     }
 
     /**
@@ -130,18 +149,37 @@
         //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
         if (apsGasPipingPlanTemps.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 < apsGasPipingPlanTemps.size(); i++) {
-                for (int j = 0; j < list.size(); j++) {
-                    if (apsGasPipingPlanTemps.get(i).getIsSuspendedTxt().equals(list.get(j).getDictLabel())) {
-                        apsGasPipingPlanTemps.get(i).setIsSuspended(Integer.parseInt(list.get(j).getDictValue()));
-                        break;
-                    }
-                }
+
+                ApsGasPipingPlanTemp planTemp = apsGasPipingPlanTemps.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());
                 //鎻掑叆鐗堟湰鍙�
-                apsGasPipingPlanTemps.get(i).setBatchNumber(batchNum);
+                planTemp.setBatchNumber(batchNum);
                 //鎻掑叆涓存椂琛�
-                apsGasPipingPlanTempService.insertApsGasPipingPlanTemp(apsGasPipingPlanTemps.get(i));
+                apsGasPipingPlanTempService.insertApsGasPipingPlanTemp(planTemp);
             }
             return AjaxResult.success("瀵煎叆鎴愬姛",batchNum);
         } else {

--
Gitblit v1.9.3