From 41c8c578b0542292c64fc42177f46ea6f36b553f Mon Sep 17 00:00:00 2001
From: bluejay <253316343@qq.com>
Date: 星期五, 11 四月 2025 16:25:13 +0800
Subject: [PATCH] 解决日期传值问题

---
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java |  189 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 145 insertions(+), 44 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 e1b0a65..6d2a4ae 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
@@ -1,106 +1,207 @@
 package com.aps.core.controller;
 
-import java.util.List;
-import java.io.IOException;
-
-import jakarta.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.aps.common.core.utils.poi.ExcelUtil;
+import com.aps.common.core.utils.uuid.IdUtils;
+import com.aps.common.core.web.controller.BaseController;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.core.web.page.TableDataInfo;
 import com.aps.common.log.annotation.Log;
 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;
-import com.aps.common.core.web.controller.BaseController;
-import com.aps.common.core.web.domain.AjaxResult;
-import com.aps.common.core.utils.poi.ExcelUtil;
-import com.aps.common.core.web.page.TableDataInfo;
+import com.aps.core.service.IApsPartPlanTempService;
+import com.aps.system.api.domain.SysDictData;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+import java.util.Optional;
 
 /**
  * 闆朵欢璁″垝绠$悊Controller
- * 
+ *
  * @author wwj
  * @date 2025-04-08
  */
 @RestController
-@RequestMapping("/plan")
-public class ApsPartPlanController extends BaseController
-{
+@RequestMapping("/partPlan")
+public class ApsPartPlanController extends BaseController {
     @Autowired
     private IApsPartPlanService apsPartPlanService;
-
+    @Autowired
+    private IApsPartPlanTempService apsPartPlanTempService;
     /**
      * 鏌ヨ闆朵欢璁″垝绠$悊鍒楄〃
      */
-    @RequiresPermissions("partPlan:plan:list")
+    @RequiresPermissions("partPlan:list")
     @GetMapping("/list")
-    public TableDataInfo list(ApsPartPlan apsPartPlan)
-    {
-        startPage();
+    public TableDataInfo list(ApsPartPlan apsPartPlan) {
+//        startPage();
         List<ApsPartPlan> list = 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");
+        list.parallelStream().forEach(plan->{
+             documentStatusDic.stream().filter(x -> x.getDictValue().equals( plan.getDocumentStatus().trim()))
+                     .findFirst().ifPresent(sysDictData -> plan.setDocumentStatus(sysDictData.getDictLabel()));
+             accountDic.stream().filter(x -> x.getDictValue().equals( plan.getAccount().trim()))
+                     .findFirst().ifPresent(sysDictData -> plan.setAccount(sysDictData.getDictLabel()));
+             businessTypeDic.stream().filter(x -> x.getDictValue().equals(plan.getBusinessType().trim()))
+                     .findFirst().ifPresent(sysDictData -> plan.setBusinessType(sysDictData.getDictLabel()));
+             suspendedDic.stream().filter(x -> x.getDictValue().equals( plan.getIsSuspended()))
+                     .findFirst().ifPresent(sysDictData -> plan.setIsSuspended(sysDictData.getDictLabel()));
+        });
+
         return getDataTable(list);
     }
 
     /**
      * 瀵煎嚭闆朵欢璁″垝绠$悊鍒楄〃
      */
-    @RequiresPermissions("partPlan:plan:export")
+    @RequiresPermissions("partPlan:export")
     @Log(title = "闆朵欢璁″垝绠$悊", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ApsPartPlan apsPartPlan)
-    {
-        List<ApsPartPlan> list = apsPartPlanService.selectApsPartPlanList(apsPartPlan);
+    public void export(HttpServletResponse response, ApsPartPlan apsPartPlan) {
+        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, list, "闆朵欢璁″垝绠$悊鏁版嵁");
+        util.exportExcel(response, planList, "闆朵欢璁″垝绠$悊鏁版嵁");
     }
 
     /**
      * 鑾峰彇闆朵欢璁″垝绠$悊璇︾粏淇℃伅
      */
-    @RequiresPermissions("partPlan:plan:query")
+    @RequiresPermissions("partPlan:query")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") String id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(apsPartPlanService.selectApsPartPlanById(id));
     }
 
     /**
      * 鏂板闆朵欢璁″垝绠$悊
      */
-    @RequiresPermissions("partPlan:plan:add")
+    @RequiresPermissions("partPlan:add")
     @Log(title = "闆朵欢璁″垝绠$悊", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody ApsPartPlan apsPartPlan)
-    {
+    public AjaxResult add(@RequestBody ApsPartPlan apsPartPlan) {
         return toAjax(apsPartPlanService.insertApsPartPlan(apsPartPlan));
     }
 
     /**
      * 淇敼闆朵欢璁″垝绠$悊
      */
-    @RequiresPermissions("partPlan:plan:edit")
+    @RequiresPermissions("partPlan:edit")
     @Log(title = "闆朵欢璁″垝绠$悊", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody ApsPartPlan apsPartPlan)
-    {
+    public AjaxResult edit(@RequestBody ApsPartPlan apsPartPlan) {
         return toAjax(apsPartPlanService.updateApsPartPlan(apsPartPlan));
     }
 
     /**
      * 鍒犻櫎闆朵欢璁″垝绠$悊
      */
-    @RequiresPermissions("partPlan:plan:remove")
+    @RequiresPermissions("partPlan:remove")
     @Log(title = "闆朵欢璁″垝绠$悊", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable String[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
         return toAjax(apsPartPlanService.deleteApsPartPlanByIds(ids));
     }
+
+    /**
+     * 闆朵欢璁″垝瀵煎叆
+     */
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        ExcelUtil<ApsPartPlanTemp> util = new ExcelUtil<ApsPartPlanTemp>(ApsPartPlanTemp.class);
+        List<ApsPartPlanTemp> apsPartPlans = util.importExcel(file.getInputStream());
+        //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
+        if (apsPartPlans.size() > 0) {
+            String batchNum= IdUtils.fastUUID();
+            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++) {
+
+                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);
+                //鎻掑叆涓存椂琛�
+                apsPartPlanTempService.insertApsPartPlanTemp(apsPartPlans.get(i));
+            }
+
+            return AjaxResult.success("瀵煎叆鎴愬姛",batchNum);
+        } else {
+            return AjaxResult.error("妯℃澘鍐呭涓虹┖");
+        }
+    }
+    /***
+    * @Description: 纭涓婁紶
+    * @Param: [apsPartPlan] 
+    * @return: com.aps.common.core.web.domain.AjaxResult
+    * @Author: wwj
+    * @Date: 2025/4/9
+    */
+    @PostMapping("/confirmPart")
+    public AjaxResult confirmPart(@RequestBody ApsPartPlanTemp apsPartPlanTemp) {
+        return toAjax(apsPartPlanService.confirmPart(apsPartPlanTemp));
+    }
+
+
+
 }

--
Gitblit v1.9.3