From 9b099713260e1ecfb8a2991f0a0a0c537b006828 Mon Sep 17 00:00:00 2001
From: wenwj <‘1106994300@qq.com>
Date: 星期四, 10 四月 2025 09:54:58 +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