From 97eac0bb220f686c0d39e536a158d2fbde6ea0ab Mon Sep 17 00:00:00 2001
From: bluejay <253316343@qq.com>
Date: 星期三, 09 四月 2025 13:35:34 +0800
Subject: [PATCH] 完成钣金计划上传与确认接口

---
 aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java    |   68 ++++++++++++----------
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java |   63 +++++++++++++++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java              |   10 +++
 aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java         |   13 ++++
 4 files changed, 123 insertions(+), 31 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
index 557fd43..7bb607d 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java
@@ -5,6 +5,11 @@
 
 import com.aps.common.core.domain.R;
 import com.aps.common.core.utils.file.FileUtils;
+import com.aps.common.core.utils.uuid.IdUtils;
+import com.aps.common.security.utils.DictUtils;
+import com.aps.core.domain.ApsPartPlanTemp;
+import com.aps.core.domain.ApsPlatePlanTemp;
+import com.aps.system.api.domain.SysDictData;
 import com.aps.system.api.domain.SysFile;
 import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,8 +40,7 @@
  */
 @RestController
 @RequestMapping("/ApsPlatePlan")
-public class ApsPlatePlanController extends BaseController
-{
+public class ApsPlatePlanController extends BaseController {
     @Autowired
     private IApsPlatePlanService apsPlatePlanService;
 
@@ -45,8 +49,7 @@
      */
     @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:list")
     @GetMapping("/list")
-    public TableDataInfo list(ApsPlatePlan apsPlatePlan)
-    {
+    public TableDataInfo list(ApsPlatePlan apsPlatePlan) {
         startPage();
         List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan);
         return getDataTable(list);
@@ -58,8 +61,7 @@
     @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:export")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan)
-    {
+    public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan) {
         List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan);
         ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class);
         util.exportExcel(response, list, "閽i噾璁″垝绠$悊鏁版嵁");
@@ -70,8 +72,7 @@
      */
     @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query")
     @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") String id)
-    {
+    public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(apsPlatePlanService.selectApsPlatePlanById(id));
     }
 
@@ -81,8 +82,7 @@
     @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan)
-    {
+    public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan) {
         return toAjax(apsPlatePlanService.insertApsPlatePlan(apsPlatePlan));
     }
 
@@ -92,8 +92,7 @@
     @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:edit")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan)
-    {
+    public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan) {
         return toAjax(apsPlatePlanService.updateApsPlatePlan(apsPlatePlan));
     }
 
@@ -102,27 +101,36 @@
      */
     @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove")
     @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.DELETE)
-	@DeleteMapping("/{ids}")
-    public AjaxResult remove(@PathVariable String[] ids)
-    {
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids) {
         return toAjax(apsPlatePlanService.deleteApsPlatePlanByIds(ids));
     }
 
