From 2acf6e224a01ccdf9ef6f8f1ab79d98b66077336 Mon Sep 17 00:00:00 2001 From: liao Date: Fri, 20 Oct 2023 11:03:38 +0800 Subject: [PATCH 1/9] =?UTF-8?q?update=20=E5=9B=BD=E5=86=85=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docking/asms/entity/LawsAsmsDomestic.java | 4 +- .../impl/LawsAsmsOpenApiServiceImpl.java | 37 ++++++++++++++++++- .../docking/asms/util/AsmsPostUtil.java | 3 ++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/entity/LawsAsmsDomestic.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/entity/LawsAsmsDomestic.java index bfb5c8e2..8ccf50cd 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/entity/LawsAsmsDomestic.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/entity/LawsAsmsDomestic.java @@ -131,10 +131,10 @@ public class LawsAsmsDomestic implements Serializable { private java.lang.String subcommittee; /**创建时间*/ @ApiModelProperty(value = "创建时间") - private java.lang.String createTime; + private java.lang.String createTimeString; /**更新时间*/ @ApiModelProperty(value = "更新时间") - private java.lang.String updateTime; + private java.lang.String updateTimeString; /**同步标识*/ @Excel(name = "同步标识", width = 15) @ApiModelProperty(value = "同步标识") diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java index 94cae187..5f839a81 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java @@ -1,10 +1,13 @@ package com.jero.modules.docking.asms.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.modules.docking.asms.entity.LawsAsmsDomestic; import com.jero.modules.docking.asms.entity.LawsAsmsOpenApi; import com.jero.modules.docking.asms.mapper.LawsAsmsOpenApiMapper; +import com.jero.modules.docking.asms.service.ILawsAsmsDomesticService; import com.jero.modules.docking.asms.service.ILawsAsmsOpenApiService; import com.jero.modules.docking.asms.util.AsmsPostUtil; import com.jero.modules.system.entity.SysDictItem; @@ -46,6 +49,8 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl> mapList = asmsPostUtil.sendGetReq(lawsAsmsOpenApi.getApiUrl(), map); if ("1".equals(lawsAsmsOpenApi.getApiType()) - && StringUtils.isNotBlank(lawsAsmsOpenApi.getDictId()) && !Objects.isNull(mapList)) { + && StringUtils.isNotBlank(lawsAsmsOpenApi.getDictId()) && CollectionUtils.isNotEmpty(mapList)) { // 如果是下拉字典(普通)、字典id不为空、返回的数据不为空,则进行数据字典同步操作 // 查询该字典全部数据项 LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -222,8 +227,38 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl lawsAsmsDomesticList = new ArrayList(); + mapList.forEach(eMap -> { + LawsAsmsDomestic lawsAsmsDomestic = JSONObject.parseObject(JSONObject.toJSONString(eMap), LawsAsmsDomestic.class); + lawsAsmsDomestic.setId(lawsAsmsDomestic.getCode()); + lawsAsmsDomestic.setCreateTimeString(eMap.get("createTime")); + lawsAsmsDomestic.setUpdateTimeString(eMap.get("updateTime")); + lawsAsmsDomestic.setSyncFlag("A"); + lawsAsmsDomesticList.add(lawsAsmsDomestic); + }); + lawsAsmsDomesticService.saveOrUpdateBatch(lawsAsmsDomesticList); + } else { + // 为空则全部置0 + pageNo = 1; + // 已同步 + lawsAsmsOpenApi.setStatus("1"); + } + map.put("pageNo", pageNo.toString()); + String jsonString = JSON.toJSONString(map); + lawsAsmsOpenApi.setQueryParamJson(jsonString); } + log.info("{}同步成功{}条数据", lawsAsmsOpenApi.getApiName(), mapList.size()); }); // 同步接口的状态 updateBatchById(lawsAsmsOpenApiList); diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/util/AsmsPostUtil.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/util/AsmsPostUtil.java index 4ca7ab9e..146712a1 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/util/AsmsPostUtil.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/util/AsmsPostUtil.java @@ -116,6 +116,9 @@ public class AsmsPostUtil { if (CollectionUtils.isEmpty(mapList)) { mapList = new ArrayList<>(); Map result = (Map) responseEntity.getBody().getResult(); + if (result.containsKey("records")) { + return new ArrayList<>(); + } mapList.add(result); } log.info("返回{}条数据", mapList.size()); From a59cbaf01560e797f2eb53ab5f6f2426cdb2c9ca Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 18 Oct 2023 10:00:54 +0800 Subject: [PATCH 2/9] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B9=B4?= =?UTF-8?q?=E5=BA=A6=E5=88=B6=E4=BF=AE=E8=AE=A2=E4=B8=BB=E5=8A=A8=E4=B8=8A?= =?UTF-8?q?=E6=8A=A5=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ProcessEsAnnualReport.java | 289 ++++++++++++++++++ .../mapper/ProcessEsAnnualReportMapper.java | 18 ++ .../xml/ProcessEsAnnualReportMapper.xml | 70 +++++ .../service/ProcessEsAnnualReportService.java | 13 + .../ProcessEsAnnualReportServiceImpl.java | 25 ++ .../entity/ProcessEsInitChange.java | 3 +- 6 files changed, 416 insertions(+), 2 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java new file mode 100644 index 00000000..24333387 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java @@ -0,0 +1,289 @@ +package com.jero.modules.activiti.process.esAnnualInit.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 企标-年度制修订计划-各部门主动上报 + * @TableName process_es_annual_report + */ +@Data +@TableName(value ="process_es_annual_report") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="process_es_annual_report对象", description="企标-年度制修订计划-各部门主动上报") +public class ProcessEsAnnualReport implements Serializable { + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 企标计划Id + */ + private String espId; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 所属部门 + */ + private String orgCode; + + /** + * 0表示未删除,1表示删除 + */ + private Integer delFlag; + + /** + * 流程实例Id + */ + private String processInstanceId; + + /** + * 申请类别 + */ + private String applicationCategory; + + /** + * 项目类型 + */ + private String projectType; + + /** + * 原企标编号 + */ + private String originEnStandardNo; + + /** + * 新企标编号 + */ + private String newEnStandardNo; + + /** + * 原企标名称 + */ + private String originEnStandardName; + + /** + * 新企标名称 + */ + private String newEnStandardName; + + /** + * 企标英文名称 + */ + private String enStandardEnglishName; + + /** + * 企标体系 + */ + private String enStandardSystem; + + /** + * 企业标准代号 + */ + private String enStandardCode; + + /** + * 企业名称代号 + */ + private String enNameCode; + + /** + * 标准类别代号 + */ + private String standardCategoryCode; + + /** + * 年代号 + */ + private String decadeCode; + + /** + * 标准类型 + */ + private String standardType; + + /** + * 企标等级分类 + */ + private String enStandardClassification; + + /** + * 草稿计划完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date draftPlannedCompleteDate; + + /** + * 征求意见稿计划完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date solicitationDraftPlanCompleteDate; + + /** + * 计划报批日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date planApprovalDate; + + /** + * 项目状态 + */ + private String projectStatus; + + /** + * 编制说明 + */ + private String compilationDescription; + + /** + * 零部件名称 + */ + private String componentName; + + /** + * 主起草人 + */ + private String mainDraftingUser; + + /** + * 主起草人 + */ + @TableField(exist = false) + @JsonProperty("mainDraftingUser_dictText") + private String mainDraftingUserDictText; + + /** + * 主起草单位 + */ + private String mainDraftingUnit; + + /** + * 主起草单位 + */ + @TableField(exist = false) + @JsonProperty("mainDraftingUnit_dictText") + private String mainDraftingUnitDictText; + + /** + * 主起草单位责任人 + */ + private String mainDraftingUnitResponsiblePerson; + + /** + * 主起草单位责任人 + */ + @TableField(exist = false) + @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") + private String mainDraftingUnitResponsiblePersonDictText; + + /** + * 标准推进人 + */ + private String standardPromoter; + + /** + * 标准推进人 + */ + @TableField(exist = false) + @JsonProperty("standardPromoter_dictText") + private String standardPromoterDictText; + + /** + * 草稿完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date draftCompletionDate; + + /** + * 提交草稿日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date draftSubmissionDate; + + /** + * 是否征求意见 + */ + private String solicitationOpinionEnabled; + + /** + * 征求意见稿完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date solicitationDraftCompletionDate; + + /** + * 变更状态 + */ + private String changeStatus; + + /** + * 上传附件 + */ + private String uploadAttachment; + + /** + * 变更原因 + */ + private String changeReason; + + /** + * 授权部门 + */ + private String authDept; + + /** + * 配合单位 + */ + private String cooperationUnit; + + /** + * 隶属工作组 + */ + private String workGroup; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java new file mode 100644 index 00000000..0b6e4be6 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java @@ -0,0 +1,18 @@ +package com.jero.modules.activiti.process.esAnnualInit.mapper; + +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author ThinkBook +* @description 针对表【process_es_annual_report(企标-年度制修订计划-各部门主动上报)】的数据库操作Mapper +* @createDate 2023-10-18 09:52:41 +* @Entity com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport +*/ +public interface ProcessEsAnnualReportMapper extends BaseMapper { + +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml new file mode 100644 index 00000000..8f020b97 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id,esp_id,create_by, + create_time,update_by,update_time, + org_code,del_flag,process_instance_id, + application_category,project_type,origin_en_standard_no, + new_en_standard_no,origin_en_standard_name,new_en_standard_name, + en_standard_english_name,en_standard_system,en_standard_code, + en_name_code,standard_category_code,decade_code, + standard_type,en_standard_classification,draft_planned_complete_date, + solicitation_draft_plan_complete_date,plan_approval_date,project_status, + compilation_description,component_name,main_drafting_user, + main_drafting_unit,main_drafting_unit_responsible_person,standard_promoter, + draft_completion_date,draft_submission_date,solicitation_opinion_enabled, + solicitation_draft_completion_date,change_status,upload_attachment, + change_reason,auth_dept,cooperation_unit, + work_group + + diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java new file mode 100644 index 00000000..6001c894 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java @@ -0,0 +1,13 @@ +package com.jero.modules.activiti.process.esAnnualInit.service; + +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author ThinkBook +* @description 针对表【process_es_annual_report(企标-年度制修订计划-各部门主动上报)】的数据库操作Service +* @createDate 2023-10-18 09:52:41 +*/ +public interface ProcessEsAnnualReportService extends IService { + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java new file mode 100644 index 00000000..6f619f8c --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -0,0 +1,25 @@ +package com.jero.modules.activiti.process.esAnnualInit.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.exception.JeroBootException; +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport; +import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualReportService; +import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualReportMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** +* @author ThinkBook +* @description 针对表【process_es_annual_report(企标-年度制修订计划-各部门主动上报)】的数据库操作Service实现 +* @createDate 2023-10-18 09:52:41 +*/ +@Service +@Transactional(rollbackFor = JeroBootException.class) +public class ProcessEsAnnualReportServiceImpl extends ServiceImpl + implements ProcessEsAnnualReportService{ + +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java index 9a373aaf..bd747dbd 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java @@ -17,7 +17,7 @@ import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; /** - * 企标计划 + * 企标立项变更计划 * @TableName process_es_init_change */ @Data @@ -291,7 +291,6 @@ public class ProcessEsInitChange implements Serializable { @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") private String mainDraftingUnitResponsiblePersonDictText; - /** * 新主起草单位负责人 */ From 166d282778e421c3537eb1bdfd6cf32eb25751ab Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 18 Oct 2023 10:30:30 +0800 Subject: [PATCH 3/9] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B9=B4?= =?UTF-8?q?=E5=BA=A6=E5=88=B6=E4=BF=AE=E8=AE=A2=E6=A0=87=E5=87=86=E5=8C=96?= =?UTF-8?q?=E5=8F=91=E8=B5=B7=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ProcessEsAnnualInit.java | 280 ++++++++++++++++++ .../mapper/ProcessEsAnnualInitMapper.java | 18 ++ ...pper.xml => ProcessEsAnnualInitMapper.xml} | 18 +- .../service/ProcessEsAnnualInitService.java | 13 + .../impl/ProcessEsAnnualInitServiceImpl.java | 22 ++ .../entity/ProcessEsAnnualReport.java | 2 +- .../mapper/ProcessEsAnnualReportMapper.java | 4 +- .../service/ProcessEsAnnualReportService.java | 4 +- .../ProcessEsAnnualReportServiceImpl.java | 11 +- 9 files changed, 352 insertions(+), 20 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualInitMapper.java rename laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/{ProcessEsAnnualReportMapper.xml => ProcessEsAnnualInitMapper.xml} (86%) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java rename laws-modules/src/main/java/com/jero/modules/activiti/process/{esAnnualInit => esAnnualReport}/entity/ProcessEsAnnualReport.java (98%) rename laws-modules/src/main/java/com/jero/modules/activiti/process/{esAnnualInit => esAnnualReport}/mapper/ProcessEsAnnualReportMapper.java (74%) rename laws-modules/src/main/java/com/jero/modules/activiti/process/{esAnnualInit => esAnnualReport}/service/ProcessEsAnnualReportService.java (69%) rename laws-modules/src/main/java/com/jero/modules/activiti/process/{esAnnualInit => esAnnualReport}/service/impl/ProcessEsAnnualReportServiceImpl.java (62%) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java new file mode 100644 index 00000000..2d23876b --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java @@ -0,0 +1,280 @@ +package com.jero.modules.activiti.process.esAnnualInit.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 企标-年度制修订计划-标准化发起 + * @TableName process_es_annual_init + */ +@TableName(value ="process_es_annual_init") +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="process_es_annual_init", description="企标-年度制修订计划-标准化发起") +public class ProcessEsAnnualInit implements Serializable { + + /** + * 主键ID + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键ID") + private String id; + + /** + * 企标计划Id + */ + private String espId; + + /** + * 创建人 + */ + private String createBy; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新人 + */ + private String updateBy; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 所属部门 + */ + private String orgCode; + + /** + * 0表示未删除,1表示删除 + */ + private Integer delFlag; + + /** + * 流程实例Id + */ + private String processInstanceId; + + /** + * 申请类别 + */ + private String applicationCategory; + + /** + * 项目类型 + */ + private String projectType; + + /** + * 原企标编号 + */ + private String originEnStandardNo; + + /** + * 新企标编号 + */ + private String newEnStandardNo; + + /** + * 原企标名称 + */ + private String originEnStandardName; + + /** + * 新企标名称 + */ + private String newEnStandardName; + + /** + * 企标英文名称 + */ + private String enStandardEnglishName; + + /** + * 企标体系 + */ + private String enStandardSystem; + + /** + * 企业标准代号 + */ + private String enStandardCode; + + /** + * 企业名称代号 + */ + private String enNameCode; + + /** + * 标准类别代号 + */ + private String standardCategoryCode; + + /** + * 年代号 + */ + private String decadeCode; + + /** + * 标准类型 + */ + private String standardType; + + /** + * 企标等级分类 + */ + private String enStandardClassification; + + /** + * 草稿计划完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date draftPlannedCompleteDate; + + /** + * 征求意见稿计划完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date solicitationDraftPlanCompleteDate; + + /** + * 计划报批日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date planApprovalDate; + + /** + * 项目状态 + */ + private String projectStatus; + + /** + * 编制说明 + */ + private String compilationDescription; + + /** + * 零部件名称 + */ + private String componentName; + + /** + * 主起草人 + */ + private String mainDraftingUser; + + /** + * 主起草人 + */ + @TableField(exist = false) + @JsonProperty("mainDraftingUser_dictText") + private String mainDraftingUserDictText; + + /** + * 主起草单位 + */ + private String mainDraftingUnit; + + /** + * 主起草单位 + */ + @TableField(exist = false) + @JsonProperty("mainDraftingUnit_dictText") + private String mainDraftingUnitDictText; + + /** + * 主起草单位责任人 + */ + private String mainDraftingUnitResponsiblePerson; + + /** + * 主起草单位责任人 + */ + @TableField(exist = false) + @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") + private String mainDraftingUnitResponsiblePersonDictText; + + /** + * 标准推进人 + */ + private String standardPromoter; + + /** + * 标准推进人 + */ + @TableField(exist = false) + @JsonProperty("standardPromoter_dictText") + private String standardPromoterDictText; + + /** + * 征求意见稿完成日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + private Date solicitationDraftCompletionDate; + + /** + * 变更状态 + */ + private String changeStatus; + + /** + * 备注 + */ + private String remarks; + + /** + * 上传附件 + */ + private String uploadAttachment; + + /** + * 变更原因 + */ + private String changeReason; + + /** + * 授权部门 + */ + private String authDept; + + /** + * 配合单位 + */ + private String cooperationUnit; + + /** + * 联络人 + */ + private String contactUser; + + /** + * 审批人 + */ + private String approvalUser; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualInitMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualInitMapper.java new file mode 100644 index 00000000..0a6895b9 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualInitMapper.java @@ -0,0 +1,18 @@ +package com.jero.modules.activiti.process.esAnnualInit.mapper; + +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author ThinkBook +* @description 针对表【process_es_annual_init(企标立项变更流程)】的数据库操作Mapper +* @createDate 2023-10-18 10:01:44 +* @Entity com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit +*/ +public interface ProcessEsAnnualInitMapper extends BaseMapper { + +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualInitMapper.xml similarity index 86% rename from laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml rename to laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualInitMapper.xml index 8f020b97..6face39e 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualReportMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/xml/ProcessEsAnnualInitMapper.xml @@ -2,9 +2,9 @@ - + - + @@ -38,16 +38,15 @@ - - - + - + + @@ -62,9 +61,8 @@ solicitation_draft_plan_complete_date,plan_approval_date,project_status, compilation_description,component_name,main_drafting_user, main_drafting_unit,main_drafting_unit_responsible_person,standard_promoter, - draft_completion_date,draft_submission_date,solicitation_opinion_enabled, - solicitation_draft_completion_date,change_status,upload_attachment, - change_reason,auth_dept,cooperation_unit, - work_group + solicitation_draft_completion_date,change_status,remarks, + upload_attachment,change_reason,auth_dept, + cooperation_unit,contact_user,approval_user diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java new file mode 100644 index 00000000..5af982f8 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java @@ -0,0 +1,13 @@ +package com.jero.modules.activiti.process.esAnnualInit.service; + +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author ThinkBook +* @description 针对表【process_es_annual_init(企标立项变更流程)】的数据库操作Service +* @createDate 2023-10-18 10:01:44 +*/ +public interface ProcessEsAnnualInitService extends IService { + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java new file mode 100644 index 00000000..2dbecc8c --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -0,0 +1,22 @@ +package com.jero.modules.activiti.process.esAnnualInit.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; +import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService; +import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper; +import org.springframework.stereotype.Service; + +/** +* @author ThinkBook +* @description 针对表【process_es_annual_init(企标立项变更流程)】的数据库操作Service实现 +* @createDate 2023-10-18 10:01:44 +*/ +@Service +public class ProcessEsAnnualInitServiceImpl extends ServiceImpl + implements ProcessEsAnnualInitService{ + +} + + + + diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java similarity index 98% rename from laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java rename to laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java index 24333387..625072ad 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualReport.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java @@ -1,4 +1,4 @@ -package com.jero.modules.activiti.process.esAnnualInit.entity; +package com.jero.modules.activiti.process.esAnnualReport.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/mapper/ProcessEsAnnualReportMapper.java similarity index 74% rename from laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java rename to laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/mapper/ProcessEsAnnualReportMapper.java index 0b6e4be6..ae94bff8 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/mapper/ProcessEsAnnualReportMapper.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/mapper/ProcessEsAnnualReportMapper.java @@ -1,7 +1,7 @@ -package com.jero.modules.activiti.process.esAnnualInit.mapper; +package com.jero.modules.activiti.process.esAnnualReport.mapper; -import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport; /** * @author ThinkBook diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/ProcessEsAnnualReportService.java similarity index 69% rename from laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java rename to laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/ProcessEsAnnualReportService.java index 6001c894..785a98ed 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualReportService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/ProcessEsAnnualReportService.java @@ -1,7 +1,7 @@ -package com.jero.modules.activiti.process.esAnnualInit.service; +package com.jero.modules.activiti.process.esAnnualReport.service; -import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport; /** * @author ThinkBook diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java similarity index 62% rename from laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java rename to laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java index 6f619f8c..8f38b598 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualReportServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/service/impl/ProcessEsAnnualReportServiceImpl.java @@ -1,10 +1,11 @@ -package com.jero.modules.activiti.process.esAnnualInit.service.impl; +package com.jero.modules.activiti.process.esAnnualReport.service.impl; + +import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.exception.JeroBootException; -import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualReport; -import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualReportService; -import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualReportMapper; +import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport; +import com.jero.modules.activiti.process.esAnnualReport.mapper.ProcessEsAnnualReportMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,7 +17,7 @@ import org.springframework.transaction.annotation.Transactional; @Service @Transactional(rollbackFor = JeroBootException.class) public class ProcessEsAnnualReportServiceImpl extends ServiceImpl - implements ProcessEsAnnualReportService{ + implements IService { } From 57fefe07f30a37d383dbbf05f6fdc455c9638d40 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 18 Oct 2023 12:05:00 +0800 Subject: [PATCH 4/9] =?UTF-8?q?feat:=20=E5=B9=B4=E5=BA=A6=E5=88=B6?= =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E8=AE=A1=E5=88=92=E6=A8=A1=E6=9D=BF=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ESAnnualInitController.java | 55 +++++++++++++++++++ .../entity/ProcessEsAnnualInit.java | 26 +++++++-- .../controller/ESAnnualReportController.java | 52 ++++++++++++++++++ .../entity/ProcessEsAnnualReport.java | 20 +++++++ 4 files changed, 148 insertions(+), 5 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java new file mode 100644 index 00000000..08421234 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java @@ -0,0 +1,55 @@ +package com.jero.modules.activiti.process.esAnnualInit.controller; + +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +import java.util.ArrayList; + +import static com.jero.common.system.base.controller.JeroController.*; + +/** + * @author: Mzaxd + * @Date: 2023/10/18 10:44 + */ +@Slf4j +@RestController +@Api(tags = "企标年度制修订标准化发起流程") +@RequestMapping("/process/es/annualInit") +public class ESAnnualInitController { + + /** + * 导入模板下载 + */ + @GetMapping("/templateDownload") + @ApiOperation(value = "企标年度制修订标准化发起流程-导入模板下载", notes = "企标年度制修订标准化发起流程-导入模板下载", + produces = "application/octet-stream") + @AutoLog(value = "企标年度制修订标准化发起流程-导入模板下载") + public ModelAndView templateDownload() { + // AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + String title = "标准化发起导入模板"; + mv.addObject(FILE_NAME, title); + mv.addObject(CLASS, ProcessEsAnnualInit.class); + ExportParams exportParams=new ExportParams(title, title); + // 导出xlsx + exportParams.setType(ExcelType.XSSF); + mv.addObject(PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, new ArrayList()); + return mv; + } + + + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java index 2d23876b..e8f81585 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java @@ -9,11 +9,13 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; /** @@ -82,26 +84,32 @@ public class ProcessEsAnnualInit implements Serializable { /** * 项目类型 */ + @Excel(name = "制修订类型", width = 15, orderNum = "1") + @Dict(dicCode = "esp_revision_type") private String projectType; /** * 原企标编号 */ + @Excel(name = "原企标编号", width = 15, orderNum = "2") private String originEnStandardNo; /** * 新企标编号 */ + @Excel(name = "新企标编号", width = 15, orderNum = "3") private String newEnStandardNo; /** * 原企标名称 */ + @Excel(name = "原企标名称", width = 15, orderNum = "4") private String originEnStandardName; /** * 新企标名称 */ + @Excel(name = "新企标名称", width = 15, orderNum = "5") private String newEnStandardName; /** @@ -117,6 +125,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 企业标准代号 */ + @Excel(name = "企业标准代号", width = 15, orderNum = "7") private String enStandardCode; /** @@ -147,6 +156,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 草稿计划完成日期 */ + @Excel(name = "新企标名称", width = 15, orderNum = "13") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date draftPlannedCompleteDate; @@ -154,6 +164,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 征求意见稿计划完成日期 */ + @Excel(name = "新企标名称", width = 15, orderNum = "14") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date solicitationDraftPlanCompleteDate; @@ -161,6 +172,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 计划报批日期 */ + @Excel(name = "新企标名称", width = 15, orderNum = "15") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date planApprovalDate; @@ -188,6 +200,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 主起草人 */ + @Excel(name = "主起草人", width = 15, orderNum = "9") @TableField(exist = false) @JsonProperty("mainDraftingUser_dictText") private String mainDraftingUserDictText; @@ -200,6 +213,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 主起草单位 */ + @Excel(name = "主起草单位", width = 15, orderNum = "10") @TableField(exist = false) @JsonProperty("mainDraftingUnit_dictText") private String mainDraftingUnitDictText; @@ -212,6 +226,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 主起草单位责任人 */ + @Excel(name = "主起草单位责任人", width = 20, orderNum = "11") @TableField(exist = false) @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") private String mainDraftingUnitResponsiblePersonDictText; @@ -224,6 +239,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 标准推进人 */ + @Excel(name = "标准推进人", width = 15, orderNum = "12") @TableField(exist = false) @JsonProperty("standardPromoter_dictText") private String standardPromoterDictText; @@ -238,13 +254,10 @@ public class ProcessEsAnnualInit implements Serializable { /** * 变更状态 */ + @Excel(name = "变更状态", width = 15, orderNum = "16") + @Dict(dicCode = "esp_change_status") private String changeStatus; - /** - * 备注 - */ - private String remarks; - /** * 上传附件 */ @@ -258,16 +271,19 @@ public class ProcessEsAnnualInit implements Serializable { /** * 授权部门 */ + @Excel(name = "授权部门", width = 15, orderNum = "6") private String authDept; /** * 配合单位 */ + @Excel(name = "配合单位", width = 15, orderNum = "8") private String cooperationUnit; /** * 联络人 */ + @Excel(name = "联络人", width = 15, orderNum = "17") private String contactUser; /** diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java new file mode 100644 index 00000000..4bd669f2 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java @@ -0,0 +1,52 @@ +package com.jero.modules.activiti.process.esAnnualReport.controller; + +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.modules.activiti.process.esAnnualReport.entity.ProcessEsAnnualReport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.enmus.ExcelType; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +import java.util.ArrayList; + +import static com.jero.common.system.base.controller.JeroController.*; + +/** + * @author: Mzaxd + * @Date: 2023/10/18 10:44 + */ +@Slf4j +@RestController +@Api(tags = "企标年度制修订主动上报流程") +@RequestMapping("/process/es/annualReport") +public class ESAnnualReportController { + + /** + * 导入模板下载 + */ + @GetMapping("/templateDownload") + @ApiOperation(value = "企标年度制修订主动上报流程-导入模板下载", notes = "企标年度制修订主动上报流程-导入模板下载") + @AutoLog(value = "企标年度制修订主动上报流程-导入模板下载") + public ModelAndView templateDownload() { + // AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + String title = "各部门主动上报导入模板"; + mv.addObject(FILE_NAME, title); + mv.addObject(CLASS, ProcessEsAnnualReport.class); + ExportParams exportParams=new ExportParams(title, title); + // 导出xlsx + exportParams.setType(ExcelType.XSSF); + mv.addObject(PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, new ArrayList()); + return mv; + } + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java index 625072ad..46944522 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java @@ -9,11 +9,13 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; /** @@ -82,26 +84,32 @@ public class ProcessEsAnnualReport implements Serializable { /** * 项目类型 */ + @Excel(name = "制修订类型", width = 15, orderNum = "1") + @Dict(dicCode = "esp_revision_type") private String projectType; /** * 原企标编号 */ + @Excel(name = "原企标编号", width = 15, orderNum = "2") private String originEnStandardNo; /** * 新企标编号 */ + @Excel(name = "新企标编号", width = 15, orderNum = "3") private String newEnStandardNo; /** * 原企标名称 */ + @Excel(name = "原企标名称", width = 15, orderNum = "4") private String originEnStandardName; /** * 新企标名称 */ + @Excel(name = "新企标名称", width = 15, orderNum = "5") private String newEnStandardName; /** @@ -117,6 +125,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 企业标准代号 */ + @Excel(name = "企业标准代号", width = 15, orderNum = "7") private String enStandardCode; /** @@ -147,6 +156,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 草稿计划完成日期 */ + @Excel(name = "新企标名称", width = 15, orderNum = "13") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date draftPlannedCompleteDate; @@ -154,6 +164,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 征求意见稿计划完成日期 */ + @Excel(name = "新企标名称", width = 15, orderNum = "14") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date solicitationDraftPlanCompleteDate; @@ -161,6 +172,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 计划报批日期 */ + @Excel(name = "新企标名称", width = 15, orderNum = "15") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date planApprovalDate; @@ -200,6 +212,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 主起草单位 */ + @Excel(name = "主起草单位", width = 15, orderNum = "9") @TableField(exist = false) @JsonProperty("mainDraftingUnit_dictText") private String mainDraftingUnitDictText; @@ -212,6 +225,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 主起草单位责任人 */ + @Excel(name = "主起草单位责任人", width = 20, orderNum = "10") @TableField(exist = false) @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") private String mainDraftingUnitResponsiblePersonDictText; @@ -224,6 +238,7 @@ public class ProcessEsAnnualReport implements Serializable { /** * 标准推进人 */ + @Excel(name = "标准推进人", width = 15, orderNum = "12") @TableField(exist = false) @JsonProperty("standardPromoter_dictText") private String standardPromoterDictText; @@ -257,6 +272,8 @@ public class ProcessEsAnnualReport implements Serializable { /** * 变更状态 */ + @Excel(name = "变更状态", width = 15, orderNum = "16") + @Dict(dicCode = "esp_change_status") private String changeStatus; /** @@ -272,16 +289,19 @@ public class ProcessEsAnnualReport implements Serializable { /** * 授权部门 */ + @Excel(name = "授权部门", width = 15, orderNum = "6") private String authDept; /** * 配合单位 */ + @Excel(name = "配合单位", width = 15, orderNum = "8") private String cooperationUnit; /** * 隶属工作组 */ + @Excel(name = "隶属工作组", width = 15, orderNum = "11") private String workGroup; @TableField(exist = false) From 1c133d085d13dd728746fb621f2176e87476a80b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 18 Oct 2023 16:58:01 +0800 Subject: [PATCH 5/9] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E5=AD=97=E6=AE=B5=E7=BF=BB=E8=AF=91=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/EnterpriseStandardPlan.java | 39 +++------ .../entity/vo/EnterpriseStandardPlanVo.java | 84 ++++++++----------- .../xml/EnterpriseStandardPlanMapper.xml | 64 +++----------- 3 files changed, 57 insertions(+), 130 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java index 476b206e..a416c0c8 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java @@ -1,12 +1,9 @@ package com.jero.modules.laws.enterprise.entity; -import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonProperty; import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -134,46 +131,32 @@ public class EnterpriseStandardPlan implements Serializable { @ApiModelProperty(value = "项目状态") private String projectStatus; + @Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name") @ApiModelProperty(value = "编制说明") private String compilationDescription; - @TableField(exist = false) - @ApiModelProperty(value = "附件文件名") - private String compilationFileName; - @ApiModelProperty(value = "零部件名称") private String componentName; @ApiModelProperty(value = "授权部门") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") private String authDept; + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") @ApiModelProperty(value = "主起草人") private String mainDraftingUser; - @TableField(exist = false) - @ApiModelProperty(value = "主起草人用户名") - @JsonProperty("mainDraftingUser_dictText") - private String mainDraftingUserDictText; - @ApiModelProperty(value = "主起草单位Id") - private String mainDraftingUnit; + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "主起草单位") - @TableField(exist = false) - @JsonProperty("mainDraftingUnit_dictText") - private String mainDraftingUnitDictText; + private String mainDraftingUnit; - @ApiModelProperty(value = "主起草单位责任人Id") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草单位责任人") private String mainDraftingUnitResponsiblePerson; - @TableField(exist = false) - @ApiModelProperty(value = "主起草单位责任人用户名") - @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") - private String mainDraftingUnitResponsiblePersonDictText; + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") @ApiModelProperty(value = "标准推进人") private String standardPromoter; - @TableField(exist = false) - @ApiModelProperty(value = "标准推进人") - @JsonProperty("standardPromoter_dictText") - private String standardPromoterDictText; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @@ -231,17 +214,15 @@ public class EnterpriseStandardPlan implements Serializable { @ApiModelProperty(value = "备注") private String remarks; + @Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name") @ApiModelProperty(value = "上传附件") private String uploadAttachment; - @TableField(exist = false) - @ApiModelProperty(value = "附件文件名") - private String attachmentFileName; - @Dict(dicCode = "yn") @ApiModelProperty(value = "是否为优质标准") private String qualityFlag; + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "配合单位") private String cooperationUnit; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java index e13e95bb..6037f5e9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/vo/EnterpriseStandardPlanVo.java @@ -46,77 +46,67 @@ public class EnterpriseStandardPlanVo { @ApiModelProperty(value = "新企标名称") private String newEnStandardName; - @Excel(name = "授权部门", width = 15, orderNum = "1") + @Excel(name = "授权部门", width = 15, orderNum = "1", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "授权部门") - private String authDeparts; + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + private String authDept; + + @Excel(name = "配合单位", width = 15, orderNum = "1", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "配合单位") + private String cooperationUnit; @Excel(name = "企业标准代号", width = 15, orderNum = "1") @ApiModelProperty(value = "企业标准代号") private String enStandardCode; - @Excel(name = "配合单位", width = 15, orderNum = "1") - @ApiModelProperty(value = "配合单位") - private String cooperateDeparts; - - @ApiModelProperty(value = "主起草人Id") + @Excel(name = "主起草人", width = 15, orderNum = "1", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草人") private String mainDraftingUser; - @Excel(name = "主起草人", width = 15, orderNum = "1") - @ApiModelProperty(value = "主起草人用户名") - @JsonProperty("mainDraftingUser_dictText") - private String mainDraftingUserDictText; - - @ApiModelProperty(value = "主起草单位Id") + @Excel(name = "主起草单位", width = 15, orderNum = "1") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "主起草单位") private String mainDraftingUnit; - @Excel(name = "主起草单位", width = 15, orderNum = "1") - @ApiModelProperty(value = "主起草单位名") - @JsonProperty("mainDraftingUnit_dictText") - private String mainDraftingUnitDictText; - + @Excel(name = "主起草单位责任人", width = 15, orderNum = "1", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") @ApiModelProperty(value = "主起草单位责任人") private String mainDraftingUnitResponsiblePerson; - @Excel(name = "主起草单位责任人", width = 15, orderNum = "1") - @ApiModelProperty(value = "主起草单位责任人用户名") - @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") - private String mainDraftingUnitResponsiblePersonDictText; - - @ApiModelProperty(value = "标准推进人Id") + @Excel(name = "标准推进人", width = 15, orderNum = "1", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "标准推进人") private String standardPromoter; - @Excel(name = "标准推进人", width = 15, orderNum = "1") - @ApiModelProperty(value = "标准推进人用户名") - @JsonProperty("standardPromoter_dictText") - private String standardPromoterDictText; - @Excel(name = "草稿计划完成日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "草稿计划完成日期") private Date draftPlannedCompleteDate; @Excel(name = "征求意见稿计划完成日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "征求意见稿计划完成日期") private Date solicitationDraftPlanCompleteDate; @Excel(name = "计划报批日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "计划报批日期") private Date planApprovalDate; @Excel(name = "草稿完成日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "草稿完成日期") private Date draftCompletionDate; @Excel(name = "提交草稿日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "提交草稿日期") private Date draftSubmissionDate; @@ -126,26 +116,26 @@ public class EnterpriseStandardPlanVo { private String solicitationOpinionEnabled; @Excel(name = "征求意见稿完成日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "征求意见稿完成日期") private Date solicitationDraftCompletionDate; @Excel(name = "评审日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "评审日期") private Date reviewDate; @Excel(name = "报批日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "报批日期") private Date approvalDate; @Excel(name = "发布日期", width = 15, orderNum = "1", format = "yyyy-MM-dd") - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "发布日期") private Date releaseDate; diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml index dc31f4b3..ac65f1c3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/mapper/xml/EnterpriseStandardPlanMapper.xml @@ -87,17 +87,13 @@ p.origin_en_standard_name, p.new_en_standard_no, p.new_en_standard_name, - ad.authDeparts, + p.auth_dept, p.en_standard_code, - cu.cooperateDeparts, - u1.id AS mainDraftingUser, - u1.username AS mainDraftingUserDictText, - d.id AS mainDraftingUnit, - d.depart_name AS mainDraftingUnitDictText, - u2.id AS mainDraftingUnitResponsiblePerson, - u2.username AS mainDraftingUnitResponsiblePersonDictText, - u3.id AS standardPromoter, - u3.username AS standardPromoterDictText, + p.cooperation_unit, + p.main_drafting_user, + p.main_drafting_unit, + p.main_drafting_unit_responsible_person, + p.standard_promoter, p.draft_planned_complete_date, p.solicitation_draft_plan_complete_date, p.plan_approval_date, @@ -116,20 +112,6 @@ LEFT JOIN sys_user AS u2 ON u2.id = p.main_drafting_unit_responsible_person LEFT JOIN sys_user AS u3 ON u3.id = p.standard_promoter LEFT JOIN sys_depart AS d ON d.id = p.main_drafting_unit - LEFT JOIN - (SELECT - ad.plan_id as id, - GROUP_CONCAT((d.depart_name) SEPARATOR ',') AS authDeparts - FROM - laws_enterprise_standard_plan_auth_dept AS ad - LEFT JOIN sys_depart AS d ON d.id = ad.dept_id) AS ad ON ad.id = p.id - LEFT JOIN - (SELECT - cu.plan_id as id, - GROUP_CONCAT((d.depart_name) SEPARATOR ',') AS cooperateDeparts - FROM - laws_enterprise_standard_plan_cooperate_unit AS cu - LEFT JOIN sys_depart AS d ON d.id = cu.dept_id) AS cu ON cu.id = p.id WHERE p.del_flag = 0 @@ -230,16 +212,11 @@ p.plan_approval_date, p.project_status, p.compilation_description, - o1.file_name AS compilationFileName, p.component_name, - u1.id as mainDraftingUser, - u1.username as mainDraftingUserDictText, - d.id as mainDraftingUnit, - d.depart_name as mainDraftingUnitDictText, - u2.id as mainDraftingUnitResponsiblePerson, - u2.username as mainDraftingUnitResponsiblePersonDictText, - u3.id as promoter, - u3.username as standardPromoterDictText, + p.main_drafting_user, + p.main_drafting_unit, + p.main_drafting_unit_responsible_person, + p.standard_promoter, p.draft_completion_date, p.draft_submission_date, p.solicitation_opinion_enabled, @@ -255,30 +232,9 @@ p.project_expected_effects, p.remarks, p.upload_attachment, - o2.file_name AS attachmentFileName, p.quality_flag FROM `laws_enterprise_standard_plan` AS p - LEFT JOIN sys_user AS u1 ON u1.id = p.main_drafting_user - LEFT JOIN sys_user AS u2 ON u2.id = p.main_drafting_unit_responsible_person - LEFT JOIN sys_user AS u3 ON u3.id = p.standard_promoter - LEFT JOIN sys_depart AS d ON d.id = p.main_drafting_unit - LEFt JOIN oss_file AS o1 ON o1.id = p.compilation_description - LEFt JOIN oss_file AS o2 ON o2.id = p.upload_attachment - LEFT JOIN - (SELECT - ad.plan_id as id, - GROUP_CONCAT((d.depart_name) SEPARATOR ',') AS authDeparts - FROM - laws_enterprise_standard_plan_auth_dept AS ad - LEFT JOIN sys_depart AS d ON d.id = ad.dept_id) AS ad ON ad.id = p.id - LEFT JOIN - (SELECT - cu.plan_id as id, - GROUP_CONCAT((d.depart_name) SEPARATOR ',') AS cooperateDeparts - FROM - laws_enterprise_standard_plan_cooperate_unit AS cu - LEFT JOIN sys_depart AS d ON d.id = cu.dept_id) AS cu ON cu.id = p.id WHERE p.id = #{id} From 6e107fb7492f60febec312f87e9b0c52bba276d2 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 18 Oct 2023 17:55:14 +0800 Subject: [PATCH 6/9] =?UTF-8?q?feat:=20=E4=BC=81=E6=A0=87=E7=AB=8B?= =?UTF-8?q?=E9=A1=B9=E5=8F=98=E6=9B=B4=E5=AD=97=E6=AE=B5=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ESAnnualInitController.java | 37 +++- .../entity/ProcessEsInitChange.java | 158 +++++++++++------- .../impl/ProcessEsInitChangeServiceImpl.java | 62 +------ 3 files changed, 129 insertions(+), 128 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java index 08421234..98e96d23 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java @@ -1,21 +1,27 @@ package com.jero.modules.activiti.process.esAnnualInit.controller; +import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService; +import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.enmus.ExcelType; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; +import java.util.List; +import java.util.Map; import static com.jero.common.system.base.controller.JeroController.*; @@ -29,6 +35,9 @@ import static com.jero.common.system.base.controller.JeroController.*; @RequestMapping("/process/es/annualInit") public class ESAnnualInitController { + @Resource + private ProcessEsAnnualInitService annualInitService; + /** * 导入模板下载 */ @@ -50,6 +59,22 @@ public class ESAnnualInitController { return mv; } - + /** + * 通过excel导入数据 + * + * @return + */ + @PostMapping("/importExcel") + @ApiOperation(value = "企标年度制修订标准化发起流程-导入", notes = "企标年度制修订标准化发起流程-导入") + @AutoLog(value = "企标年度制修订标准化发起流程-导入") + public Result importExcel(@ApiParam(value = "要上传的文件", required = true) @RequestParam("file") MultipartFile file) { + Map resultMap = annualInitService.importData(file); + Object flag = resultMap.get("flag"); + if (flag == YesOrNoEnum.YES.getValue()) { + return Result.OK(resultMap.get("dataList")); + } else { + return Result.error("导入失败", resultMap.get("msgList")); + } + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java index bd747dbd..0b620886 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java @@ -8,7 +8,7 @@ import java.io.Serializable; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonProperty; +import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -33,86 +33,103 @@ public class ProcessEsInitChange implements Serializable { private String id; /** 企标计划ID */ + @ApiModelProperty(value = "企标计划ID") private String espId; /** * 标准计划Id1(合并流程字段) */ + @ApiModelProperty(value = "标准计划Id1(合并流程字段)") private String standardIdOne; /** * 标准编号1(合并流程字段) */ + @ApiModelProperty(value = "标准编号1(合并流程字段)") private String standardNoOne; /** * 标准名称1(合并流程字段) */ + @ApiModelProperty(value = "标准名称1(合并流程字段)") private String standardNameOne; /** * 制修订类型1(合并流程字段) */ + @ApiModelProperty(value = "制修订类型1(合并流程字段)") private String projectTypeOne; /** * 标准计划Id2(合并流程字段) */ + @ApiModelProperty(value = "标准计划Id2(合并流程字段)") private String standardIdTwo; /** * 标准编号2(合并流程字段) */ + @ApiModelProperty(value = "标准编号2(合并流程字段)") private String standardNoTwo; /** * 标准名称2(合并流程字段) */ + @ApiModelProperty(value = "标准名称2(合并流程字段)") private String standardNameTwo; /** * 制修订类型2(合并流程字段) */ + @ApiModelProperty(value = "制修订类型2(合并流程字段)") private String projectTypeTwo; /** * 创建人 */ + @ApiModelProperty(value = "创建人") private String createBy; /** * 创建时间 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新人 */ + @ApiModelProperty(value = "更新人") private String updateBy; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 所属部门 */ + @ApiModelProperty(value = "所属部门") private String orgCode; /** * 0表示未删除,1表示删除 */ + @ApiModelProperty(value = "0表示未删除,1表示删除") private Integer delFlag; /** * 流程名称 */ + @ApiModelProperty(value = "流程名称") private String processName; /** * 流程实例Id */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** @@ -120,81 +137,97 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "截止日期") private Date deadlineDate; /** * 流程说明 */ + @ApiModelProperty(value = "流程说明") private String processDescription; /** * 申请类别 */ + @ApiModelProperty(value = "申请类别") private String applicationCategory; /** * 项目类型 */ + @ApiModelProperty(value = "项目类型") private String projectType; /** * 原企标编号 */ + @ApiModelProperty(value = "原企标编号") private String originEnStandardNo; /** * 新企标编号 */ + @ApiModelProperty(value = "新企标编号") private String newEnStandardNo; /** * 原企标名称 */ + @ApiModelProperty(value = "原企标名称") private String originEnStandardName; /** * 新企标名称 */ + @ApiModelProperty(value = "新企标名称") private String newEnStandardName; /** * 企标英文名称 */ + @ApiModelProperty(value = "企标英文名称") private String enStandardEnglishName; /** * 企标体系 */ + @ApiModelProperty(value = "企标体系") private String enStandardSystem; /** * 企业标准代号 */ + @ApiModelProperty(value = "企业标准代号") private String enStandardCode; /** * 企业名称代号 */ + @ApiModelProperty(value = "企业名称代号") private String enNameCode; /** * 标准类别代号 */ + @ApiModelProperty(value = "标准类别代号") private String standardCategoryCode; /** * 年代号 */ + @ApiModelProperty(value = "年代号") private String decadeCode; /** * 标准类型 */ + @ApiModelProperty(value = "标准类型") private String standardType; /** * 企标等级分类 */ + @ApiModelProperty(value = "企标等级分类") private String enStandardClassification; /** @@ -202,6 +235,7 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "原草稿计划完成日期") private Date originDraftPlannedCompleteDate; /** @@ -209,6 +243,7 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "原征求意见稿计划完成日期") private Date originSolicitationDraftPlanCompleteDate; /** @@ -216,14 +251,15 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "原计划报批日期") private Date originPlanApprovalDate; - /** * 草稿计划完成日期 */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿计划完成日期") private Date draftPlannedCompleteDate; /** @@ -231,6 +267,7 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿计划完成日期") private Date solicitationDraftPlanCompleteDate; /** @@ -238,81 +275,56 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "计划报批日期") private Date planApprovalDate; /** * 项目状态 */ + @ApiModelProperty(value = "项目状态") private String projectStatus; /** * 编制说明 */ + @ApiModelProperty(value = "编制说明") private String compilationDescription; /** * 零部件名称 */ + @ApiModelProperty(value = "零部件名称") private String componentName; - /** - * 主起草人 - */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草人") private String mainDraftingUser; - /** - * 主起草人 - */ - @TableField(exist = false) - @JsonProperty("mainDraftingUser_dictText") - private String mainDraftingUserDictText; - - /** - * 主起草单位 - */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "主起草单位") private String mainDraftingUnit; - /** - * 主起草单位 - */ - @TableField(exist = false) - @JsonProperty("mainDraftingUnit_dictText") - private String mainDraftingUnitDictText; - - /** - * 主起草单位责任人 - */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草单位责任人") private String mainDraftingUnitResponsiblePerson; - /** - * 主起草单位责任人 - */ - @TableField(exist = false) - @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") - private String mainDraftingUnitResponsiblePersonDictText; - /** * 新主起草单位负责人 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "新主起草单位负责人") private String newMainDraftingUnitResponsiblePerson; - /** - * 标准推进人 - */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "标准推进人") private String standardPromoter; - /** - * 标准推进人 - */ - @TableField(exist = false) - @JsonProperty("standardPromoter_dictText") - private String standardPromoterDictText; - /** * 草稿完成日期 */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿完成日期") private Date draftCompletionDate; /** @@ -320,11 +332,13 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "提交草稿日期") private Date draftSubmissionDate; /** * 是否征求意见 */ + @ApiModelProperty(value = "是否征求意见") private String solicitationOpinionEnabled; /** @@ -332,6 +346,7 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿完成日期") private Date solicitationDraftCompletionDate; /** @@ -339,6 +354,7 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "评审日期") private Date reviewDate; /** @@ -346,6 +362,7 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "报批日期") private Date approvalDate; /** @@ -353,140 +370,159 @@ public class ProcessEsInitChange implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布日期") private Date releaseDate; /** * 变更状态 */ + @ApiModelProperty(value = "变更状态") private String changeStatus; /** * 立项背景、立项依据 */ + @ApiModelProperty(value = "立项背景、立项依据") private String projectBackground; /** * 国际、国家及行业同类标准分析 */ + @ApiModelProperty(value = "国家及行业同类标准分析") private String similarNaStandardsAnalysis; /** * 企业同类标准对比分析 */ + @ApiModelProperty(value = "企业同类标准对比分析") private String similarEnStandardsAnalysis; /** * 立项标准的领先性与必要性 */ + @ApiModelProperty(value = "立项标准的领先性与必要性") private String standardLeadingNecessity; /** * 立项目的及预期效果等 */ + @ApiModelProperty(value = "立项目的及预期效果等") private String projectExpectedEffects; /** * 备注 */ + @ApiModelProperty(value = "备注") private String remarks; /** * 上传附件 */ + @Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name") + @ApiModelProperty(value = "上传附件") private String uploadAttachment; /** * 附件 */ + @Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name") + @ApiModelProperty(value = "附件") private String attachment; - /** - * 是否为优质标准 - */ - private String qualityFlag; - /** * 变更原因 */ + @ApiModelProperty(value = "变更原因") private String changeReason; /** * 新主起草人 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "新主起草人") private String newMainDraftingUser; /** * 新主起草单位 */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "新主起草单位") private String newMainDraftingUnit; /** * 部所联络人 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "部所联络人") private String contactUser; /** * 标准专家 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "标准专家") private String standardExpert; /** * 主起草人主管级领导 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草人主管级领导") private String mainDraftUserLeader; - /** - * 主起草人主管级领导 - */ - @TableField(exist = false) - @JsonProperty("mainDraftingUserLeader_dictText") - private String mainDraftUserLeaderDictText; - /** * 主起草人主管级领导上级领导 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草人主管级领导上级领导") private String mainDraftUserLeaderLeader; - /** - * 主起草人主管级领导上级领导 - */ - @TableField(exist = false) - @JsonProperty("mainDraftingUserLeaderLeader_dictText") - private String mainDraftUserLeaderLeaderDictText; - /** * 标准化审批人 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "标准化审批人") private String standardizationApprovalUser; /** * 新主起草部门领导的领导 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "新主起草部门领导的领导") private String newMainDraftUserLeaderLeader; /** * 新主起草部门领导 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "新主起草部门领导") private String newMainDraftUserLeader; /** * 相关人员 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "相关人员") private String relatedUser; /** * 抄送人 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "抄送人") private String copyUser; /** * 授权部门 */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "授权部门") private String authDept; /** * 配合单位 */ + @ApiModelProperty(value = "配合单位") private String cooperationUnit; @TableField(exist = false) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java index fca7d61b..3759cf17 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/service/impl/ProcessEsInitChangeServiceImpl.java @@ -97,67 +97,7 @@ public class ProcessEsInitChangeServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(ProcessEsInitChange::getProcessInstanceId, processInstanceId); lambdaQueryWrapper.eq(ProcessEsInitChange::getDelFlag, YesOrNoEnum.NO.getValue()); - return translateData(list(lambdaQueryWrapper)); - } - - /** - * 手动翻译数据 - * @return - */ - private List translateData(List initChangeList) { - List userIdList = new ArrayList<>(); - List departIdList = new ArrayList<>(); - - // 制作需要的Id集合 - for (ProcessEsInitChange initChange : initChangeList) { - userIdList.add(initChange.getMainDraftingUser()); - userIdList.add(initChange.getMainDraftingUnitResponsiblePerson()); - userIdList.add(initChange.getStandardPromoter()); - userIdList.add(initChange.getMainDraftUserLeader()); - userIdList.add(initChange.getMainDraftUserLeaderLeader()); - departIdList.add(initChange.getMainDraftingUnit()); - } - // 根据Id集合获取所需数据 - LambdaQueryWrapper userLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userLambdaQueryWrapper.in(SysUser::getId, userIdList); - List userList = sysUserService.list(userLambdaQueryWrapper); - // 转成Map - Map userMap = userList.stream().collect(Collectors.toMap(SysUser::getId, sysUser -> sysUser)); - - LambdaQueryWrapper deptLambdaQueryWrapper = new LambdaQueryWrapper<>(); - deptLambdaQueryWrapper.in(SysDepart::getId, departIdList); - List departList = sysDepartService.list(deptLambdaQueryWrapper); - // 转成Map - Map departMap = departList.stream().collect(Collectors.toMap(SysDepart::getId, sysDepart -> sysDepart)); - - // 翻译数据 - for (ProcessEsInitChange initChange : initChangeList) { - // 主起草人 - if (userMap.get(initChange.getMainDraftingUser()) != null) { - initChange.setMainDraftingUserDictText(userMap.get(initChange.getMainDraftingUser()).getUsername()); - } - // 起草单位负责人 - if (userMap.get(initChange.getMainDraftingUnitResponsiblePerson()) != null) { - initChange.setMainDraftingUnitResponsiblePersonDictText(userMap.get(initChange.getMainDraftingUnitResponsiblePerson()).getUsername()); - } - // 标准推进人 - if (userMap.get(initChange.getStandardPromoter()) != null) { - initChange.setStandardPromoterDictText(userMap.get(initChange.getStandardPromoter()).getUsername()); - } - // 主起草人上级领导 - if (userMap.get(initChange.getMainDraftUserLeader()) != null) { - initChange.setMainDraftUserLeaderDictText(userMap.get(initChange.getMainDraftUserLeader()).getUsername()); - } - // 主起草用户领导的领导 - if (userMap.get(initChange.getMainDraftUserLeaderLeader()) != null) { - initChange.setMainDraftUserLeaderLeaderDictText(userMap.get(initChange.getMainDraftUserLeaderLeader()).getUsername()); - } - // 主起草单位 - if (departMap.get(initChange.getMainDraftingUnit()) != null) { - initChange.setMainDraftingUnitDictText(departMap.get(initChange.getMainDraftingUnit()).getDepartName()); - } - } - return initChangeList; + return list(lambdaQueryWrapper); } @Override From 56667ef63b00af30f613c5fb9a87603e1a1e3f02 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 19 Oct 2023 09:35:59 +0800 Subject: [PATCH 7/9] =?UTF-8?q?feat:=20=E7=AB=8B=E9=A1=B9=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E6=B5=81=E7=A8=8B=E5=AD=97=E6=AE=B5=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProcessCenterController.java | 2 + .../entity/ProcessEsAnnualInit.java | 83 +++++++++---------- .../entity/EnterpriseStandardPlan.java | 1 + 3 files changed, 42 insertions(+), 44 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java index 39ac566e..f4227263 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/common/controller/ProcessCenterController.java @@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.common.controller; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.aspect.annotation.Translation; import com.jero.modules.activiti.process.common.entity.CenterQueryVO; import com.jero.modules.activiti.process.common.service.ActFlowCommonService; import com.jero.modules.activiti.process.common.service.ProcessDraftService; @@ -97,6 +98,7 @@ public class ProcessCenterController { @AutoLog(value = "流程中心-办理") @ApiOperation(value="流程中心-办理", notes="流程中心-办理") @GetMapping("/handle") + @Translation public Result handle(@RequestParam("processInstanceId") String processInstanceId) { return Result.OK(actFlowCommonService.handleTask(processInstanceId)); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java index e8f81585..8408f6a8 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java @@ -8,7 +8,6 @@ import java.io.Serializable; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; -import com.fasterxml.jackson.annotation.JsonProperty; import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -39,59 +38,70 @@ public class ProcessEsAnnualInit implements Serializable { /** * 企标计划Id */ + @ApiModelProperty(value = "主键ID") private String espId; /** * 创建人 */ + @ApiModelProperty(value = "主键ID") private String createBy; /** * 创建时间 */ + @ApiModelProperty(value = "主键ID") private Date createTime; /** * 更新人 */ + @ApiModelProperty(value = "主键ID") private String updateBy; /** * 更新时间 */ + @ApiModelProperty(value = "主键ID") private Date updateTime; /** * 所属部门 */ + @ApiModelProperty(value = "主键ID") private String orgCode; /** * 0表示未删除,1表示删除 */ + @ApiModelProperty(value = "主键ID") private Integer delFlag; /** * 流程实例Id */ + @ApiModelProperty(value = "主键ID") private String processInstanceId; /** * 申请类别 */ + @ApiModelProperty(value = "主键ID") private String applicationCategory; /** * 项目类型 */ - @Excel(name = "制修订类型", width = 15, orderNum = "1") + @Excel(name = "制修订类型", width = 15, orderNum = "1", dicCode = "esp_revision_type") @Dict(dicCode = "esp_revision_type") + @ApiModelProperty(value = "主键ID") private String projectType; /** * 原企标编号 */ @Excel(name = "原企标编号", width = 15, orderNum = "2") + @ApiModelProperty(value = "主键ID") private String originEnStandardNo; /** @@ -156,7 +166,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 草稿计划完成日期 */ - @Excel(name = "新企标名称", width = 15, orderNum = "13") + @Excel(name = "草稿计划完成日期", width = 15, orderNum = "13") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date draftPlannedCompleteDate; @@ -164,7 +174,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 征求意见稿计划完成日期 */ - @Excel(name = "新企标名称", width = 15, orderNum = "14") + @Excel(name = "征求意见稿计划完成日期", width = 15, orderNum = "14") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date solicitationDraftPlanCompleteDate; @@ -172,7 +182,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 计划报批日期 */ - @Excel(name = "新企标名称", width = 15, orderNum = "15") + @Excel(name = "计划报批日期", width = 15, orderNum = "15") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date planApprovalDate; @@ -195,54 +205,26 @@ public class ProcessEsAnnualInit implements Serializable { /** * 主起草人 */ + @Excel(name = "主起草人", width = 15, orderNum = "9", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草人") private String mainDraftingUser; - /** - * 主起草人 - */ - @Excel(name = "主起草人", width = 15, orderNum = "9") - @TableField(exist = false) - @JsonProperty("mainDraftingUser_dictText") - private String mainDraftingUserDictText; - - /** - * 主起草单位 - */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "主起草单位") private String mainDraftingUnit; - /** - * 主起草单位 - */ - @Excel(name = "主起草单位", width = 15, orderNum = "10") - @TableField(exist = false) - @JsonProperty("mainDraftingUnit_dictText") - private String mainDraftingUnitDictText; - /** * 主起草单位责任人 */ + @Excel(name = "主起草单位责任人", width = 20, orderNum = "11", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Dict(dicCode = "id", dictTable = "sys_user", dicText = "username") private String mainDraftingUnitResponsiblePerson; - /** - * 主起草单位责任人 - */ - @Excel(name = "主起草单位责任人", width = 20, orderNum = "11") - @TableField(exist = false) - @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") - private String mainDraftingUnitResponsiblePersonDictText; - - /** - * 标准推进人 - */ - private String standardPromoter; - - /** - * 标准推进人 - */ @Excel(name = "标准推进人", width = 15, orderNum = "12") - @TableField(exist = false) - @JsonProperty("standardPromoter_dictText") - private String standardPromoterDictText; + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "标准推进人") + private String standardPromoter; /** * 征求意见稿完成日期 @@ -254,43 +236,56 @@ public class ProcessEsAnnualInit implements Serializable { /** * 变更状态 */ - @Excel(name = "变更状态", width = 15, orderNum = "16") + @Excel(name = "变更状态", width = 15, orderNum = "16", dicCode = "esp_change_status") @Dict(dicCode = "esp_change_status") + @ApiModelProperty(value = "授权部门") private String changeStatus; /** * 上传附件 */ + @Dict(dictTable = "oss_file", dicCode = "id", dicText = "file_name") + @ApiModelProperty(value = "上传附件") private String uploadAttachment; /** * 变更原因 */ + @ApiModelProperty(value = "授权部门") private String changeReason; /** * 授权部门 */ @Excel(name = "授权部门", width = 15, orderNum = "6") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "授权部门") private String authDept; /** * 配合单位 */ @Excel(name = "配合单位", width = 15, orderNum = "8") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "配合单位") private String cooperationUnit; /** * 联络人 */ @Excel(name = "联络人", width = 15, orderNum = "17") + @ApiModelProperty(value = "主键ID") private String contactUser; /** * 审批人 */ + @ApiModelProperty(value = "主键ID") private String approvalUser; @TableField(exist = false) private static final long serialVersionUID = 1L; + + @TableField(exist = false) + private String sort; } \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java index a416c0c8..e296a6e3 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/entity/EnterpriseStandardPlan.java @@ -90,6 +90,7 @@ public class EnterpriseStandardPlan implements Serializable { @ApiModelProperty(value = "企标英文名称") private String enStandardEnglishName; + @Dict(dictTable = "laws_tree_node", dicCode = "id", dicText = "node_name") @ApiModelProperty(value = "企标体系") private String enStandardSystem; From 9582df9d37f5692e098802ef5d41774e9eb10e29 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 19 Oct 2023 09:48:40 +0800 Subject: [PATCH 8/9] =?UTF-8?q?feat:=20=E5=B9=B4=E6=AE=B5=E5=88=B6?= =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E6=B5=81=E7=A8=8B=E5=AD=97=E6=AE=B5=E7=BF=BB?= =?UTF-8?q?=E8=AF=91=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ProcessEsAnnualInit.java | 61 ++++++++---- .../controller/ESAnnualReportController.java | 3 +- .../entity/ProcessEsAnnualReport.java | 99 +++++++++++-------- .../entity/ProcessEsInitChange.java | 21 ++-- 4 files changed, 120 insertions(+), 64 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java index 8408f6a8..d5df881c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java @@ -38,145 +38,160 @@ public class ProcessEsAnnualInit implements Serializable { /** * 企标计划Id */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "企标计划Id") private String espId; /** * 创建人 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "创建人") private String createBy; /** * 创建时间 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新人 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "更新人") private String updateBy; /** * 更新时间 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 所属部门 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "所属部门") private String orgCode; /** * 0表示未删除,1表示删除 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "0表示未删除,1表示删除") private Integer delFlag; /** * 流程实例Id */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 申请类别 */ - @ApiModelProperty(value = "主键ID") + @Dict(dicCode = "esp_application_category") + @ApiModelProperty(value = "申请类别") private String applicationCategory; /** - * 项目类型 + * 制修订类型 */ @Excel(name = "制修订类型", width = 15, orderNum = "1", dicCode = "esp_revision_type") @Dict(dicCode = "esp_revision_type") - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "制修订类型") private String projectType; /** * 原企标编号 */ @Excel(name = "原企标编号", width = 15, orderNum = "2") - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "原企标编号") private String originEnStandardNo; /** * 新企标编号 */ @Excel(name = "新企标编号", width = 15, orderNum = "3") + @ApiModelProperty(value = "新企标编号") private String newEnStandardNo; /** * 原企标名称 */ @Excel(name = "原企标名称", width = 15, orderNum = "4") + @ApiModelProperty(value = "原企标名称") private String originEnStandardName; /** * 新企标名称 */ @Excel(name = "新企标名称", width = 15, orderNum = "5") + @ApiModelProperty(value = "新企标名称") private String newEnStandardName; /** * 企标英文名称 */ + @ApiModelProperty(value = "企标英文名称") private String enStandardEnglishName; /** * 企标体系 */ + @Dict(dictTable = "laws_tree_node", dicCode = "id", dicText = "node_name") + @ApiModelProperty(value = "企标体系") private String enStandardSystem; /** * 企业标准代号 */ @Excel(name = "企业标准代号", width = 15, orderNum = "7") + @ApiModelProperty(value = "企业标准代号") private String enStandardCode; /** * 企业名称代号 */ + @ApiModelProperty(value = "企业名称代号") private String enNameCode; /** * 标准类别代号 */ + @ApiModelProperty(value = "标准类别代号") private String standardCategoryCode; /** * 年代号 */ + @ApiModelProperty(value = "年代号") private String decadeCode; /** * 标准类型 */ + @ApiModelProperty(value = "标准类型") private String standardType; /** * 企标等级分类 */ + @ApiModelProperty(value = "企标等级分类") private String enStandardClassification; /** * 草稿计划完成日期 */ - @Excel(name = "草稿计划完成日期", width = 15, orderNum = "13") + @Excel(name = "草稿计划完成日期", width = 20, orderNum = "13") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿计划完成日期") private Date draftPlannedCompleteDate; /** * 征求意见稿计划完成日期 */ - @Excel(name = "征求意见稿计划完成日期", width = 15, orderNum = "14") + @Excel(name = "征求意见稿计划完成日期", width = 24, orderNum = "14") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿计划完成日期") private Date solicitationDraftPlanCompleteDate; /** @@ -185,21 +200,25 @@ public class ProcessEsAnnualInit implements Serializable { @Excel(name = "计划报批日期", width = 15, orderNum = "15") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "计划报批日期") private Date planApprovalDate; /** * 项目状态 */ + @ApiModelProperty(value = "项目状态") private String projectStatus; /** * 编制说明 */ + @ApiModelProperty(value = "编制说明") private String compilationDescription; /** * 零部件名称 */ + @ApiModelProperty(value = "零部件名称") private String componentName; /** @@ -210,6 +229,10 @@ public class ProcessEsAnnualInit implements Serializable { @ApiModelProperty(value = "主起草人") private String mainDraftingUser; + /** + * 主起草单位 + */ + @Excel(name = "主起草单位", width = 15, orderNum = "10", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "主起草单位") private String mainDraftingUnit; @@ -219,6 +242,7 @@ public class ProcessEsAnnualInit implements Serializable { */ @Excel(name = "主起草单位责任人", width = 20, orderNum = "11", dictTable = "sys_user", dicCode = "id", dicText = "username") @Dict(dicCode = "id", dictTable = "sys_user", dicText = "username") + @ApiModelProperty(value = "主起草单位责任人") private String mainDraftingUnitResponsiblePerson; @Excel(name = "标准推进人", width = 15, orderNum = "12") @@ -231,6 +255,7 @@ public class ProcessEsAnnualInit implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿完成日期") private Date solicitationDraftCompletionDate; /** @@ -238,7 +263,7 @@ public class ProcessEsAnnualInit implements Serializable { */ @Excel(name = "变更状态", width = 15, orderNum = "16", dicCode = "esp_change_status") @Dict(dicCode = "esp_change_status") - @ApiModelProperty(value = "授权部门") + @ApiModelProperty(value = "变更状态") private String changeStatus; /** @@ -251,7 +276,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 变更原因 */ - @ApiModelProperty(value = "授权部门") + @ApiModelProperty(value = "变更原因") private String changeReason; /** @@ -274,13 +299,13 @@ public class ProcessEsAnnualInit implements Serializable { * 联络人 */ @Excel(name = "联络人", width = 15, orderNum = "17") - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "联络人") private String contactUser; /** * 审批人 */ - @ApiModelProperty(value = "主键ID") + @ApiModelProperty(value = "审批人") private String approvalUser; @TableField(exist = false) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java index 4bd669f2..4a72920c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/controller/ESAnnualReportController.java @@ -33,7 +33,8 @@ public class ESAnnualReportController { * 导入模板下载 */ @GetMapping("/templateDownload") - @ApiOperation(value = "企标年度制修订主动上报流程-导入模板下载", notes = "企标年度制修订主动上报流程-导入模板下载") + @ApiOperation(value = "企标年度制修订主动上报流程-导入模板下载", notes = "企标年度制修订主动上报流程-导入模板下载", + produces = "application/octet-stream") @AutoLog(value = "企标年度制修订主动上报流程-导入模板下载") public ModelAndView templateDownload() { // AutoPoi 导出Excel diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java index 46944522..30163db9 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualReport/entity/ProcessEsAnnualReport.java @@ -39,46 +39,56 @@ public class ProcessEsAnnualReport implements Serializable { /** * 企标计划Id */ + @ApiModelProperty(value = "企标计划Id") private String espId; /** * 创建人 */ + @ApiModelProperty(value = "创建人") private String createBy; /** * 创建时间 */ + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新人 */ + @ApiModelProperty(value = "更新人") private String updateBy; /** * 更新时间 */ + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 所属部门 */ + @ApiModelProperty(value = "所属部门") private String orgCode; /** * 0表示未删除,1表示删除 */ + @ApiModelProperty(value = "0表示未删除,1表示删除") private Integer delFlag; /** * 流程实例Id */ + @ApiModelProperty(value = "流程实例Id") private String processInstanceId; /** * 申请类别 */ + @Dict(dicCode = "esp_application_category") + @ApiModelProperty(value = "申请类别") private String applicationCategory; /** @@ -86,168 +96,167 @@ public class ProcessEsAnnualReport implements Serializable { */ @Excel(name = "制修订类型", width = 15, orderNum = "1") @Dict(dicCode = "esp_revision_type") + @ApiModelProperty(value = "制修订类型") private String projectType; /** * 原企标编号 */ @Excel(name = "原企标编号", width = 15, orderNum = "2") + @ApiModelProperty(value = "原企标编号") private String originEnStandardNo; /** * 新企标编号 */ @Excel(name = "新企标编号", width = 15, orderNum = "3") + @ApiModelProperty(value = "新企标编号") private String newEnStandardNo; /** * 原企标名称 */ @Excel(name = "原企标名称", width = 15, orderNum = "4") + @ApiModelProperty(value = "原企标名称") private String originEnStandardName; /** * 新企标名称 */ @Excel(name = "新企标名称", width = 15, orderNum = "5") + @ApiModelProperty(value = "新企标名称") private String newEnStandardName; /** * 企标英文名称 */ + @ApiModelProperty(value = "企标英文名称") private String enStandardEnglishName; /** * 企标体系 */ + @ApiModelProperty(value = "企标体系") private String enStandardSystem; /** * 企业标准代号 */ - @Excel(name = "企业标准代号", width = 15, orderNum = "7") + @Excel(name = "企业标准代号", width = 15, orderNum = "7", dicCode = "enterprise_standard_code") + @Dict(dicCode = "enterprise_standard_code") + @ApiModelProperty(value = "企业标准代号") private String enStandardCode; /** * 企业名称代号 */ + @ApiModelProperty(value = "企业名称代号") private String enNameCode; /** * 标准类别代号 */ + @ApiModelProperty(value = "标准类别代号") private String standardCategoryCode; /** * 年代号 */ + @ApiModelProperty(value = "年代号") private String decadeCode; /** * 标准类型 */ + @ApiModelProperty(value = "标准类型") private String standardType; /** * 企标等级分类 */ + @ApiModelProperty(value = "企标等级分类") private String enStandardClassification; /** * 草稿计划完成日期 */ - @Excel(name = "新企标名称", width = 15, orderNum = "13") + @Excel(name = "草稿计划完成日期", width = 20, orderNum = "13") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿计划完成日期") private Date draftPlannedCompleteDate; /** * 征求意见稿计划完成日期 */ - @Excel(name = "新企标名称", width = 15, orderNum = "14") + @Excel(name = "征求意见稿计划完成日期", width = 24, orderNum = "14") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿计划完成日期") private Date solicitationDraftPlanCompleteDate; /** * 计划报批日期 */ - @Excel(name = "新企标名称", width = 15, orderNum = "15") + @Excel(name = "计划报批日期", width = 15, orderNum = "15") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "计划报批日期") private Date planApprovalDate; /** * 项目状态 */ + @ApiModelProperty(value = "项目状态") private String projectStatus; /** * 编制说明 */ + @ApiModelProperty(value = "编制说明") private String compilationDescription; /** * 零部件名称 */ + @ApiModelProperty(value = "零部件名称") private String componentName; - /** * 主起草人 */ + @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @ApiModelProperty(value = "主起草人") private String mainDraftingUser; - /** - * 主起草人 - */ - @TableField(exist = false) - @JsonProperty("mainDraftingUser_dictText") - private String mainDraftingUserDictText; - /** * 主起草单位 */ + @Excel(name = "主起草单位", width = 15, orderNum = "9", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "主起草单位") private String mainDraftingUnit; - /** - * 主起草单位 - */ - @Excel(name = "主起草单位", width = 15, orderNum = "9") - @TableField(exist = false) - @JsonProperty("mainDraftingUnit_dictText") - private String mainDraftingUnitDictText; - /** * 主起草单位责任人 */ + @Excel(name = "主起草单位责任人", width = 20, orderNum = "10", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Dict(dicCode = "id", dictTable = "sys_user", dicText = "username") + @ApiModelProperty(value = "主起草单位责任人") private String mainDraftingUnitResponsiblePerson; - /** - * 主起草单位责任人 - */ - @Excel(name = "主起草单位责任人", width = 20, orderNum = "10") - @TableField(exist = false) - @JsonProperty("mainDraftingUnitResponsiblePerson_dictText") - private String mainDraftingUnitResponsiblePersonDictText; - /** * 标准推进人 */ + @Excel(name = "标准推进人", width = 15, orderNum = "12", dicCode = "id", dictTable = "sys_user", dicText = "username") + @Dict(dicCode = "id", dictTable = "sys_user", dicText = "username") + @ApiModelProperty(value = "标准推进人") private String standardPromoter; - /** - * 标准推进人 - */ - @Excel(name = "标准推进人", width = 15, orderNum = "12") - @TableField(exist = false) - @JsonProperty("standardPromoter_dictText") - private String standardPromoterDictText; - /** * 草稿完成日期 */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿完成日期") private Date draftCompletionDate; /** @@ -255,11 +264,13 @@ public class ProcessEsAnnualReport implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "提交草稿日期") private Date draftSubmissionDate; /** * 是否征求意见 */ + @ApiModelProperty(value = "是否征求意见") private String solicitationOpinionEnabled; /** @@ -267,6 +278,7 @@ public class ProcessEsAnnualReport implements Serializable { */ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿完成日期") private Date solicitationDraftCompletionDate; /** @@ -274,34 +286,43 @@ public class ProcessEsAnnualReport implements Serializable { */ @Excel(name = "变更状态", width = 15, orderNum = "16") @Dict(dicCode = "esp_change_status") + @ApiModelProperty(value = "变更状态") private String changeStatus; /** * 上传附件 */ + @ApiModelProperty(value = "上传附件") private String uploadAttachment; /** * 变更原因 */ + @ApiModelProperty(value = "变更原因") private String changeReason; /** * 授权部门 */ - @Excel(name = "授权部门", width = 15, orderNum = "6") + @Excel(name = "授权部门", width = 15, orderNum = "6", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "授权部门") private String authDept; /** * 配合单位 */ - @Excel(name = "配合单位", width = 15, orderNum = "8") + @Excel(name = "配合单位", width = 15, orderNum = "8", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @ApiModelProperty(value = "配合单位") private String cooperationUnit; /** * 隶属工作组 */ - @Excel(name = "隶属工作组", width = 15, orderNum = "11") + @Excel(name = "隶属工作组", width = 15, orderNum = "11", dictTable = "laws_working_group", dicCode = "id", dicText = "name") + @Dict(dictTable = "laws_working_group", dicCode = "id", dicText = "name") + @ApiModelProperty(value = "隶属工作组") private String workGroup; @TableField(exist = false) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java index 0b620886..99a3ebf1 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esInitChange/entity/ProcessEsInitChange.java @@ -57,9 +57,17 @@ public class ProcessEsInitChange implements Serializable { /** * 制修订类型1(合并流程字段) */ + @Dict(dicCode = "esp_project_type") @ApiModelProperty(value = "制修订类型1(合并流程字段)") private String projectTypeOne; + /** + * 制修订类型2(合并流程字段) + */ + @Dict(dicCode = "esp_project_type") + @ApiModelProperty(value = "制修订类型2(合并流程字段)") + private String projectTypeTwo; + /** * 标准计划Id2(合并流程字段) */ @@ -78,12 +86,6 @@ public class ProcessEsInitChange implements Serializable { @ApiModelProperty(value = "标准名称2(合并流程字段)") private String standardNameTwo; - /** - * 制修订类型2(合并流程字段) - */ - @ApiModelProperty(value = "制修订类型2(合并流程字段)") - private String projectTypeTwo; - /** * 创建人 */ @@ -93,6 +95,8 @@ public class ProcessEsInitChange implements Serializable { /** * 创建时间 */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "创建时间") private Date createTime; @@ -105,6 +109,8 @@ public class ProcessEsInitChange implements Serializable { /** * 更新时间 */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "更新时间") private Date updateTime; @@ -149,12 +155,14 @@ public class ProcessEsInitChange implements Serializable { /** * 申请类别 */ + @Dict(dicCode = "esp_application_category") @ApiModelProperty(value = "申请类别") private String applicationCategory; /** * 项目类型 */ + @Dict(dicCode = "esp_project_type") @ApiModelProperty(value = "项目类型") private String projectType; @@ -522,6 +530,7 @@ public class ProcessEsInitChange implements Serializable { /** * 配合单位 */ + @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") @ApiModelProperty(value = "配合单位") private String cooperationUnit; From 9bbb33a323a3490cec8d1db65b4323075d2ca8dd Mon Sep 17 00:00:00 2001 From: caihaohan Date: Fri, 20 Oct 2023 11:05:26 +0800 Subject: [PATCH 9/9] =?UTF-8?q?feat:=20=E5=B9=B4=E6=AE=B5=E5=88=B6?= =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E6=A0=87=E5=87=86=E5=8C=96=E5=8F=91=E8=B5=B7?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ESAnnualInitController.java | 4 +- .../entity/EsAnnualInitImportDTO.java | 145 +++++++++ .../entity/ProcessEsAnnualInit.java | 15 +- .../service/ProcessEsAnnualInitService.java | 10 + .../impl/ProcessEsAnnualInitServiceImpl.java | 285 +++++++++++++++++- .../modules/activiti/util/ExcelUtils.java | 209 +++++++++++++ 6 files changed, 656 insertions(+), 12 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/EsAnnualInitImportDTO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java index 98e96d23..c8c74885 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/controller/ESAnnualInitController.java @@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.esAnnualInit.controller; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.aspect.annotation.Translation; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService; @@ -67,13 +68,14 @@ public class ESAnnualInitController { @PostMapping("/importExcel") @ApiOperation(value = "企标年度制修订标准化发起流程-导入", notes = "企标年度制修订标准化发起流程-导入") @AutoLog(value = "企标年度制修订标准化发起流程-导入") + @Translation public Result importExcel(@ApiParam(value = "要上传的文件", required = true) @RequestParam("file") MultipartFile file) { Map resultMap = annualInitService.importData(file); Object flag = resultMap.get("flag"); if (flag == YesOrNoEnum.YES.getValue()) { return Result.OK(resultMap.get("dataList")); } else { - return Result.error("导入失败", resultMap.get("msgList")); + return Result.error("导入失败", resultMap.get("msg")); } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/EsAnnualInitImportDTO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/EsAnnualInitImportDTO.java new file mode 100644 index 00000000..ed88e832 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/EsAnnualInitImportDTO.java @@ -0,0 +1,145 @@ +package com.jero.modules.activiti.process.esAnnualInit.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * 企标-年度制修订计划-标准化发起 + * @TableName process_es_annual_init + */ +@Data +@Accessors(chain = true) +public class EsAnnualInitImportDTO implements Serializable { + + /** + * 制修订类型 + */ + @Excel(name = "制修订类型", width = 15, orderNum = "1") + @ApiModelProperty(value = "制修订类型") + private String projectType; + + /** + * 原企标编号 + */ + @Excel(name = "原企标编号", width = 15, orderNum = "2") + @ApiModelProperty(value = "原企标编号") + private String originEnStandardNo; + + /** + * 新企标编号 + */ + @Excel(name = "新企标编号", width = 15, orderNum = "3") + @ApiModelProperty(value = "新企标编号") + private String newEnStandardNo; + + /** + * 原企标名称 + */ + @Excel(name = "原企标名称", width = 15, orderNum = "4") + @ApiModelProperty(value = "原企标名称") + private String originEnStandardName; + + /** + * 新企标名称 + */ + @Excel(name = "新企标名称", width = 15, orderNum = "5") + @ApiModelProperty(value = "新企标名称") + private String newEnStandardName; + + /** + * 授权部门 + */ + @Excel(name = "授权部门", width = 15, orderNum = "6") + @ApiModelProperty(value = "授权部门") + private String authDept; + + /** + * 企业标准代号 + */ + @Excel(name = "企业标准代号", width = 15, orderNum = "7") + @ApiModelProperty(value = "企业标准代号") + private String enStandardCode; + + /** + * 配合单位 + */ + @Excel(name = "配合单位", width = 15, orderNum = "8") + @ApiModelProperty(value = "配合单位") + private String cooperationUnit; + + /** + * 主起草人 + */ + @Excel(name = "主起草人", width = 15, orderNum = "9") + @ApiModelProperty(value = "主起草人") + private String mainDraftingUser; + + /** + * 主起草单位 + */ + @Excel(name = "主起草单位", width = 15, orderNum = "10") + @ApiModelProperty(value = "主起草单位") + private String mainDraftingUnit; + + /** + * 主起草单位责任人 + */ + @Excel(name = "主起草单位责任人", width = 20, orderNum = "11") + @ApiModelProperty(value = "主起草单位责任人") + private String mainDraftingUnitResponsiblePerson; + + @Excel(name = "标准推进人", width = 15, orderNum = "12") + @ApiModelProperty(value = "标准推进人") + private String standardPromoter; + + /** + * 草稿计划完成日期 + */ + @Excel(name = "草稿计划完成日期", width = 20, orderNum = "13") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "草稿计划完成日期") + private Date draftPlannedCompleteDate; + + /** + * 征求意见稿计划完成日期 + */ + @Excel(name = "征求意见稿计划完成日期", width = 24, orderNum = "14") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见稿计划完成日期") + private Date solicitationDraftPlanCompleteDate; + + /** + * 计划报批日期 + */ + @Excel(name = "计划报批日期", width = 15, orderNum = "15") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "计划报批日期") + private Date planApprovalDate; + + /** + * 变更状态 + */ + @Excel(name = "变更状态", width = 15, orderNum = "16") + @ApiModelProperty(value = "变更状态") + private String changeStatus; + + /** + * 联络人 + */ + @Excel(name = "联络人", width = 15, orderNum = "17") + @ApiModelProperty(value = "联络人") + private String contactUser; + + @ApiModelProperty(value = "序号") + private String sort; +} \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java index d5df881c..0d386f79 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/entity/ProcessEsAnnualInit.java @@ -15,8 +15,11 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelVerify; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.NotNull; + /** * 企标-年度制修订计划-标准化发起 * @TableName process_es_annual_init @@ -93,7 +96,7 @@ public class ProcessEsAnnualInit implements Serializable { /** * 制修订类型 */ - @Excel(name = "制修订类型", width = 15, orderNum = "1", dicCode = "esp_revision_type") + @Excel(name = "制修订类型", width = 15, orderNum = "1") @Dict(dicCode = "esp_revision_type") @ApiModelProperty(value = "制修订类型") private String projectType; @@ -108,7 +111,6 @@ public class ProcessEsAnnualInit implements Serializable { /** * 新企标编号 */ - @Excel(name = "新企标编号", width = 15, orderNum = "3") @ApiModelProperty(value = "新企标编号") private String newEnStandardNo; @@ -224,23 +226,25 @@ public class ProcessEsAnnualInit implements Serializable { /** * 主起草人 */ - @Excel(name = "主起草人", width = 15, orderNum = "9", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Excel(name = "主起草人", width = 15, orderNum = "9") @Dict(dictTable = "sys_user", dicCode = "id", dicText = "username") + @NotNull @ApiModelProperty(value = "主起草人") private String mainDraftingUser; /** * 主起草单位 */ - @Excel(name = "主起草单位", width = 15, orderNum = "10", dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @Excel(name = "主起草单位", width = 15, orderNum = "10") @Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name") + @NotNull @ApiModelProperty(value = "主起草单位") private String mainDraftingUnit; /** * 主起草单位责任人 */ - @Excel(name = "主起草单位责任人", width = 20, orderNum = "11", dictTable = "sys_user", dicCode = "id", dicText = "username") + @Excel(name = "主起草单位责任人", width = 20, orderNum = "11") @Dict(dicCode = "id", dictTable = "sys_user", dicText = "username") @ApiModelProperty(value = "主起草单位责任人") private String mainDraftingUnitResponsiblePerson; @@ -261,7 +265,6 @@ public class ProcessEsAnnualInit implements Serializable { /** * 变更状态 */ - @Excel(name = "变更状态", width = 15, orderNum = "16", dicCode = "esp_change_status") @Dict(dicCode = "esp_change_status") @ApiModelProperty(value = "变更状态") private String changeStatus; diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java index 5af982f8..f1fd8cde 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/ProcessEsAnnualInitService.java @@ -2,6 +2,11 @@ package com.jero.modules.activiti.process.esAnnualInit.service; import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Map; /** * @author ThinkBook @@ -10,4 +15,9 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ProcessEsAnnualInitService extends IService { + /** + * 导入数据,返回数据列表 + * @return + */ + Map importData(MultipartFile file); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java index 2dbecc8c..821a01c2 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esAnnualInit/service/impl/ProcessEsAnnualInitServiceImpl.java @@ -1,19 +1,294 @@ package com.jero.modules.activiti.process.esAnnualInit.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.api.CommonAPI; +import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.system.vo.SysDictItemCore; import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit; import com.jero.modules.activiti.process.esAnnualInit.service.ProcessEsAnnualInitService; import com.jero.modules.activiti.process.esAnnualInit.mapper.ProcessEsAnnualInitMapper; +import com.jero.modules.activiti.process.esInitChange.entity.enums.ESPProjectType; +import com.jero.modules.activiti.util.ExcelUtils; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import lombok.extern.slf4j.Slf4j; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.*; +import java.util.stream.Collectors; /** -* @author ThinkBook -* @description 针对表【process_es_annual_init(企标立项变更流程)】的数据库操作Service实现 -* @createDate 2023-10-18 10:01:44 -*/ + * @author ThinkBook + * @description 针对表【process_es_annual_init(企标立项变更流程)】的数据库操作Service实现 + * @createDate 2023-10-18 10:01:44 + */ +@Slf4j @Service public class ProcessEsAnnualInitServiceImpl extends ServiceImpl - implements ProcessEsAnnualInitService{ + implements ProcessEsAnnualInitService { + + @Resource + private CommonAPI commonAPI; + + @Resource + private ExcelUtils excelUtils; + + @Resource + private ILawsEnterpriseStandardService enterpriseStandardService; + + @Override + public Map importData(MultipartFile file) { + List listDict = commonAPI.getDictItemAll(); + Map resultMap = new HashMap<>(); + List errorMsgs = new ArrayList<>(); + + // 获取Excel的header + List headers; + try { + headers = ExcelUtils.getHeaderFromExcel(file.getInputStream()); + } catch (Exception e) { + errorMsgs.add("上传模板错误,请检查后重试。"); + resultMap.put("msg", errorMsgs); + resultMap.put("flag", YesOrNoEnum.NO.getValue()); + log.error(e.getMessage(), e); + return resultMap; // 返回错误信息 + } + + // 使用静态方法验证header + boolean isMatched = headers.equals(ExcelUtils.getSortedHeadersFromClass(ProcessEsAnnualInit.class)); + if (!isMatched) { + errorMsgs.add("上传模板错误,请检查后重试。"); + resultMap.put("msg", errorMsgs); + resultMap.put("flag", YesOrNoEnum.NO.getValue()); + return resultMap; // 返回错误信息 + } + + ImportParams params = new ImportParams(); + params.setTitleRows(1); + params.setHeadRows(1); + params.setNeedSave(true); + + try { + List list = ExcelImportUtil.importExcel(file.getInputStream(), ProcessEsAnnualInit.class, params); + if (list.isEmpty()) { + errorMsgs.add("文件暂无数据,请检查后重试。"); + resultMap.put("msg", errorMsgs); + resultMap.put("flag", YesOrNoEnum.NO.getValue()); + return resultMap; // 返回错误信息 + } + // 批量检查数据是否有效 + errorMsgs = this.validationList(list, listDict); + if (errorMsgs.size() > 0) { + resultMap.put("msg", errorMsgs); + resultMap.put("flag", YesOrNoEnum.NO.getValue()); + } else { + resultMap.put("flag", YesOrNoEnum.YES.getValue()); + // 转换为字典值 + this.transToDictValue(list, listDict); + // 清洗 + this.cleanData(list); + resultMap.put("dataList", list); + } + } catch (Exception e) { + errorMsgs.add("文件导入异常:" + e.getMessage()); + resultMap.put("msg", errorMsgs); + resultMap.put("flag", YesOrNoEnum.NO.getValue()); + log.error(e.getMessage(), e); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return resultMap; + } + + private void cleanData(List list) { + list.forEach(item-> { + // 如果是制定则去除掉所有的原企标名称 原企标编号 + if (ESPProjectType.ENACT.getValue().equals(item.getProjectType())) { + item.setOriginEnStandardName(null); + item.setOriginEnStandardNo(null); + } + // 设置变更状态 制定是新增 修订是变更 + if (item.getProjectType().equals("制定")) { + item.setChangeStatus("新增"); + } else { + item.setChangeStatus("变更"); + } + }); + } + + private void transToDictValue(List list, List listDict) { + list.forEach(item -> { + item.setProjectType(excelUtils.translateDictValue("esp_revision_type", item.getProjectType(), listDict)); + item.setAuthDept(excelUtils.translateDictValue("depart_name", "id", "sys_depart", item.getAuthDept(), listDict)); + item.setEnStandardCode(excelUtils.translateDictValue("enterprise_standard_code", item.getEnStandardCode(), listDict)); + item.setCooperationUnit(excelUtils.translateDictValue("depart_name", "id", "sys_depart", item.getCooperationUnit(), listDict)); + item.setMainDraftingUser(excelUtils.translateDictValue("username", "id", "sys_user", item.getMainDraftingUser(), listDict)); + item.setMainDraftingUnit(excelUtils.translateDictValue("depart_name", "id", "sys_depart", item.getMainDraftingUnit(), listDict)); + item.setMainDraftingUnitResponsiblePerson(excelUtils.translateDictValue("username", "id", "sys_user", item.getMainDraftingUnitResponsiblePerson(), listDict)); + item.setStandardPromoter(excelUtils.translateDictValue("username", "id", "sys_user", item.getStandardPromoter(), listDict)); + item.setContactUser(excelUtils.translateDictValue("username", "id", "sys_user", item.getContactUser(), listDict)); + }); + } + + private List validationList(List list, List listDict) { + List esList = enterpriseStandardService.list(); + List errorMsgs = new ArrayList<>(); + + int i = 3; + Iterator iterator = list.iterator(); + while (iterator.hasNext()) { + ProcessEsAnnualInit plan = iterator.next(); + if (ExcelUtils.isEmptyRow(plan)) { + iterator.remove(); + continue; + } + plan.setSort(String.valueOf(i++)); + String enStandardCode = plan.getProjectType(); + String authDept = plan.getProjectType(); + String cooperationUnit = plan.getCooperationUnit(); + String mainDraftingUnit = plan.getMainDraftingUnit(); + String mainDraftingUser = plan.getProjectType(); + String mainDraftingUnitResponsiblePerson = plan.getMainDraftingUnitResponsiblePerson(); + String standardPromoter = plan.getStandardPromoter(); + String contactUser = plan.getContactUser(); + + StringBuilder errMsgHeader = new StringBuilder(); + StringBuilder errMsg = new StringBuilder(); + errMsgHeader.append("第").append(plan.getSort()).append("行"); + + // 检查制修订类型 编号 名称 + errMsg.append(validProjectType(plan, listDict, esList)); + // 检查所有数据字典校验的字段 + errMsg.append(validAuthDept(authDept, listDict)); + errMsg.append(validStandardCode(enStandardCode, listDict)); + errMsg.append(validCooperateUnit(cooperationUnit, listDict)); + errMsg.append(validMainDraftingUser(mainDraftingUser, listDict)); + errMsg.append(validMainDraftingUnit(mainDraftingUnit, listDict)); + errMsg.append(validMainDraftingUnitResponsiblePerson(mainDraftingUnitResponsiblePerson, listDict)); + errMsg.append(validStandardPromoter(standardPromoter, listDict)); + errMsg.append(validContactUser(contactUser, listDict)); + // 如果数据有问题,则将提示信息添加到 errorMsgs 中 + if (errMsg.length() > 0) { + errorMsgs.add(errMsgHeader.append(errMsg).toString()); + } + } + return errorMsgs; + } + + private String validAuthDept(String value, List listDict) { + // 非空检查 + if (StrUtil.isBlank(value)) { + return "'授权部门'不能为空。"; + } + // 检查授权部门 + if (!excelUtils.validDict("depart_name", value, "sys_depart", "id", false, listDict)) { + return "'授权部门'无效。"; + } + return ""; + } + private String validStandardCode(String value, List listDict) { + // 检查企业标准代号 + if (!excelUtils.validDict("enterprise_standard_code", value, null, null, true, listDict)) { + return "'企业标准代号'无效。"; + } + return ""; + } + private String validCooperateUnit(String value, List listDict) { // 非空检查 + if (StrUtil.isBlank(value)) { + return "'配合单位'不能为空。"; + } + // 检查配合单位 + if (!excelUtils.validDict("depart_name", value, "sys_depart", "id", false, listDict)) { + return "'配合单位'无效。"; + } + return ""; + } + private String validMainDraftingUser(String value, List listDict) { + if (StrUtil.isBlank(value)) { + return "'主起草人'不能为空。"; + } + // 检查主起草人 + if (!excelUtils.validDict("username", value, "sys_user", "id", true, listDict)) { + return "'主起草人'无效。"; + } + return ""; + } + private String validMainDraftingUnit(String value, List listDict) { + if (StrUtil.isBlank(value)) { + return "'主起草单位'不能为空。"; + } + // 检查主起草单位 + if (!excelUtils.validDict("depart_name", value, "sys_depart", "id", true, listDict)) { + return "'主起草单位'无效。"; + } + return ""; + } + private String validMainDraftingUnitResponsiblePerson(String value, List listDict) { + if (StrUtil.isBlank(value)) { + return "'主起草单位负责人'不能为空。"; + } + // 检查主起草单位负责人 + if (!excelUtils.validDict("username", value, "sys_user", "id", true, listDict)) { + return "'主起草单位负责人'无效。"; + } + return ""; + } + private String validStandardPromoter(String value, List listDict) { + if (StrUtil.isBlank(value)) { + return "'标准推进人'不能为空。"; + } + // 检查标准推进人 + if (!excelUtils.validDict("username", value, "sys_user", "id", true, listDict)) { + return "'标准推进人'无效。"; + } + return ""; + } + private String validContactUser(String value, List listDict) { + if (StrUtil.isBlank(value)) { + return "'联络人'不能为空。"; + } + // 检查联络人 + if (!excelUtils.validDict("username", value, "sys_user", "id", true, listDict)) { + return "'联络人'无效。"; + } + return ""; + } + + private String validProjectType(ProcessEsAnnualInit plan, List listDict, List esList) { + String projectType = plan.getProjectType(); + String originEnStandardNo = plan.getProjectType(); + String newEnStandardName = plan.getNewEnStandardName(); + if (StrUtil.isBlank(projectType)) { + return "'制修订类型'不能为空。"; + } + if (!excelUtils.validDict("esp_revision_type", projectType, null, null, true, listDict)) { + return "'制修订类型'无效。"; + } + // 修订 + if (projectType.equals(ESPProjectType.MODIFY.getValue())) { + // 检查企标编号是否有效 + if (StrUtil.isBlank(originEnStandardNo)) { + return "'原企标编号'不能为空。"; + } + if (!esList.stream().map(LawsEnterpriseStandard::getStandardNumber).collect(Collectors.toList()).contains(originEnStandardNo)) { + return "'原企标编号'无效。"; + } + } + if (newEnStandardName.length() > 50) { + return "'新企标名称'过长(最多50字)。"; + } + return ""; + } } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java b/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java new file mode 100644 index 00000000..d36310b3 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/util/ExcelUtils.java @@ -0,0 +1,209 @@ +package com.jero.modules.activiti.util; + +import com.jero.common.api.CommonAPI; +import com.jero.common.system.vo.SysDictItemCore; +import com.jero.common.util.oConvertUtils; +import com.jero.modules.system.entity.SysDictItem; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.annotation.Resource; +import java.io.InputStream; +import java.lang.reflect.Field; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author: Mzaxd + * @Date: 2023/8/18 15:50 + */ +@Component +public class ExcelUtils { + + @Resource + private CommonAPI commonAPI; + + public static Date excelSerialDateToJavaDate(double serialDate) { + // 首先,我们定义数据库支持的最早和最晚的日期。 + Calendar minDate = Calendar.getInstance(); + minDate.set(1000, Calendar.JANUARY, 1); // 这是MySQL的最小日期,可以根据需要修改 + + Calendar maxDate = Calendar.getInstance(); + maxDate.set(9999, Calendar.DECEMBER, 31); // 这是MySQL的最大日期,可以根据需要修改 + + Calendar baseDate = Calendar.getInstance(); + baseDate.set(1900, Calendar.JANUARY, 1); // Excel起始日期是1900-01-01 + baseDate.add(Calendar.DATE, (int) serialDate - 2); // 减2是因为Excel中1900年被错误地视为闰年 + + // 现在我们比较日期是否在有效范围内 + if (baseDate.before(minDate) || baseDate.after(maxDate)) { + throw new IllegalArgumentException("日期超出了有效范围: " + baseDate.getTime()); + } + return baseDate.getTime(); + } + + /** + * 获取HeadRow的文本内容 + * + * @param is 文件输入流 + * @return HeadRow的List + * @throws Exception + */ + public static List getHeaderFromExcel(InputStream is) throws Exception { + List headers = new ArrayList<>(); + + Workbook workbook = new XSSFWorkbook(is); + Sheet sheet = workbook.getSheetAt(0); + + // HeadRow在index 1 + for (int rowIndex = 1; rowIndex <= 1; rowIndex++) { + Row row = sheet.getRow(rowIndex); + for (Cell cell : row) { + headers.add(cell.getStringCellValue()); + } + } + return headers; + } + + /** + * 获取一个类的所有带@Excel注解的字段的name属性值,并按照orderNum正序排序。 + * + * @param clazz 要检查的类 + * @return 包含所有带@Excel注解字段的name属性值的列表 + */ + public static List getSortedHeadersFromClass(Class clazz) { + List annotatedFields = new ArrayList<>(); + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + if (field.isAnnotationPresent(Excel.class)) { + annotatedFields.add(field); + } + } + + // 根据orderNum正序排序 + annotatedFields.sort(new Comparator() { + @Override + public int compare(Field o1, Field o2) { + Excel excel1 = o1.getAnnotation(Excel.class); + Excel excel2 = o2.getAnnotation(Excel.class); + return Integer.compare(Integer.parseInt(excel1.orderNum()), Integer.parseInt(excel2.orderNum())); + } + }); + + // 提取排序后字段的name属性值 + List sortedHeaders = new ArrayList<>(); + for (Field field : annotatedFields) { + Excel excel = field.getAnnotation(Excel.class); + sortedHeaders.add(excel.name()); + } + return sortedHeaders; + } + + /** + * 检查一个对象的所有带@Excel注解的字段是否为空。 + * + * @param obj 要检查的对象 + * @return 如果所有带@Excel注解的字段都为空,则返回true,否则返回false。 + */ + public static boolean isEmptyRow(Object obj) { + boolean isEmpty = true; // 假设行是空的 + Field[] fields = obj.getClass().getDeclaredFields(); // 获取类的所有字段 + + for (Field field : fields) { + if (field.isAnnotationPresent(Excel.class)) { // 检查字段是否有@Excel注解 + field.setAccessible(true); // 允许访问私有字段 + try { + Object value = field.get(obj); // 获取字段的值 + if (value != null) { // 如果字段不为空 + isEmpty = false; // 行不是空的 + break; + } + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + return isEmpty; + } + + // 校验数据字典 + public boolean validDict(String dictCode, String dictValue, String dicTable, String dicText, boolean isSingle, List listDict) { + if (isSingle && dictValue.contains(",")) { + return false; + } + int count = dictValue.split(",").length; + String value = this.translateDictValue(dictCode, dicText, dicTable, dictValue, listDict); + return value != null && value.split(",").length == count; + } + + /** + * 翻译字典文本 + * + * @param code 编码 + * @param text 值 + * @param listDict 字典集合 + */ + public String translateDictValue(String code, String text, List listDict) { + StringBuilder textValue = new StringBuilder(); + String tmpValue = null; + List listNew = listDict.stream().filter(o -> Objects.equals(o.getDictCode(), code) && Objects.equals(o.getItemText(), text.trim())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(listNew)) { + tmpValue = listNew.get(0).getItemValue(); + } + if (tmpValue != null) { + if (!"".contentEquals(textValue)) { + textValue.append(","); + } + textValue.append(tmpValue); + } + return textValue.toString(); + } + + /** + * 翻译字典文本 + * + * @param code 编码 + * @param text 值 + * @param table 表名 + * @param key 键 + * @param listDict 字典集合 + */ + public String translateDictValue(String code, String text, String table, String key, List listDict) { + if (oConvertUtils.isEmpty(key)) { + return null; + } + StringBuilder textValue = new StringBuilder(); + String[] keys = key.split(","); + for (String k : keys) { + String tmpValue = null; + if (k.trim().length() == 0) { + continue; //跳过循环 + } + if (!StringUtils.isEmpty(table)) { + tmpValue = commonAPI.queryTableDictTextByKey(table, text, code, k.trim()); + } else { + List listNew = listDict.stream().filter(o -> Objects.equals(o.getDictCode(), code) && Objects.equals(o.getItemValue(), k.trim())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(listNew)) { + tmpValue = listNew.get(0).getItemText(); + } + } + + if (tmpValue != null) { + if (!"".contentEquals(textValue)) { + textValue.append(","); + } + textValue.append(tmpValue); + } + } + return textValue.toString(); + } +}