From 2d2500ed7ea59166bf04a6952c06bea6c5dce734 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Tue, 15 Oct 2024 16:55:56 +0800 Subject: [PATCH] =?UTF-8?q?fix=2090615=20=E4=BC=81=E6=A0=87=E5=B9=B4?= =?UTF-8?q?=E5=BA=A6=E5=88=B6=E4=BF=AE=E8=AE=A2=E8=AE=A1=E5=88=92=E6=B5=81?= =?UTF-8?q?=E7=A8=8B-=E5=AF=BC=E5=85=A5=E7=9A=84=E6=8A=8A=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E7=9A=84=E8=A6=86=E7=9B=96=E4=BA=86=EF=BC=8C=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E4=BC=81=E6=A0=87=E5=B9=B6=E4=B8=8D=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ProcessAnnualInitLinkService.java | 101 ++++++++++++++++-- 1 file changed, 95 insertions(+), 6 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitLinkService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitLinkService.java index 51314a16..8ac49d4c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitLinkService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/annualinit/service/ProcessAnnualInitLinkService.java @@ -1,7 +1,9 @@ package com.jero.modules.activiti.process.annualinit.service; +import com.google.common.collect.Lists; import cn.hutool.core.collection.CollStreamUtil; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; @@ -13,6 +15,9 @@ import com.jero.modules.activiti.process.annualinit.common.ProcessAnnualInitComm import com.jero.modules.activiti.process.annualinit.entity.ProcessAnnualInitLink; import com.jero.modules.activiti.process.annualinit.mapper.ProcessAnnualInitLinkMapper; import com.jero.modules.activiti.process.annualinit.vo.ProcessAnnualInitLinkExcelVO; +import com.jero.modules.activiti.process.planchange.entity.ProcessPlanChangeLink; +import com.jero.modules.activiti.process.planchange.service.ProcessPlanChangeLinkService; +import com.jero.modules.activiti.process.planchange.service.ProcessPlanChangeService; import com.jero.modules.laws.common.util.ImportUtil; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; @@ -22,6 +27,7 @@ import org.apache.commons.lang3.StringUtils; import org.jeecgframework.poi.excel.ExcelImportCheckUtil; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -59,6 +65,8 @@ public class ProcessAnnualInitLinkService extends ServiceImpl pageList(Page page, ProcessAnnualInitLink processAnnualInitLink, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(processAnnualInitLink, req.getParameterMap()); @@ -100,6 +108,23 @@ public class ProcessAnnualInitLinkService extends ServiceImpl importExcel(HttpServletRequest request) { + String processId = request.getParameter("businessId"); + List standardIdList = new ArrayList<>(); + Integer type = 1; + if (StringUtils.isNotBlank(processId)){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessAnnualInitLink::getProcessId,processId); + List list = this.list(wrapper); + if (!list.isEmpty()){ + standardIdList = list.stream().map(ProcessAnnualInitLink::getStandardId).collect(Collectors.toList()); + }else { + type = 2; + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.eq(ProcessPlanChangeLink::getProcessId,processId); + List list1 = planChangeLinkService.list(wrapper1); + standardIdList = list1.stream().map(ProcessPlanChangeLink::getStandardId).collect(Collectors.toList()); + } + } MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); for (Map.Entry entity : fileMap.entrySet()) { @@ -132,10 +157,19 @@ public class ProcessAnnualInitLinkService extends ServiceImpl list = convertToProcessAnnualInitLink(processId,excelList); + this.saveBatch(list); + }else { + List list = convertToProcessPlanChangeLink(processId,excelList); + planChangeLinkService.saveBatch(list); + } + } return excelList; } catch (Exception e) { log.error("文件导入失败:",e); @@ -154,7 +188,61 @@ public class ProcessAnnualInitLinkService extends ServiceImpl excelList) { + private List convertToProcessPlanChangeLink(String processId, List excelList) { + List processPlanChangeLinklist=Lists.newArrayList(); + for (ProcessAnnualInitLinkExcelVO processAnnualInitLinkExcelVO :excelList) { + processPlanChangeLinklist.add(convertFromProcessAnnualInitLinkExcelVO1(processId,processAnnualInitLinkExcelVO)); + } + return processPlanChangeLinklist; + } + + private ProcessPlanChangeLink convertFromProcessAnnualInitLinkExcelVO1(String processId, ProcessAnnualInitLinkExcelVO vo) { + ProcessPlanChangeLink processPlanChangeLink = new ProcessPlanChangeLink(); + processPlanChangeLink.setProcessId(processId); + processPlanChangeLink.setRevisionType(vo.getRevisionType()); + processPlanChangeLink.setStandardId(vo.getStandardId()); + processPlanChangeLink.setStandardNumber(vo.getStandardNumber()); + processPlanChangeLink.setStandardName(vo.getStandardName()); + processPlanChangeLink.setMainDraftingUser(vo.getMainDraftingUser()); + processPlanChangeLink.setEmail(vo.getEmail()); + processPlanChangeLink.setDepartId(vo.getDepartId()); + processPlanChangeLink.setProfessionalModule(vo.getProfessionalModule()); + processPlanChangeLink.setDraftCompleteDate(DateUtil.parseDate(vo.getDraftCompleteDate())); + processPlanChangeLink.setPlanArchivingDate(DateUtil.parseDate(vo.getPlanArchivingDate())); + processPlanChangeLink.setHaveEnglishVersion(vo.getHaveEnglishVersion()); + processPlanChangeLink.setCommittee(vo.getCommittee()); + return processPlanChangeLink; + + } + + private List convertToProcessAnnualInitLink(String processId, List excelList) { + List processAnnualInitLinklist=Lists.newArrayList(); + for (ProcessAnnualInitLinkExcelVO vo :excelList) { + processAnnualInitLinklist.add(convertFromProcessAnnualInitLinkExcelVO(processId,vo)); + } + return processAnnualInitLinklist; + } + + private ProcessAnnualInitLink convertFromProcessAnnualInitLinkExcelVO(String processId, ProcessAnnualInitLinkExcelVO vo) { + ProcessAnnualInitLink processAnnualInitLink = new ProcessAnnualInitLink(); + processAnnualInitLink.setProcessId(processId); + processAnnualInitLink.setRevisionType(vo.getRevisionType()); + processAnnualInitLink.setStandardId(vo.getStandardId()); + processAnnualInitLink.setStandardNumber(vo.getStandardNumber()); + processAnnualInitLink.setStandardName(vo.getStandardName()); + processAnnualInitLink.setMainDraftingUser(vo.getMainDraftingUser()); + processAnnualInitLink.setEmail(vo.getEmail()); + processAnnualInitLink.setDepartId(vo.getDepartId()); + processAnnualInitLink.setProfessionalModule(vo.getProfessionalModule()); + processAnnualInitLink.setDraftCompleteDate(DateUtil.parseDate(vo.getDraftCompleteDate())); + processAnnualInitLink.setPlanArchivingDate(DateUtil.parseDate(vo.getPlanArchivingDate())); + processAnnualInitLink.setHaveEnglishVersion(vo.getHaveEnglishVersion()); + processAnnualInitLink.setCommittee(vo.getCommittee()); + return processAnnualInitLink; + + } + + private StringBuilder validateExcelData(List excelList, List oldStandardIdList) { StringBuilder msg = new StringBuilder(); //日期格式 String users = excelList.stream().map(ProcessAnnualInitLinkExcelVO::getMainDraftingUser).collect(Collectors.joining(",")); @@ -202,7 +290,11 @@ public class ProcessAnnualInitLinkService extends ServiceImpl500){ msgSub.append("第" + (i + 4) + "行" + "所属技术委员会最大为500字符;"); } - if (msgSub.length() > 0) { - msg.append(msgSub).append("
"); - } } return msg; }