From b89faef13acb23d42d8f2f53b493cf90286c8e23 Mon Sep 17 00:00:00 2001 From: wenwj <‘1106994300@qq.com> Date: 星期五, 11 四月 2025 09:12:14 +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