From dc69433c0c9977b3dda4396a076dc0662d4d2ae9 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Wed, 15 Feb 2023 13:47:57 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B0=83=E6=95=B4=20?= =?UTF-8?q?=E8=87=AA=E6=B5=8B=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectAdjustmentController.java | 2 +- .../manage/ConstructionPlanManage.java | 2 + .../manage/DeclaredProjectManage.java | 9 +++++ .../manage/DefaultDeclaredProjectManage.java | 40 ++++++------------ .../PrequalificationDeclaredProjectManage.java | 2 + .../manage/ProjectAdjustmentManage.java | 11 ++++- .../model/dto/DeclaredProjectListParamDTO.java | 9 +++++ .../model/dto/DefaultDeclaredDTO.java | 4 ++ .../model/dto/ProjectDraftSaveDTO.java | 3 ++ .../utils/ReStartProcessMapUtil.java | 47 ++++++++++++++++++++++ .../model/dto/ProjectApplicationDTO.java | 10 ----- .../pmapi/projectlib/model/dto/ProjectDTO.java | 23 ----------- 12 files changed, 100 insertions(+), 62 deletions(-) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/utils/ReStartProcessMapUtil.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/controller/ProjectAdjustmentController.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/controller/ProjectAdjustmentController.java index 3fa4749..347328b 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/controller/ProjectAdjustmentController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/controller/ProjectAdjustmentController.java @@ -56,6 +56,6 @@ public class ProjectAdjustmentController { @PostMapping public String startTheProcess(@Validated @RequestBody DefaultDeclaredDTO dto) { String instanceId = projectAdjustmentManage.adjustment(dto); - return "建设方案申报 【" + instanceId + "】 成功"; + return "项目内容调整并且重新申报 【" + instanceId + "】 成功"; } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java index 83cad76..3f54677 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ConstructionPlanManage.java @@ -24,6 +24,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.Collections; @@ -57,6 +58,7 @@ public class ConstructionPlanManage { * @param dto * @return */ + @Transactional(rollbackFor = Exception.class) public String startTheProcess(DefaultDeclaredDTO dto) { ProjectDTO projectDto = dto.getProjectInfo(); VUtils.isTrue(Objects.isNull(projectDto.getId())).throwMessage("提交失败 缺少项目ID!"); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java index c720f05..ab6f90a 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java @@ -34,6 +34,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.Collections; @@ -65,6 +66,8 @@ public class DeclaredProjectManage { private final IProjectInstService projectInstService; + private final DefaultDeclaredProjectManage defaultDeclaredProjectManage; + public PageVo pageDraft(DeclaredProjectListParamDTO params) { Page page = params.page(); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(ProjectDraft.class) @@ -108,6 +111,7 @@ public class DeclaredProjectManage { * @param dto * @return */ + @Transactional(rollbackFor = Exception.class) public String startTheProcess(DefaultDeclaredDTO dto) { ProjectDTO projectInfo = dto.getProjectInfo(); String regionCode = projectInfo.getAreaCode(); @@ -122,6 +126,9 @@ public class DeclaredProjectManage { throw new BusinessException(String.format("此 【%s】区域找不到单位流程配置", regionCode)); } + //项目名称去重 + defaultDeclaredProjectManage.checkDuplication(projectInfo); + ProcessStartParamsVo params = new ProcessStartParamsVo(); params.setUser(dto.getUser()); params.setProcessUsers(Collections.emptyMap()); @@ -133,6 +140,7 @@ public class DeclaredProjectManage { }) ); params.setFormData(dto.getFormData()); + //开始申报 String instanceId = processService.startProcess(model.getProcessDefId(), params); log.info("申报项目成功 【{}】", instanceId); @@ -148,6 +156,7 @@ public class DeclaredProjectManage { * @param dto * @return */ + @Transactional(rollbackFor = Exception.class) public String reStartTheProcess(DefaultDeclaredDTO dto) { ProjectDTO projectDto = dto.getProjectInfo(); VUtils.isTrue(Objects.isNull(projectDto.getId())).throwMessage("提交失败 缺少项目ID!"); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DefaultDeclaredProjectManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DefaultDeclaredProjectManage.java index 25ca31f..a9e57b0 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DefaultDeclaredProjectManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/DefaultDeclaredProjectManage.java @@ -1,14 +1,14 @@ package com.ningdatech.pmapi.projectdeclared.manage; -import com.google.common.collect.Maps; -import com.ningdatech.pmapi.projectdeclared.model.dto.DefaultDeclaredDTO; -import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ningdatech.basic.function.VUtils; +import com.ningdatech.pmapi.projectlib.model.dto.ProjectDTO; +import com.ningdatech.pmapi.projectlib.model.entity.Project; +import com.ningdatech.pmapi.projectlib.service.IProjectService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import java.util.Map; -import java.util.function.Function; +import java.util.Objects; /** * @Classname DefaultDeclaredProjectManage @@ -22,28 +22,14 @@ import java.util.function.Function; @RequiredArgsConstructor public class DefaultDeclaredProjectManage { - private final DeclaredProjectManage declaredProjectManage; + private final IProjectService projectService; - private final ConstructionPlanManage constructionPlanManage; - private final PrequalificationDeclaredProjectManage prequalificationDeclaredProjectManage; - public Map> startProcessMap = Maps.newHashMap(); - - /** - * 初始化业务分派逻辑,代替了if-else部分 - * key: 枚举 状态值 - * value: lambda表达式,最终会获取发起实例的函数 - */ - @PostConstruct - public void startProcessInit(){ - startProcessMap.put(ProjectStatusEnum.UNDER_INTERNAL_AUDIT_NOT_PASS.getCode(), - dto->declaredProjectManage.reStartTheProcess(dto)); - startProcessMap.put(ProjectStatusEnum.SCHEME_REVIEW_FAILED.getCode(), - dto->constructionPlanManage.startTheProcess(dto)); - startProcessMap.put(ProjectStatusEnum.PREQUALIFICATION_FAILED.getCode(), - dto->prequalificationDeclaredProjectManage.startTheProcess(dto)); - startProcessMap.put(ProjectStatusEnum.THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED.getCode(), - dto->null); + //项目名称去重 + public void checkDuplication(ProjectDTO project){ + VUtils.isTrue(projectService.count(Wrappers.lambdaQuery(Project.class) + .eq(Project::getProjectName,project.getProjectName()) + .ne(Objects.nonNull(project.getId()),Project::getId,project.getId())) > 0) + .throwMessage(String.format("修改失败 此项目名 【%s】 已存在!",project.getProjectName())); } - } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/PrequalificationDeclaredProjectManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/PrequalificationDeclaredProjectManage.java index 27546d1..9819482 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/PrequalificationDeclaredProjectManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/PrequalificationDeclaredProjectManage.java @@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.Collections; @@ -57,6 +58,7 @@ public class PrequalificationDeclaredProjectManage { * @param dto * @return */ + @Transactional(rollbackFor = Exception.class) public String startTheProcess(DefaultDeclaredDTO dto) { ProjectDTO projectDto = dto.getProjectInfo(); VUtils.isTrue(Objects.isNull(projectDto.getId())).throwMessage("提交失败 缺少项目ID!"); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java index d04702e..ac602d1 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ningdatech.basic.function.VUtils; import com.ningdatech.pmapi.projectdeclared.model.dto.DefaultDeclaredDTO; +import com.ningdatech.pmapi.projectdeclared.utils.ReStartProcessMapUtil; import com.ningdatech.pmapi.projectlib.model.dto.ProjectDTO; import com.ningdatech.pmapi.projectlib.model.entity.Project; import com.ningdatech.pmapi.projectlib.model.entity.ProjectApplication; @@ -14,6 +15,8 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + import java.time.LocalDateTime; import java.util.List; import java.util.Objects; @@ -35,6 +38,8 @@ public class ProjectAdjustmentManage { private final IProjectApplicationService projectApplicationService; + private final ReStartProcessMapUtil reStartProcessMapUtil; + private final DefaultDeclaredProjectManage defaultDeclaredProjectManage; /** @@ -42,12 +47,16 @@ public class ProjectAdjustmentManage { * @param dto * @return */ + @Transactional(rollbackFor = Exception.class) public String adjustment(DefaultDeclaredDTO dto) { ProjectDTO projectDto = dto.getProjectInfo(); Project projectInfo = projectService.getById(projectDto.getId()); VUtils.isTrue(Objects.isNull(projectInfo)).throwMessage("调整失败 此项目不存在!"); + //项目名称去重 + defaultDeclaredProjectManage.checkDuplication(projectDto); + //先修改项目信息 Project project = new Project(); BeanUtils.copyProperties(projectDto,project); @@ -72,7 +81,7 @@ public class ProjectAdjustmentManage { //最后去重新 提交项目流程 不同的状态 提交到不同的工作流去 Function declaredFunction = - defaultDeclaredProjectManage.startProcessMap.get(project.getStatus()); + reStartProcessMapUtil.reStartProcessMap.get(projectInfo.getStatus()); VUtils.isTrue(Objects.isNull(declaredFunction)).throwMessage("状态不正常 没有找到对应申报函数!"); return declaredFunction.apply(dto); } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DeclaredProjectListParamDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DeclaredProjectListParamDTO.java index 3c0b86c..90782f7 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DeclaredProjectListParamDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DeclaredProjectListParamDTO.java @@ -1,6 +1,7 @@ package com.ningdatech.pmapi.projectdeclared.model.dto; import com.ningdatech.basic.model.PagePo; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -19,21 +20,29 @@ import org.springframework.format.annotation.DateTimeFormat; @AllArgsConstructor public class DeclaredProjectListParamDTO extends PagePo { + @ApiModelProperty("用户ID") private String userId; + @ApiModelProperty("项目名称") private String projectName; + @ApiModelProperty("项目类型 1建设 2运维") private Integer projectType; + @ApiModelProperty("项目阶段") private Integer projectStage; + @ApiModelProperty("项目状态") private Integer projectStatus; + @ApiModelProperty("项目年份") private Integer projectYear; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("开始时间") private String startTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty("结束时间") private String endTime; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DefaultDeclaredDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DefaultDeclaredDTO.java index 71a81f1..67ed087 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DefaultDeclaredDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/DefaultDeclaredDTO.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.google.common.collect.Maps; import com.ningdatech.pmapi.projectlib.model.dto.ProjectDTO; import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -24,11 +25,14 @@ import java.util.Map; public class DefaultDeclaredDTO implements Serializable { @NotNull + @ApiModelProperty("项目信息") private ProjectDTO projectInfo; + @ApiModelProperty("表单信息 保留") private Map formData; @NotNull + @ApiModelProperty("用户信息 暂时填一下") private ProcessInstanceUserDto user; public Map getFormData(){ diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/ProjectDraftSaveDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/ProjectDraftSaveDTO.java index ec7c809..28eec9d 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/ProjectDraftSaveDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/model/dto/ProjectDraftSaveDTO.java @@ -3,6 +3,7 @@ package com.ningdatech.pmapi.projectdeclared.model.dto; import com.ningdatech.pmapi.projectlib.model.dto.ProjectDTO; import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.*; import javax.validation.constraints.NotNull; import java.io.Serializable; @@ -26,9 +27,11 @@ public class ProjectDraftSaveDTO implements Serializable { private static final long serialVersionUID = 1L; @NotNull + @ApiModelProperty("项目信息") private ProjectDTO projectInfo; @NotNull + @ApiModelProperty("用户信息") private ProcessInstanceUserDto user; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/utils/ReStartProcessMapUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/utils/ReStartProcessMapUtil.java new file mode 100644 index 0000000..801f1d7 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/utils/ReStartProcessMapUtil.java @@ -0,0 +1,47 @@ +package com.ningdatech.pmapi.projectdeclared.utils; + +import com.google.common.collect.Maps; +import com.ningdatech.pmapi.projectdeclared.manage.ConstructionPlanManage; +import com.ningdatech.pmapi.projectdeclared.manage.DeclaredProjectManage; +import com.ningdatech.pmapi.projectdeclared.manage.PrequalificationDeclaredProjectManage; +import com.ningdatech.pmapi.projectdeclared.model.dto.DefaultDeclaredDTO; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; +import java.util.Map; +import java.util.function.Function; + +/** + * @Classname ReSubmitProcessMap + * @Description 项目调整 重新提交时的 事件函数MAP + * @Date 2023/2/15 11:19 + * @Author PoffyZhang + */ +@Component +@RequiredArgsConstructor +public class ReStartProcessMapUtil { + private final DeclaredProjectManage declaredProjectManage; + + private final ConstructionPlanManage constructionPlanManage; + + private final PrequalificationDeclaredProjectManage prequalificationDeclaredProjectManage; + public Map> reStartProcessMap = Maps.newHashMap(); + /** + * 初始化业务分派逻辑,代替了if-else部分 + * key: 枚举 状态值 + * value: lambda表达式,最终会获取发起实例的函数 + */ + @PostConstruct + public void reStartProcessInit(){ + reStartProcessMap.put(ProjectStatusEnum.UNDER_INTERNAL_AUDIT_NOT_PASS.getCode(), + dto->declaredProjectManage.reStartTheProcess(dto)); + reStartProcessMap.put(ProjectStatusEnum.SCHEME_REVIEW_FAILED.getCode(), + dto->constructionPlanManage.startTheProcess(dto)); + reStartProcessMap.put(ProjectStatusEnum.PREQUALIFICATION_FAILED.getCode(), + dto->prequalificationDeclaredProjectManage.startTheProcess(dto)); + reStartProcessMap.put(ProjectStatusEnum.THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED.getCode(), + dto->null); + } +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectApplicationDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectApplicationDTO.java index a256131..b03528b 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectApplicationDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectApplicationDTO.java @@ -36,12 +36,6 @@ public class ProjectApplicationDTO implements Serializable { @ApiModelProperty("创建时间") private LocalDateTime createOn; - @ApiModelProperty("更新时间") - private LocalDateTime updateOn; - - @ApiModelProperty("删除时间") - private LocalDateTime deleteOn; - @ApiModelProperty("关联IRS现有应用") private String relatedExistsApplication; @@ -162,8 +156,4 @@ public class ProjectApplicationDTO implements Serializable { @ApiModelProperty("试点文件") private String experimentsFile; - private Long createBy; - - private Long updateBy; - } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java index 7af7871..666b2c0 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java @@ -34,12 +34,6 @@ public class ProjectDTO implements Serializable { @ApiModelProperty("所属地区名称") private String area; - @ApiModelProperty("项目阶段") - private Integer stage; - - @ApiModelProperty("项目状态") - private Integer status; - @ApiModelProperty("项目名称") private String projectName; @@ -231,13 +225,6 @@ public class ProjectDTO implements Serializable { @ApiModelProperty("一地创新全省共享项目-是否开启 false:关闭 true:开启") private Boolean isInnovateWholeProvinceShare; - private LocalDateTime createOn; - - private LocalDateTime updateOn; - - @ApiModelProperty("流程实例编号") - private String instCode; - @ApiModelProperty("安全投入-模块信息") private String safetyInputModular; @@ -274,12 +261,6 @@ public class ProjectDTO implements Serializable { @ApiModelProperty("前端所需验证字段") private Integer allApplicationsDone; - @ApiModelProperty("流程实例id") - private String processInsId; - - @ApiModelProperty("流程实例 formId") - private String formId; - @ApiModelProperty("项目应用实例") private List applicationList; @@ -289,8 +270,4 @@ public class ProjectDTO implements Serializable { @ApiModelProperty("动态表单 json") private Map dynamicForm; - private Long createBy; - - private Long updateBy; - } From dde6d5b0936a8324e420c05d3110b5b0c191cb44 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Wed, 15 Feb 2023 14:14:21 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=B0=83=E6=95=B4=20?= =?UTF-8?q?=E8=87=AA=E6=B5=8B=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/ProjectAdjustmentManage.java | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java index ac602d1..a36f1d2 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/manage/ProjectAdjustmentManage.java @@ -57,6 +57,19 @@ public class ProjectAdjustmentManage { //项目名称去重 defaultDeclaredProjectManage.checkDuplication(projectDto); + //修改项目内容 + if(!modifyProject(projectDto)){ + throw new BusinessException("调整项目失败!"); + } + + //最后去重新 提交项目流程 不同的状态 提交到不同的工作流去 + Function declaredFunction = + reStartProcessMapUtil.reStartProcessMap.get(projectInfo.getStatus()); + VUtils.isTrue(Objects.isNull(declaredFunction)).throwMessage("状态不正常 没有找到对应申报函数!"); + return declaredFunction.apply(dto); + } + + private Boolean modifyProject(ProjectDTO projectDto) { //先修改项目信息 Project project = new Project(); BeanUtils.copyProperties(projectDto,project); @@ -78,11 +91,6 @@ public class ProjectAdjustmentManage { }).collect(Collectors.toList()); projectApplicationService.saveBatch(applications); } - - //最后去重新 提交项目流程 不同的状态 提交到不同的工作流去 - Function declaredFunction = - reStartProcessMapUtil.reStartProcessMap.get(projectInfo.getStatus()); - VUtils.isTrue(Objects.isNull(declaredFunction)).throwMessage("状态不正常 没有找到对应申报函数!"); - return declaredFunction.apply(dto); + return Boolean.TRUE; } } From 65ca2a69b2a7a300a75feb5b436f4f5e955a5c34 Mon Sep 17 00:00:00 2001 From: liuxinxin Date: Wed, 15 Feb 2023 15:40:27 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=BB=84=E7=BB=87=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ningdatech/pmapi/ding/task/EmployeeBatchGetTask.java | 9 +++++++-- .../pmapi/organization/model/entity/DingEmployeeInfo.java | 2 +- .../ningdatech/pmapi/organization/OrganizationTest.java | 14 +++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/ding/task/EmployeeBatchGetTask.java b/pmapi/src/main/java/com/ningdatech/pmapi/ding/task/EmployeeBatchGetTask.java index 9eb8877..4798e83 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/ding/task/EmployeeBatchGetTask.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/ding/task/EmployeeBatchGetTask.java @@ -19,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -75,7 +76,8 @@ public class EmployeeBatchGetTask { } Long totalSize = data.getTotalSize(); if (totalSize > PAGE_SIZE) { - int maxPageNo = (int) Math.ceil(totalSize / PAGE_SIZE); + int restPageNo = totalSize % PAGE_SIZE > 0 ? 1 : 0; + int maxPageNo = (int) Math.ceil(totalSize / PAGE_SIZE) + restPageNo; for (pageNo = 2; pageNo <= maxPageNo; pageNo++) { query.setPageNo(maxPageNo); GenericResult> pageGenericResult = zwddClient.pageOrganizationEmployeePositions(query); @@ -99,7 +101,6 @@ public class EmployeeBatchGetTask { saveBatch(dingEmployeeInfoSaveRecordList); } } - } @@ -137,6 +138,10 @@ public class EmployeeBatchGetTask { dingEmployeeInfo.setOrganizationCode(govEmployeePosition.getOrganizationCode()); dingEmployeeInfo.setEmpPosVirtualOrganizationCode(govEmployeePosition.getEmpPosVirtualOrganizationCode()); dingEmployeeInfo.setEmpStatus(govEmployeePosition.getStatus()); + dingEmployeeInfo.setCreateOn(LocalDateTime.now()); + dingEmployeeInfo.setUpdateOn(LocalDateTime.now()); + dingEmployeeInfo.setCreateBy(-1L); + dingEmployeeInfo.setUpdateBy(-1L); segmentSaveRecordList.add(dingEmployeeInfo); } saveRecordList.addAll(segmentSaveRecordList); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/entity/DingEmployeeInfo.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/entity/DingEmployeeInfo.java index 5513659..0be2019 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/entity/DingEmployeeInfo.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/model/entity/DingEmployeeInfo.java @@ -32,7 +32,7 @@ public class DingEmployeeInfo implements Serializable { private Long updateBy; - private String emplyeeName; + private String employeeName; private String gmtCreate; diff --git a/pmapi/src/test/java/com/ningdatech/pmapi/organization/OrganizationTest.java b/pmapi/src/test/java/com/ningdatech/pmapi/organization/OrganizationTest.java index 9602f50..9a0fd88 100644 --- a/pmapi/src/test/java/com/ningdatech/pmapi/organization/OrganizationTest.java +++ b/pmapi/src/test/java/com/ningdatech/pmapi/organization/OrganizationTest.java @@ -1,7 +1,7 @@ package com.ningdatech.pmapi.organization; import com.ningdatech.pmapi.AppTests; -//import com.ningdatech.pmapi.ding.task.EmployeeBatchGetTask; +import com.ningdatech.pmapi.ding.task.EmployeeBatchGetTask; import com.ningdatech.pmapi.ding.task.OrganizationBatchGetTask; import com.ningdatech.zwdd.client.ZwddAuthClient; import com.ningdatech.zwdd.client.ZwddClient; @@ -24,17 +24,17 @@ class OrganizationTest extends AppTests { @Autowired private OrganizationBatchGetTask organizationBatchGetTask; -// @Autowired -// private EmployeeBatchGetTask employeeBatchGetTask; + @Autowired + private EmployeeBatchGetTask employeeBatchGetTask; @Test public void testBatchGetOrganization() { organizationBatchGetTask.batchGetOrganizationTask(); } -// @Test -// public void testEmployeeBatchGetTask(){ -// employeeBatchGetTask.batchGetEmployeeTask(); -// } + @Test + public void testEmployeeBatchGetTask(){ + employeeBatchGetTask.batchGetEmployeeTask(); + } } From f7e4496d1d70624a2a364f69b33addd1822b06de Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Wed, 15 Feb 2023 15:55:48 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E7=BB=AD=E5=BB=BA=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectRenewalApprovalStatusEnum.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java new file mode 100644 index 0000000..7041354 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java @@ -0,0 +1,29 @@ +package com.ningdatech.pmapi.projectlib.enumeration; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; + +/** + *

+ * ProjectRenewalApprovalStatusEnum + *

+ * + * @author Poffy + * @since 16:54 2023/2/11 + */ +@Getter +@AllArgsConstructor +@NoArgsConstructor +public enum ProjectRenewalApprovalStatusEnum { + /** + * 续建项目 审核状态 + * 审核中 + * 通过 + * 不通过 + */ + PENDING, + PASS, + NOT_PASS; + +} From eb3bb1c79763b0c8269c34661ceb38a5865dc424 Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Wed, 15 Feb 2023 16:05:36 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=BB=AD=E5=BB=BA=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java index 7041354..6a4ab6a 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectRenewalApprovalStatusEnum.java @@ -1,8 +1,5 @@ package com.ningdatech.pmapi.projectlib.enumeration; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; /** *

@@ -12,9 +9,6 @@ import lombok.NoArgsConstructor; * @author Poffy * @since 16:54 2023/2/11 */ -@Getter -@AllArgsConstructor -@NoArgsConstructor public enum ProjectRenewalApprovalStatusEnum { /** * 续建项目 审核状态