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/ApsPartPlanController.java | 77 +++++++++++++++++++++++++++++--------- 1 files changed, 59 insertions(+), 18 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 19e02b1..99153c6 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 @@ -9,6 +9,8 @@ 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; @@ -20,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile; import java.util.List; +import java.util.Optional; /** * 闆朵欢璁″垝绠$悊Controller @@ -52,18 +55,36 @@ @Log(title = "闆朵欢璁″垝绠$悊", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, ApsPartPlan apsPartPlan) { - List<ApsPartPlan> apsPartPlans = apsPartPlanService.selectApsPartPlanList(apsPartPlan); - List<SysDictData> list = DictUtils.getDictCache("aps_is_suspended"); - for (int i = 0; i < apsPartPlans.size(); i++) { - for (int j = 0; j < list.size(); j++) { - if (apsPartPlans.get(i).getIsSuspended().equals(Integer.parseInt(list.get(j).getDictValue()))) { - apsPartPlans.get(i).setIsSuspendedTxt(list.get(j).getDictLabel()); - break; - } - } - } + 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, apsPartPlans, "闆朵欢璁″垝绠$悊鏁版嵁"); + util.exportExcel(response, planList, "闆朵欢璁″垝绠$悊鏁版嵁"); } /** @@ -115,14 +136,34 @@ //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖ if (apsPartPlans.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 < apsPartPlans.size(); i++) { - for (int j = 0; j < list.size(); j++) { - if (apsPartPlans.get(i).getIsSuspendedTxt().equals(list.get(j).getDictLabel())) { - apsPartPlans.get(i).setIsSuspended(Integer.parseInt(list.get(j).getDictValue())); - break; - } - } + + 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); //鎻掑叆涓存椂琛� -- Gitblit v1.9.3