From 17c422718e89028cf99b3dfb7141bdf61a891d81 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 6 May 2022 15:42:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=B8=85=E5=8D=95--?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryInfoEOServiceImpl.java | 39 +-- .../entity/ProjectLawsInventoryEO.java | 112 ++++--- .../xml/ProjectLawsInventoryEOMapper.xml | 4 +- .../ProjectLawsInventoryEOServiceImpl.java | 317 ++++++++++++++++++ 4 files changed, 402 insertions(+), 70 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java index 18048d4a5..526fc70dc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryInfoEOServiceImpl.java @@ -1297,6 +1297,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(BussDocumentLibraryEO::getId,correspondingStandardIdList); - List bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(lambdaQueryWrapper); +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.in(BussDocumentLibraryEO::getId,correspondingStandardIdList); +// List bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(lambdaQueryWrapper); for (DummyInventoryInfoEO inventoryInfoEO : dataList) { String correspondingStandard = inventoryInfoEO.getCorrespondingStandard(); @@ -1376,22 +1377,22 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl collect = bussDocumentLibraryEOList.stream() - .filter(e -> s.equals(e.getId())).collect(Collectors.toList()); - if(collect.size() != 0){ - sb.append(collect.get(0).getSerialNumber() + ","); - }else{ - sb.append(s + ","); - } - } - if(StringUtils.isNotBlank(sb)){ - String substring = sb.substring(0, sb.length() - 1); - inventoryInfoEO.setCorrespondingStandard(substring); - } - } +// if(StringUtils.isNotBlank(correspondingStandard)){ +// StringBuilder sb = new StringBuilder(); +// for (String s : correspondingStandard.split(",")) { +// List collect = bussDocumentLibraryEOList.stream() +// .filter(e -> s.equals(e.getId())).collect(Collectors.toList()); +// if(collect.size() != 0){ +// sb.append(collect.get(0).getSerialNumber() + ","); +// }else{ +// sb.append(s + ","); +// } +// } +// if(StringUtils.isNotBlank(sb)){ +// String substring = sb.substring(0, sb.length() - 1); +// inventoryInfoEO.setCorrespondingStandard(substring); +// } +// } //技术领域 if(StringUtils.isNotBlank(technologyTerritory)){ StringBuilder sb = new StringBuilder(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java index b31ace150..6a8237c5c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectLawsInventoryEO.java @@ -59,119 +59,144 @@ public class ProjectLawsInventoryEO implements Serializable { private String sysOrgCode; /**项目库id*/ - @Excel(name = "项目库id", width = 15) @ApiModelProperty(value = "项目库id") private String projectLibraryId; /**编号*/ - @Excel(name = "编号", width = 15) + @Excel(name = "编号", width = 20) @ApiModelProperty(value = "编号") private String serialNumber; /**标题*/ - @Excel(name = "标题", width = 15) + @Excel(name = "标题", width = 20) @ApiModelProperty(value = "标题") private String title; /**子标题*/ - @Excel(name = "子标题", width = 15) + @Excel(name = "子标题", width = 20) @ApiModelProperty(value = "子标题") private String subtitle; + /**清单确认状态*/ + @ApiModelProperty(value = "清单确认状态") + private String inventoryAffirmStatus; + + @TableField(exist = false) + @Excel(name = "清单确认状态", width = 20) + @ApiModelProperty(value = "清单确认状态名称") + private String inventoryAffirmStatusName;//清单确认状态名称 + + /**任务确认状态*/ + @ApiModelProperty(value = "任务确认状态") + private String taskAffirmStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "任务发布状态名称") + @Excel(name = "任务确认状态", width = 20) + private String taskAffirmStatusName;//任务发布状态名称 + + /**适用地区*/ + @ApiModelProperty(value = "适用地区") + @Dict(dicCode ="region") + @Excel(name = "适用地区", width = 15, dicCode = "region") + private java.lang.String region; + /**对应标准*/ - @Excel(name = "对应标准", width = 15) + @Excel(name = "对应标准", width = 20) @ApiModelProperty(value = "对应标准") private String correspondingStandard; /**实施类别*/ - @Excel(name = "实施类别", width = 15) + @Excel(name = "实施类别", width = 20,dicCode ="implement_type") @ApiModelProperty(value = "实施类别") @Dict(dicCode ="implement_type") private String implementType; /**新车型实施日期*/ - @Excel(name = "新车型实施日期", width = 15, format = "yyyy-MM-dd") + @Excel(name = "新车型实施日期", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "新车型实施日期") private Date xin1Che1Xing2Shi2Shi1Ri4Qi1; /**在产车实施日期*/ - @Excel(name = "在产车实施日期", width = 15, format = "yyyy-MM-dd") + @Excel(name = "在产车实施日期", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "在产车实施日期") private Date implementTime; /**认证类型*/ - @Excel(name = "认证类型", width = 15) + @Excel(name = "认证类型", width = 20,dicCode ="attestation_type") @ApiModelProperty(value = "认证类型") @Dict(dicCode ="attestation_type") private String attestationType; /**认证级别*/ - @Excel(name = "认证级别", width = 15) + @Excel(name = "认证级别", width = 20,dicCode ="attestation_rank") @ApiModelProperty(value = "认证级别") @Dict(dicCode ="attestation_rank") private String attestationRank; /**WVTA ID*/ - @Excel(name = "WVTA ID", width = 15) + @Excel(name = "WVTA ID", width = 20) @ApiModelProperty(value = "WVTA ID") private String wvtaId; /**责任领域*/ - @Excel(name = "责任领域", width = 15) + @Excel(name = "责任领域", width = 20,dicCode ="duty_territory") @ApiModelProperty(value = "责任领域") @Dict(dicCode ="duty_territory") private String dutyTerritory; /**法规工程师id*/ - @Excel(name = "法规工程师id", width = 15) @ApiModelProperty(value = "法规工程师id") private String regulationOwnerId; + + @Excel(name = "法规工程师", width = 20) @TableField(exist = false) @ApiModelProperty(value = "法规工程师名称") private String regulationOwnerName;//法规工程师名称 /**认证工程师id*/ - @Excel(name = "认证工程师id", width = 15) @ApiModelProperty(value = "认证工程师id") private String homologationEngineerId; + + @Excel(name = "认证工程师", width = 20) @TableField(exist = false) @ApiModelProperty(value = "认证工程师名称") private String homologationEngineerName;//认证工程师名称 /**工程接口人id*/ - @Excel(name = "工程接口人id", width = 15) @ApiModelProperty(value = "工程接口人id") private String engineeringInterfacePerson; + + @Excel(name = "工程接口人", width = 20) @TableField(exist = false) @ApiModelProperty(value = "工程接口人名称") private String engineeringInterfacePersonName;//工程接口人名称 /**备注*/ - @Excel(name = "备注", width = 15) + @Excel(name = "备注", width = 20) @ApiModelProperty(value = "备注") private String remark; /**设计符合性确认-交付物类型*/ - @Excel(name = "设计符合性确认-交付物类型", width = 15) + @Excel(name = "设计符合性确认-交付物类型", width = 20,dicCode ="deliverable_template") @ApiModelProperty(value = "设计符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private String designDeliverableType; /**设计符合性确认-交付物模板*/ - @Excel(name = "设计符合性确认-交付物模板", width = 15) @ApiModelProperty(value = "设计符合性确认-交付物模板") private String designDeliverableTemplate; /**设计符合性确认-交付物模板名称*/ @TableField(exist = false) + @Excel(name = "设计符合性确认-交付物模板", width = 20) private String designDeliverableTemplateName; /**设计符合性确认-发起人角色*/ - @Excel(name = "设计符合性确认-发起人角色", width = 15) @ApiModelProperty(value = "设计符合性确认-发起人角色") @Dict(dicCode ="fa1_qi3_ren2") private String designInitiator; @@ -179,12 +204,13 @@ public class ProjectLawsInventoryEO implements Serializable { /**设计符合性确认-发起人id*/ @ApiModelProperty(value = "设计符合性确认-发起人id") private String designInitiatorId; + /**设计符合性确认-发起人名称*/ + @Excel(name = "设计符合性确认-发起人", width = 20) @TableField(exist = false) private String designInitiatorName; /**设计符合性确认-责任人角色*/ - @Excel(name = "设计符合性确认-责任人角色", width = 15) @ApiModelProperty(value = "设计符合性确认-责任人角色") @Dict(dicCode ="ze2_ren4_ren2") private String designDuty; @@ -192,34 +218,35 @@ public class ProjectLawsInventoryEO implements Serializable { /**设计符合性确认-责任人id*/ @ApiModelProperty(value = "设计符合性确认-责任人id") private String designDutyId; + /**设计符合性确认-责任人名称*/ + @Excel(name = "设计符合性确认-责任人", width = 20) @TableField(exist = false) private String designDutyName; /**设计符合性确认-截止时间*/ - @Excel(name = "设计符合性确认-截止时间", width = 15, format = "yyyy-MM-dd") + @Excel(name = "设计符合性确认-截止时间", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "设计符合性确认-截止时间") private Date designDueDate; /**prehomo确认-交付物类型*/ - @Excel(name = "prehomo确认-交付物类型", width = 15) + @Excel(name = "prehomo确认-交付物类型", width = 20,dicCode ="deliverable_template") @ApiModelProperty(value = "prehomo确认-1") @Dict(dicCode ="deliverable_template") private String prehomoDeliverableType; /**prehomo确认-交付物模板*/ - @Excel(name = "prehomo确认-交付物模板", width = 15) @ApiModelProperty(value = "prehomo确认-交付物模板") private String prehomoDeliverableTemplate; /**prehomo确认-交付物模板名称*/ @TableField(exist = false) + @Excel(name = "prehomo确认-交付物模板", width = 20) private String prehomoDeliverableTemplateName; /**prehomo确认-发起人角色*/ - @Excel(name = "prehomo确认-发起人角色", width = 15) @ApiModelProperty(value = "prehomo确认-发起人角色") @Dict(dicCode ="fa1_qi3_ren2") private String prehomoInitiator; @@ -227,12 +254,13 @@ public class ProjectLawsInventoryEO implements Serializable { /**prehomo确认-发起人id*/ @ApiModelProperty(value = "prehomo确认-发起人id") private String prehomoInitiatorId; + /**prehomo确认-发起人名称*/ + @Excel(name = "prehomo确认-发起人", width = 20) @TableField(exist = false) private String prehomoInitiatorName; /**prehomo确认-责任人角色*/ - @Excel(name = "prehomo确认-责任人角色", width = 15) @ApiModelProperty(value = "prehomo确认-责任人角色") @Dict(dicCode ="ze2_ren4_ren2") private String prehomoDuty; @@ -240,34 +268,35 @@ public class ProjectLawsInventoryEO implements Serializable { /**prehomo确认-责任人id*/ @ApiModelProperty(value = "prehomo确认-责任人id") private String prehomoDutyId; + /**prehomo确认-责任人名称*/ + @Excel(name = "prehomo确认-责任人", width = 20) @TableField(exist = false) private String prehomoDutyName; /**prehomo确认-截止时间*/ - @Excel(name = "prehomo确认-截止时间", width = 15, format = "yyyy-MM-dd") + @Excel(name = "prehomo确认-截止时间", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "prehomo确认-截止时间") private Date prehomoDueDate; /**验证符合性确认-交付物类型*/ - @Excel(name = "验证符合性确认-交付物类型", width = 15) + @Excel(name = "验证符合性确认-交付物类型", width = 20,dicCode ="deliverable_template") @ApiModelProperty(value = "验证符合性确认-交付物类型") @Dict(dicCode ="deliverable_template") private String verifyDeliverableType; /**验证符合性确认-交付物模板*/ - @Excel(name = "验证符合性确认-交付物模板", width = 15) @ApiModelProperty(value = "验证符合性确认-交付物模板") private String verifyDeliverableTemplate; /**验证符合性确认-交付物模板名称*/ + @Excel(name = "验证符合性确认-交付物模板", width = 20) @TableField(exist = false) private String verifyDeliverableTemplateName; /**验证符合性确认-发起人角色*/ - @Excel(name = "验证符合性确认-发起人角色", width = 15) @ApiModelProperty(value = "验证符合性确认-发起人角色") @Dict(dicCode ="fa1_qi3_ren2") private String verifyInitiator; @@ -275,12 +304,13 @@ public class ProjectLawsInventoryEO implements Serializable { /**验证符合性确认-发起人id*/ @ApiModelProperty(value = "验证符合性确认-发起人id") private String verifyInitiatorId; + /**验证符合性确认-发起人名称*/ + @Excel(name = "验证符合性确认-发起人", width = 20) @TableField(exist = false) private String verifyInitiatorName; /**验证符合性确认-责任人角色*/ - @Excel(name = "验证符合性确认-责任人", width = 15) @ApiModelProperty(value = "验证符合性确认-责任人角色") @Dict(dicCode ="ze2_ren4_ren2") private String verifyDuty; @@ -288,33 +318,19 @@ public class ProjectLawsInventoryEO implements Serializable { /**验证符合性确认-责任人id*/ @ApiModelProperty(value = "验证符合性确认-责任人id") private String verifyDutyId; + /**验证符合性确认-责任人名称*/ + @Excel(name = "验证符合性确认-责任人", width = 20) @TableField(exist = false) private String verifyDutyName; /**验证符合性确认-截止时间*/ - @Excel(name = "验证符合性确认-截止时间", width = 15, format = "yyyy-MM-dd") + @Excel(name = "验证符合性确认-截止时间", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "验证符合性确认-截止时间") private Date verifyDueDate; - /**清单确认状态*/ - @Excel(name = "清单确认状态", width = 15) - @ApiModelProperty(value = "清单确认状态") - private String inventoryAffirmStatus; - @TableField(exist = false) - @ApiModelProperty(value = "清单确认状态名称") - private String inventoryAffirmStatusName;//清单确认状态名称 - - /**任务发布状态*/ - @Excel(name = "任务发布状态", width = 15) - @ApiModelProperty(value = "任务发布状态") - private String taskAffirmStatus; - @TableField(exist = false) - @ApiModelProperty(value = "任务发布状态名称") - private String taskAffirmStatusName;//任务发布状态名称 - @TableField(exist = false) @ApiModelProperty(value = "角色代码") @@ -339,14 +355,12 @@ public class ProjectLawsInventoryEO implements Serializable { private String ids;//文档库id 多个之间用英文逗号拼接 /**清单确认-截止时间*/ - @Excel(name = "清单确认-截止时间", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "清单确认-截止时间") private Date inventoryAffirmDueDate; /**任务确认-截止时间*/ - @Excel(name = "任务确认-截止时间", width = 15, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "任务确认-截止时间") diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLawsInventoryEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLawsInventoryEOMapper.xml index c92190d72..3c0b1a42e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLawsInventoryEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/mapper/xml/ProjectLawsInventoryEOMapper.xml @@ -39,6 +39,6 @@ - + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index b80ab4903..e8c3cce52 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.project.service.impl; +import cn.hutool.core.util.ZipUtil; import com.alibaba.fastjson.JSONObject; import com.aliyuncs.utils.IOUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -43,6 +44,7 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -54,8 +56,14 @@ import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.VerticalAlignment; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.shiro.SecurityUtils; +import org.aspectj.util.FileUtil; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -66,6 +74,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; @@ -78,6 +88,8 @@ import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; +import static com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl.copyFile; + /** * @Description: 项目库-法规清单表 * @Author: jero-boot @@ -121,6 +133,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl dataList = new ArrayList<>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(projectLawsInventoryEO,request.getParameterMap()); + queryWrapper.in("project_library_id",projectLawsInventoryEO.getProjectLibraryId()); + if(StringUtils.isNotBlank(projectLawsInventoryEO.getIds())){ + queryWrapper.in("id",Arrays.asList(projectLawsInventoryEO.getIds().split(","))); + } + queryWrapper.orderByDesc("create_time"); + //导出的数据 + dataList = this.list(queryWrapper); + + //文件 + List fileInfos = getOssFiles(dataList); + //所有用户 + List sysUserList = sysUserService.list(); + //数据转换(文件名称,对应标准) + dataTransition(dataList, fileInfos,sysUserList); + + OutputStream os = null; + try { + response.setContentType("application/force-download"); + Workbook workbook = new XSSFWorkbook(); + String path = uploadpath + "/tempZip"; + File fileTemp = new File(path); + if (fileTemp.exists()) { + fileTemp.delete(); + } + fileTemp.mkdirs(); + //文件 + exportFile(dataList,fileInfos); + //excel + OutputStream excelOS = new FileOutputStream(path + File.separator + "虚拟清单.xlsx"); + ExportParams exportParams = new ExportParams(); + exportParams.setType(ExcelType.XSSF); + workbook = ExcelExportUtil.exportExcel(exportParams, ProjectLawsInventoryEO.class, dataList); + workbook.write(excelOS); + excelOS.flush(); + + ZipUtil.zip(path, path + ".zip"); + //文件 + FileInputStream fis = new FileInputStream(path + ".zip"); + os = response.getOutputStream(); + + int len = 0; + while ((len = fis.read()) != -1) { + os.write(len); + } + os.flush(); + fis.close(); + } catch (IOException e) { + if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){ + throw new JeroBootException("下载文件失败"); + }else{ + throw new JeroBootException("Failed to download file"); + } + } finally { + IOUtils.closeQuietly(os); + File file = new File(uploadpath + "/tempZip"); + FileUtil.deleteContents(file); + } } @@ -1485,4 +1559,247 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl getOssFiles(List dataList) { + List fileIdList = new ArrayList<>(); + List design = new ArrayList<>(); + List prehomo = new ArrayList<>(); + List verify = new ArrayList<>(); + for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { + if(StringUtils.isNotBlank(projectLawsInventoryEO.getDesignDeliverableTemplate())){ + design.add(projectLawsInventoryEO.getDesignDeliverableTemplate()); + } + if(StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoDeliverableTemplate())){ + prehomo.add(projectLawsInventoryEO.getPrehomoDeliverableTemplate()); + } + if(StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyDeliverableTemplate())){ + verify.add(projectLawsInventoryEO.getVerifyDeliverableTemplate()); + } + } + if(design.size() != 0){ + fileIdList.addAll(design); + } + if(prehomo.size() != 0){ + fileIdList.addAll(prehomo); + } + if(verify.size() != 0){ + fileIdList.addAll(verify); + } + //查询所有的文件 + List fileInfos = new ArrayList<>(); + if(fileIdList.size() != 0){ + fileInfos = iOSSFileService.getFileInfos(StringUtils.join(fileIdList, ",")); + } + return fileInfos; + } + + /** + * 数据转换(文件名称,技术领域,对应标准) + * @param dataList + * @param fileInfos + */ + private void dataTransition(List dataList, + List fileInfos, + List sysUserList) { + + for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { + //清单确认状态 inventoryAffirmStatus + if(StringUtils.isNotBlank(projectLawsInventoryEO.getInventoryAffirmStatus())){ + String stateName = stateTransition(projectLawsInventoryEO.getInventoryAffirmStatus()); + projectLawsInventoryEO.setInventoryAffirmStatusName(stateName); + } + //任务确认状态 taskAffirmStatus + if(StringUtils.isNotBlank(projectLawsInventoryEO.getTaskAffirmStatus())){ + String stateName = stateTransition(projectLawsInventoryEO.getTaskAffirmStatus()); + projectLawsInventoryEO.setTaskAffirmStatusName(stateName); + } + //法规工程师 regulationOwnerId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getRegulationOwnerId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getRegulationOwnerId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setRegulationOwnerName(collect.get(0).getUsername()); + } + } + + //认证工程师 homologationEngineerId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getHomologationEngineerId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getHomologationEngineerId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setHomologationEngineerName(collect.get(0).getUsername()); + } + } + + //工程接口人 engineeringInterfacePerson + if(StringUtils.isNotBlank(projectLawsInventoryEO.getEngineeringInterfacePerson())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getEngineeringInterfacePerson())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setEngineeringInterfacePersonName(collect.get(0).getUsername()); + } + } + + //设计符合性确认发起人designInitiatorId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getDesignInitiatorId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignInitiatorId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setDesignInitiatorName(collect.get(0).getUsername()); + } + } + + //设计符合性确认责任人designDutyId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getDesignDutyId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getDesignDutyId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setDesignDutyName(collect.get(0).getUsername()); + } + } + + //PreHomo确认发起人prehomoInitiatorId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoInitiatorId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoInitiatorId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setPrehomoInitiatorName(collect.get(0).getUsername()); + } + } + + //PreHomo确认责任人prehomoDutyId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoDutyId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getPrehomoDutyId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setPrehomoDutyName(collect.get(0).getUsername()); + } + } + + //验证符合性确认发起人verifyInitiatorId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyInitiatorId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyInitiatorId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setVerifyInitiatorName(collect.get(0).getUsername()); + } + } + + //验证符合性确认责任人verifyDutyId + if(StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyDutyId())){ + List collect = sysUserList.stream() + .filter(e -> e.getId().equals(projectLawsInventoryEO.getVerifyDutyId())).collect(Collectors.toList()); + if(collect.size() != 0){ + projectLawsInventoryEO.setVerifyDutyName(collect.get(0).getUsername()); + } + } + + String designDeliverableTemplate = projectLawsInventoryEO.getDesignDeliverableTemplate(); + String prehomoDeliverableTemplate = projectLawsInventoryEO.getPrehomoDeliverableTemplate(); + String verifyDeliverableTemplate = projectLawsInventoryEO.getVerifyDeliverableTemplate(); + //设计交付物模板 + if(StringUtils.isNotBlank(designDeliverableTemplate)){ + String designDeliverableTemplateName = template(fileInfos, designDeliverableTemplate); + projectLawsInventoryEO.setDesignDeliverableTemplateName(designDeliverableTemplateName); + } + //设计交付物模板 + if(StringUtils.isNotBlank(prehomoDeliverableTemplate)){ + String prehomoDeliverableTemplateName = template(fileInfos, prehomoDeliverableTemplate); + projectLawsInventoryEO.setPrehomoDeliverableTemplateName(prehomoDeliverableTemplateName); + + } + //设计交付物模板 + if(StringUtils.isNotBlank(verifyDeliverableTemplate)){ + String verifyDeliverableTemplateName = template(fileInfos, verifyDeliverableTemplate); + projectLawsInventoryEO.setVerifyDeliverableTemplateName(verifyDeliverableTemplateName); + } + } + } + + private String stateTransition(String state){ + String result = ""; + if(InventoryAffirmStatusEnum.NOT_STARTED.getValue().equals(state)){ + result = InventoryAffirmStatusEnum.NOT_STARTED.getName(); + + }else if(InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getValue().equals(state)){ + result = InventoryAffirmStatusEnum.LIST_TO_CONFIRM.getName(); + + }else if(InventoryAffirmStatusEnum.ACCEPTED.getValue().equals(state)){ + result = InventoryAffirmStatusEnum.ACCEPTED.getName(); + + }else if(InventoryAffirmStatusEnum.REJECTED.getValue().equals(state)){ + result = InventoryAffirmStatusEnum.REJECTED.getName(); + } + return result; + } + + /** + * 模板名称转换 + * @param fileInfos + * @param value + * @return + */ + private String template(List fileInfos, String value) { + StringBuilder sb = new StringBuilder(); + for (String s : value.split(",")) { + List collect = fileInfos.stream().filter(e -> s.equals(e.getId())).collect(Collectors.toList()); + if(collect.size() != 0){ + sb.append(collect.get(0).getFileName()+","); + } + } + String substring = ""; + if(StringUtils.isNotBlank(sb)){ + substring = sb.substring(0, sb.length() - 1); + } + return substring; + } + + private void exportFile(List dataList,List fileInfos) throws IOException { + if(fileInfos.size() != 0){ + for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) { + String designDeliverableTemplate = projectLawsInventoryEO.getDesignDeliverableTemplate(); + String prehomoDeliverableTemplate = projectLawsInventoryEO.getPrehomoDeliverableTemplate(); + String verifyDeliverableTemplate = projectLawsInventoryEO.getVerifyDeliverableTemplate(); + String serialNumber = projectLawsInventoryEO.getSerialNumber(); + if(StringUtils.isBlank(serialNumber)){ + continue; + } + List designFileList = new ArrayList<>(); + List prehomoFileList = new ArrayList<>(); + List verifyFileList = new ArrayList<>(); + List oSSFileList = new ArrayList<>(); + if(StringUtils.isNotBlank(designDeliverableTemplate)){ + designFileList = fileInfos.stream().filter(e -> designDeliverableTemplate.contains(e.getId())).collect(Collectors.toList()); + oSSFileList.addAll(designFileList); + } + if(StringUtils.isNotBlank(prehomoDeliverableTemplate)){ + prehomoFileList = fileInfos.stream().filter(e -> prehomoDeliverableTemplate.contains(e.getId())).collect(Collectors.toList()); + oSSFileList.addAll(prehomoFileList); + } + if(StringUtils.isNotBlank(verifyDeliverableTemplate)){ + verifyFileList = fileInfos.stream().filter(e -> verifyDeliverableTemplate.contains(e.getId())).collect(Collectors.toList()); + oSSFileList.addAll(verifyFileList); + } + + if(oSSFileList.size() != 0){ + String fileNowPath = uploadpath + "/tempZip/" + serialNumber; + File file = new File(fileNowPath); + if (file.exists()) { + file.delete(); + } + file.mkdirs(); + for (OSSFile ossFile : oSSFileList) { + String url = ossFile.getUrl(); + copyFile(url, fileNowPath + File.separator + ossFile.getFileName()); + } + } + } + } + } } From 6df70dea2bc8d53f05862a4425e23692866e7023 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Fri, 6 May 2022 15:43:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93-=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E6=B8=85=E5=8D=95-=E5=88=9B=E5=BB=BA=E6=97=B6?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=20=E4=BB=BB=E5=8A=A1=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E8=A1=A8=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IProjectTaskInventoryEOService.java | 6 +++ .../ProjectLawsInventoryEOServiceImpl.java | 38 ++++++++++++++----- .../ProjectTaskInventoryEOServiceImpl.java | 7 ++++ 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java index b13e63b72..7d6ed3cc9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectTaskInventoryEOService.java @@ -76,4 +76,10 @@ public interface IProjectTaskInventoryEOService extends IService remindDispose(JSONObject jsonObject); + + /** + * 根据法规清单id,删除数据 + * @param projectLawsInventoryIds + */ + void deleteByProjectLawsInventoryIds(List projectLawsInventoryIds); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index b80ab4903..e0001a929 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -22,10 +22,7 @@ import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; -import com.jero.modules.project.entity.ProjectLawsInventoryEO; -import com.jero.modules.project.entity.ProjectLibraryBase; -import com.jero.modules.project.entity.ProjectNameInfoEO; -import com.jero.modules.project.entity.ProjectRelatedPersonnel; +import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.InventoryAffirmStatusEnum; import com.jero.modules.project.enums.MsgTypeEnum; import com.jero.modules.project.enums.OperatorResultEnum; @@ -33,11 +30,9 @@ import com.jero.modules.project.enums.OperatorTypeEnum; import com.jero.modules.project.enums.ProjectRoleEnum; import com.jero.modules.project.enums.RequestSourceEnum; import com.jero.modules.project.enums.TaskAffirmStatusEnum; -import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper; -import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; -import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; -import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; +import com.jero.modules.project.mapper.*; import com.jero.modules.project.service.IProjectLawsInventoryEOService; +import com.jero.modules.project.service.IProjectTaskInventoryEOService; import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; @@ -116,6 +111,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectTaskInventoryEOList = new ArrayList<>(); //法规清单所有的数据 LambdaQueryWrapper wrapperTemp = new LambdaQueryWrapper<>(); wrapperTemp.in(ProjectLawsInventoryEO::getProjectLibraryId,projectLawsInventoryEO.getProjectLibraryId()); @@ -181,6 +181,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl { + ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO(); + String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", ""); + projectTaskInventoryEO.setId(projectTaskInventoryId); + projectTaskInventoryEO.setProjectLawsInventoryId(lawsInventory.getId()); + projectTaskInventoryEOList.add(projectTaskInventoryEO); + }); } } } @@ -217,20 +224,29 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl list = new ArrayList<>(); + for (BussDocumentLibraryEO bussDocumentLibraryEO : bussDocumentLibraryEOList) { ProjectLawsInventoryEO projectLawsInventoryTemp = new ProjectLawsInventoryEO(); BeanUtils.copyProperties(bussDocumentLibraryEO, projectLawsInventoryTemp); - String id = UUID.randomUUID().toString().replace("-", ""); - projectLawsInventoryTemp.setId(id); + String projectLawsInventoryId = UUID.randomUUID().toString().replace("-", ""); + projectLawsInventoryTemp.setId(projectLawsInventoryId); projectLawsInventoryTemp.setProjectLibraryId(projectLawsInventoryEO.getProjectLibraryId()); projectLawsInventoryTemp.setCreateTime(new Date()); projectLawsInventoryTemp.setUpdateTime(new Date()); projectLawsInventoryTemp.setTaskAffirmStatus(TaskAffirmStatusEnum.NOT_STARTED.getValue()); projectLawsInventoryTemp.setInventoryAffirmStatus(InventoryAffirmStatusEnum.NOT_STARTED.getValue()); list.add(projectLawsInventoryTemp); + + ProjectTaskInventoryEO projectTaskInventoryEO = new ProjectTaskInventoryEO(); + String projectTaskInventoryId = UUID.randomUUID().toString().replace("-", ""); + projectTaskInventoryEO.setId(projectTaskInventoryId); + projectTaskInventoryEO.setProjectLawsInventoryId(projectLawsInventoryId); + projectTaskInventoryEOList.add(projectTaskInventoryEO); } super.saveBatch(list); } + //项目任务清单数据初始化。 + this.projectTaskInventoryEOService.saveBatch(projectTaskInventoryEOList); } /** @@ -270,6 +286,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().success("提醒办理成功!"); } + @Override + public void deleteByProjectLawsInventoryIds(List projectLawsInventoryIds) { + QueryWrapper deleteWrapper = new QueryWrapper<>(); + deleteWrapper.lambda().in(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryIds); + this.baseMapper.delete(deleteWrapper); + } + /** * 创建任务清单列表数据 * @param projectTaskInventoryEOList