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 e0001a929..05847855e 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; @@ -38,6 +39,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; @@ -49,8 +51,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; @@ -61,6 +69,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; @@ -73,6 +83,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 @@ -120,6 +132,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); + } } @@ -1503,4 +1577,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()); + } + } + } + } + } } diff --git a/jero-web/src/components/UpdateLog/index.vue b/jero-web/src/components/UpdateLog/index.vue index aa9143d42..123e1c951 100644 --- a/jero-web/src/components/UpdateLog/index.vue +++ b/jero-web/src/components/UpdateLog/index.vue @@ -5,9 +5,13 @@ :visible="visible" :confirm-loading="confirmLoading" :maskClosable="false" - @ok="handleOk" - @cancel="handleCancel" + @cancel="visible = false" > + + - + {{$t('See')}} @@ -351,6 +357,13 @@ getAction('document/bussDocumentLibraryEO/getFileInfos', { id: item.join(',') }).then((res) => { if (res.success) { this.dataSourceFile = res.result + this.dataSourceFile.forEach((val) => { + let fileName = val.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + val.fileSuffix = fileSuffix + }) this.loading = false } else { this.dataSourceFile = [] diff --git a/jero-web/src/views/documentTools/virtualList/components/editModel.vue b/jero-web/src/views/documentTools/virtualList/components/editModel.vue index 70a39c849..9401e5bb7 100644 --- a/jero-web/src/views/documentTools/virtualList/components/editModel.vue +++ b/jero-web/src/views/documentTools/virtualList/components/editModel.vue @@ -74,9 +74,9 @@ :title="$t('scopeOfApplication')">{{$t('scopeOfApplication')}} - - - + + + { this.formInline = item || {} this.formInline.technologyTerritory = this.formInline.technologyTerritory ? this.formInline.technologyTerritory.split(',') : [] - console.log(this.formInline.technologyTerritory) + this.$refs.ruleForm.clearValidate() }) }, clickButtonToUpload(item) { @@ -576,22 +598,26 @@ this.visible = false }, handleSubmit() { - let formInline = JSON.parse(JSON.stringify(this.formInline)) - Object.keys(formInline).forEach(res => { - if (formInline[res] && formInline[res] instanceof Array) { - formInline[res] = formInline[res].join(',') - } - }) - this.confirmLoading = true - postAction(this.url.editModel, formInline).then((res) => { - if (res.success) { - this.$message.success(this.$t('OperationSuccessful')) - this.visible = false - this.confirmLoading = false - this.$emit('editModelList') - } else { - this.$message.warning(this.$t('operationFailed')) - this.confirmLoading = false + this.$refs.ruleForm.validate(valid => { + if (valid) { + let formInline = JSON.parse(JSON.stringify(this.formInline)) + Object.keys(formInline).forEach(res => { + if (formInline[res] && formInline[res] instanceof Array) { + formInline[res] = formInline[res].join(',') + } + }) + this.confirmLoading = true + postAction(this.url.editModel, formInline).then((res) => { + if (res.success) { + this.$message.success(this.$t('OperationSuccessful')) + this.visible = false + this.confirmLoading = false + this.$emit('editModelList') + } else { + this.$message.warning(this.$t('operationFailed')) + this.confirmLoading = false + } + }) } }) }, diff --git a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue index 78812a1f0..ff904ae60 100644 --- a/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue +++ b/jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue @@ -184,9 +184,13 @@ :width="600" :visible="visibleFile" :maskClosable="false" - @ok="visibleFile = false" @cancel="visibleFile = false" > + - + {{$t('See')}} @@ -336,8 +341,8 @@ title: 'WVTA ID', align: 'center', dataIndex: 'wvtaId', - width: 100, - ellipsis: true + width: 180, + scopedSlots: { customRender: 'titleName' } }, { title: this.$t('certificationType'), @@ -366,8 +371,8 @@ { title: this.$t('remarks'), align: 'center', - ellipsis: true, - dataIndex: 'remark' + dataIndex: 'remark', + scopedSlots: { customRender: 'titleName' } }, { @@ -568,7 +573,7 @@ }, //模板下载 handleModule() { - downloadFile(this.url.exportTemplate, this.$t('VirtualList')+this.$t('importTemplate')+'.xls', {}) + downloadFile(this.url.exportTemplate, this.$t('VirtualList') + this.$t('importTemplate') + '.xls', {}) }, //导出 handleExport() { @@ -579,7 +584,7 @@ ids: selectedRowKeys.join(','), dummyInventoryBaseId: this.$route.query.id } - downloadFile(this.url.exportData, this.$route.query.name + this.$t('VirtualList')+'.zip', query, this.Deselect) + downloadFile(this.url.exportData, this.$route.query.name + this.$t('VirtualList') + '.zip', query, this.Deselect) }, Deselect() { this.selectedRowKeys = [] @@ -737,6 +742,13 @@ getAction('sys/common/getFileInfos', { id: item }).then((res) => { if (res.success) { this.dataSourceFile = res.result + this.dataSourceFile.forEach((val) => { + let fileName = val.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + val.fileSuffix = fileSuffix + }) this.loading = false } else { this.dataSourceFile = [] diff --git a/jero-web/src/views/processCenter/components/circulationHistory.vue b/jero-web/src/views/processCenter/components/circulationHistory.vue index f15a2f721..d86dd8c27 100644 --- a/jero-web/src/views/processCenter/components/circulationHistory.vue +++ b/jero-web/src/views/processCenter/components/circulationHistory.vue @@ -30,9 +30,13 @@ :width="600" :visible="visibleFile" :maskClosable="false" - @ok="visibleFile = false" @cancel="visibleFile = false" > + - - {{ $t('See') }} + + {{$t('See')}} {{ $t('download') }} @@ -146,6 +152,13 @@ getAction('sys/common/getFileInfos', { id: item }).then((res) => { if (res.success) { this.dataSourceFile = res.result + this.dataSourceFile.forEach((val) => { + let fileName = val.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + val.fileSuffix = fileSuffix + }) this.loading = false } else { this.dataSourceFile = [] diff --git a/jero-web/src/views/processCenter/components/standardContentList.vue b/jero-web/src/views/processCenter/components/standardContentList.vue index f8f464c60..c3867ae49 100644 --- a/jero-web/src/views/processCenter/components/standardContentList.vue +++ b/jero-web/src/views/processCenter/components/standardContentList.vue @@ -43,10 +43,14 @@ :title="$t('deliverableTemplate')" :width="600" :visible="visibleFile" - :maskClosable="false" - @ok="visibleFile = false" @cancel="visibleFile = false" + :maskClosable="false" > + - - {{ $t('See') }} + + {{$t('See')}} {{ $t('download') }} @@ -232,6 +238,13 @@ getAction('sys/common/getFileInfos', { id: item }).then((res) => { if (res.success) { this.dataSourceFile = res.result + this.dataSourceFile.forEach((val) => { + let fileName = val.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + val.fileSuffix = fileSuffix + }) this.loading = false } else { this.dataSourceFile = [] diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index 02e2c0a3a..07af4dd28 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -51,8 +51,10 @@ :columns="columns" >
1212sdfdsf
diff --git a/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue b/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue index 6c0d924ce..4024e9ff2 100644 --- a/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue +++ b/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue @@ -8,7 +8,7 @@ {{$t('title')}}
+ v-model="queryParam.title"> @@ -49,7 +49,18 @@
- +
+ +
+ @@ -58,6 +69,8 @@ diff --git a/jero-web/src/views/projectManagement/components/addModel.vue b/jero-web/src/views/projectManagement/components/addModel.vue index c2238236c..36894abec 100644 --- a/jero-web/src/views/projectManagement/components/addModel.vue +++ b/jero-web/src/views/projectManagement/components/addModel.vue @@ -187,6 +187,7 @@ - - \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/historicalVersion/index.vue b/jero-web/src/views/projectManagement/historicalVersion/index.vue index 01f51a70e..d2d35834b 100644 --- a/jero-web/src/views/projectManagement/historicalVersion/index.vue +++ b/jero-web/src/views/projectManagement/historicalVersion/index.vue @@ -95,9 +95,13 @@ :width="600" :visible="visibleFile" :maskClosable="false" - @ok="visibleFile = false" @cancel="visibleFile = false" > + - - {{ $t('See') }} + + {{$t('See')}} {{ $t('download') }} @@ -492,6 +498,13 @@ getAction('sys/common/getFileInfos', { id: item }).then((res) => { if (res.success) { this.dataSourceFile = res.result + this.dataSourceFile.forEach((val) => { + let fileName = val.fileName + let index1 = fileName.lastIndexOf('.') + let index2 = fileName.length + let fileSuffix = fileName.substring(index1, index2) + val.fileSuffix = fileSuffix + }) this.loading = false } else { this.dataSourceFile = []