-    @PostMapping("/upload")
-    public AjaxResult upload(MultipartFile file)
-    {
-        try
-        {
-            // 涓婁紶骞惰繑鍥炶闂湴鍧�
-            ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class);
-            List<ApsPlatePlan> userList = util.importExcel(file.getInputStream());
-            System.out.println(userList.size());
-
+    /**
+     * 瀵煎叆Excel鏁版嵁
+     * @param file
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        ExcelUtil<ApsPlatePlanTemp> util = new ExcelUtil<ApsPlatePlanTemp>(ApsPlatePlanTemp.class);
+        List<ApsPlatePlanTemp> platePlanTemps = util.importExcel(file.getInputStream());
+        //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
+        if (platePlanTemps.size() > 0) {
+            String batchNum = apsPlatePlanService.importData(platePlanTemps);
+            return AjaxResult.success("瀵煎叆鎴愬姛锛�",batchNum);
+        } else {
+            return AjaxResult.error("妯℃澘鍐呭涓虹┖");
         }
-        catch (Exception e)
-        {
-
-        }
-        return toAjax(true);
+    }
+    /**
+     * 纭閮ㄥ垎璁″垝鎺у埗鍣�
+     * @param planTemp 鍖呭惈閮ㄥ垎璁″垝淇℃伅鐨勪复鏃跺璞★紝鐢ㄤ簬纭璁″垝
+     * @return 杩斿洖鎿嶄綔缁撴灉鐨凙jaxResult瀵硅薄
+     */
+    @GetMapping("/confirmPart")
+    public AjaxResult confirmPart(ApsPlatePlanTemp planTemp) {
+        return toAjax(apsPlatePlanService.confirmPlan(planTemp));
     }
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java
index c8b2695..ecce3eb 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java
@@ -120,9 +120,11 @@
     private String nextProcessDeparment;
 
     /** 鏄惁鎸傝捣 */
-    @Excel(name = "鏄惁鎸傝捣")
     private Integer isSuspended;
 
+    /** 鏄惁鎸傝捣 */
+    @Excel(name = "鏄惁鎸傝捣")
+    private String isSuspendedTxt;
     /** 澶栧崗鏍囪瘑 */
     @Excel(name = "澶栧崗鏍囪瘑")
     private String isOutsourcing;
@@ -527,7 +529,13 @@
     {
         return batchNumber;
     }
+    public String getIsSuspendedTxt() {
+        return isSuspendedTxt;
+    }
 
+    public void setIsSuspendedTxt(String isSuspendedTxt) {
+        this.isSuspendedTxt = isSuspendedTxt;
+    }
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java
index 70f6532..9553c71 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import  com.aps.core.domain.ApsPlatePlan;
+import com.aps.core.domain.ApsPlatePlanTemp;
 
 /**
  * 閽i噾璁″垝绠$悊Service鎺ュ彛
@@ -58,4 +59,16 @@
      * @return 缁撴灉
      */
     public int deleteApsPlatePlanById(String id);
+    /***
+     * 纭璁″垝涓婁紶
+     * */
+    public int confirmPlan(ApsPlatePlanTemp tempPlan);
+
+    /**
+     * 瀵煎叆璁″垝鏁版嵁鍒颁复鏃惰〃
+     * @param tempList
+     * @return
+     * @throws Exception
+     */
+    String importData(List<ApsPlatePlanTemp> tempList) throws Exception;
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
index 8ef46ca..74f7ae4 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
@@ -1,6 +1,15 @@
 package com.aps.core.service.impl;
 
 import java.util.List;
+
+import com.aps.common.core.utils.uuid.IdUtils;
+import com.aps.common.security.utils.DictUtils;
+import com.aps.core.domain.ApsPlatePlanTemp;
+import com.aps.core.mapper.ApsPartPlanTempMapper;
+import com.aps.core.mapper.ApsPlatePlanTempMapper;
+import com.aps.system.api.domain.SysDictData;
+import org.apache.logging.log4j.util.Strings;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.aps.core.mapper.ApsPlatePlanMapper;
@@ -18,6 +27,11 @@
 {
     @Autowired
     private ApsPlatePlanMapper apsPlatePlanMapper;
+
+    @Autowired
+    private ApsPartPlanTempMapper apsPartPlanTempMapper;
+    @Autowired
+    private ApsPlatePlanTempMapper apsPlatePlanTempMapper;
 
     /**
      * 鏌ヨ閽i噾璁″垝绠$悊
@@ -52,6 +66,7 @@
     @Override
     public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan)
     {
+        apsPlatePlan.setId(IdUtils.fastUUID());
         return apsPlatePlanMapper.insertApsPlatePlan(apsPlatePlan);
     }
 
@@ -90,4 +105,52 @@
     {
         return apsPlatePlanMapper.deleteApsPlatePlanById(id);
     }
+
+    @Override
+    public int confirmPlan(ApsPlatePlanTemp tempPlan) {
+        //鏌ヨ涓存椂琛ㄦ暟鎹�
+        List<ApsPlatePlanTemp> apsPartPlanTemps=apsPlatePlanTempMapper.selectApsPlatePlanTempList(tempPlan);
+        int count=0;
+        String[] ids=new String[apsPartPlanTemps.size()];
+        for (int i = 0; i <apsPartPlanTemps.size() ; i++) {
+            //璁板綍涓存椂琛╥d
+            ids[i]=apsPartPlanTemps.get(i).getId();
+            ApsPlatePlan platePlan=new ApsPlatePlan();
+            BeanUtils.copyProperties(apsPartPlanTemps.get(i), platePlan);
+            platePlan.setId(IdUtils.fastUUID());
+            //鎻掑叆姝e紡琛紝骞惰褰�
+            apsPlatePlanMapper.insertApsPlatePlan(platePlan);
+            count++;
+        }
+        //鎻掑叆鏁伴噺涓庝复鏃惰〃鏌ヨ涓�鐩村垯鍒犻櫎涓存椂琛ㄦ暟鎹�
+        if (count==apsPartPlanTemps.size()) {
+            apsPlatePlanTempMapper.deleteApsPlatePlanTempByIds(ids);
+        }
+        return 1;
+    }
+   @Override
+   public String importData(List<ApsPlatePlanTemp> tempList) throws Exception {
+
+        String batchNum= IdUtils.fastUUID();
+        //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
+        if (tempList.size() > 0) {
+            List<SysDictData> dictDataList = DictUtils.getDictCache("aps_is_suspended");
+            for (int i = 0; i < tempList.size(); i++) {
+                ApsPlatePlanTemp planTemp = tempList.get(i);
+                for (int j = 0; j < dictDataList.size(); j++) {
+                    if (planTemp.getIsSuspendedTxt().equals(dictDataList.get(j).getDictLabel())) {
+                        planTemp.setIsSuspended(Integer.parseInt(dictDataList.get(j).getDictValue()));
+                        break;
+                    }
+                }
+                //鎻掑叆鐗堟湰鍙�
+                planTemp.setBatchNumber(batchNum);
+                //鎻掑叆涓存椂琛�
+                apsPlatePlanTempMapper.insertApsPlatePlanTemp(planTemp);
+            }
+           return batchNum ;
+        } else {
+           return Strings.EMPTY;
+        }
+    }
 }

--
Gitblit v1.9.3