From 4a3e081b692dad33aa1104ff3ad77b3b3b93c5ad Mon Sep 17 00:00:00 2001 From: WendyYang Date: Sat, 11 Feb 2023 15:10:11 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E9=87=8D=E5=91=BD?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/projectlib/manage/AnnualPlanLibManage.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java index e4e3663..98bed68 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java @@ -1,5 +1,10 @@ package com.ningdatech.pmapi.projectlib.manage; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ningdatech.pmapi.projectlib.helper.ProjectHelper; +import com.ningdatech.pmapi.projectlib.model.entity.Project; +import com.ningdatech.pmapi.projectlib.model.req.ProjectListReq; import com.ningdatech.pmapi.projectlib.service.IProjectService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; @@ -18,8 +23,9 @@ public class AnnualPlanLibManage { private final IProjectService projectService; - public void annulPlanLibList() { - + public void annulPlanLibList(ProjectListReq req) { + LambdaQueryWrapper query = ProjectHelper.projectQuery(req); + Page page = projectService.page(req.page(), query); } } From bed4d5c0ac7ef57633e3216c3a5325e136a1e67c Mon Sep 17 00:00:00 2001 From: PoffyZhang <99775271@qq.com> Date: Sat, 11 Feb 2023 15:32:05 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=A1=B9=E7=9B=AE=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/dto/DeclaredProjectDto.java | 10 +++++ .../entity/dto/ProjectConditionDto.java | 35 +++++++++++++++++ .../manage/DeclaredProjectManage.java | 44 ++++++++++++++++++---- .../model/entity/ProjectApplication.java | 2 +- 4 files changed, 82 insertions(+), 9 deletions(-) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/ProjectConditionDto.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/DeclaredProjectDto.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/DeclaredProjectDto.java index 44ce29e..9692307 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/DeclaredProjectDto.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/DeclaredProjectDto.java @@ -1,5 +1,7 @@ package com.ningdatech.pmapi.projectdeclared.entity.dto; +import cn.hutool.core.collection.CollUtil; +import com.google.common.collect.Maps; import com.ningdatech.pmapi.projectlib.model.dto.ProjectDto; import com.ningdatech.pmapi.projectlib.model.entity.Project; import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; @@ -35,4 +37,12 @@ public class DeclaredProjectDto implements Serializable { @NotNull private ProcessInstanceUserDto user; + + public Map getFormData(){ + if(CollUtil.isNotEmpty(this.formData)){ + this.formData = Maps.newHashMap(); + return this.formData; + } + return this.formData; + } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/ProjectConditionDto.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/ProjectConditionDto.java new file mode 100644 index 0000000..4e60030 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/entity/dto/ProjectConditionDto.java @@ -0,0 +1,35 @@ +package com.ningdatech.pmapi.projectdeclared.entity.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @Classname DeclaredProjectDto + * @Description 申报项目 里的条件判断实体 + * @Date 2023/2/1 14:52 + * @Author PoffyZhang + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ProjectConditionDto implements Serializable { + + private Long projectId; + + @ApiModelProperty("申报金额") + private BigDecimal declareAmount; + + @ApiModelProperty("是否临时增补 0:否 1:是") + private Integer isTemporaryAugment; + + @ApiModelProperty("是否数字化改革项目 0:否 1:是") + private Integer isDigitalReform; + + +} 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 0930cd2..65f1418 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 @@ -1,5 +1,6 @@ package com.ningdatech.pmapi.projectdeclared.manage; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -10,12 +11,14 @@ import com.ningdatech.pmapi.common.enums.ProjectProessStageEnum; import com.ningdatech.pmapi.projectdeclared.entity.ProjectDraft; import com.ningdatech.pmapi.projectdeclared.entity.dto.DeclaredProjectDto; import com.ningdatech.pmapi.projectdeclared.entity.dto.DeclaredProjectListParamDto; +import com.ningdatech.pmapi.projectdeclared.entity.dto.ProjectConditionDto; import com.ningdatech.pmapi.projectdeclared.entity.dto.ProjectDraftSaveDto; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDeclaredDetailVO; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDeclaredListItemVO; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDraftVo; import com.ningdatech.pmapi.projectdeclared.service.IProjectDraftService; import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.model.dto.ProjectDto; import com.ningdatech.pmapi.projectlib.model.entity.Project; import com.ningdatech.pmapi.projectlib.model.entity.ProjectApplication; import com.ningdatech.pmapi.projectlib.service.IProjectApplicationService; @@ -144,17 +147,34 @@ public class DeclaredProjectManage { params.setUser(dto.getUser()); params.setProcessUsers(Collections.emptyMap()); //放入条件判断的项目字段 - dto.getFormData().putAll( - JSON.parseObject(JSON.toJSONString(dto.getProjectInfo()), new TypeReference>() { - })); + ProjectConditionDto conditionDto = new ProjectConditionDto(); + BeanUtils.copyProperties(dto.getProjectInfo(),conditionDto); + if(Objects.nonNull(conditionDto)){ + dto.getFormData().putAll( + JSON.parseObject(JSON.toJSONString(conditionDto), new TypeReference>() {}) + ); + } params.setFormData(dto.getFormData()); - String instanceId = processService.startProcess(model.getProcessDefId(), params); + String instanceId = processService.startProcess(model.getProcessDefId(), params); log.info("申报项目成功 【{}】",instanceId); + //保存项目 + saveProject(dto.getProjectInfo(),instanceId,regionCode); + + return instanceId; + } + + /** + * 申报项目 时 新增项目到项目库 + * @param projectDto + * @param instanceId + */ + private void saveProject(ProjectDto projectDto,String instanceId,String regionCode) { //流程启动之后 入库项目 重要业务信息 用于列表查询 展示 try{ + //保存项目表信息 Project project = new Project(); - BeanUtils.copyProperties(dto.getProjectInfo(),project); + BeanUtils.copyProperties(projectDto,project); project.setCreateOn(LocalDateTime.now()); project.setUpdateOn(LocalDateTime.now()); project.setAreaCode(regionCode); @@ -162,12 +182,20 @@ public class DeclaredProjectManage { project.setStatus(ProjectStatusEnum.UNDER_INTERNAL_AUDIT.getCode()); project.setInstCode(instanceId); projectService.save(project); + //保存项目应用 + if(CollUtil.isNotEmpty(projectDto.getApplicationList())){ + List applications = projectDto.getApplicationList().stream().map(application -> { + ProjectApplication projectApplication = new ProjectApplication(); + BeanUtils.copyProperties(application, projectApplication); + projectApplication.setProjectId(project.getId()); + return projectApplication; + }).collect(Collectors.toList()); + projectApplicationService.saveBatch(applications); + } }catch (Exception e){ log.error("项目信息入库错误 ",e); - throw new BusinessException("项目信息入库错误 请注意格式"); + throw new BusinessException("项目信息入库错误 :" + e.getMessage()); } - - return instanceId; } /** diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/entity/ProjectApplication.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/entity/ProjectApplication.java index 8916463..1e9e569 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/entity/ProjectApplication.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/entity/ProjectApplication.java @@ -29,7 +29,7 @@ public class ProjectApplication implements Serializable { private Long id; @ApiModelProperty("项目ID") - private String projectId; + private Long projectId; @ApiModelProperty("是否初次建设 0否 1是") private Integer isFirst; From 56d41d84fb6716b1dfaf811aa26cde2add825275 Mon Sep 17 00:00:00 2001 From: liuxinxin Date: Sat, 11 Feb 2023 15:35:19 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=B5=99=E6=94=BF=E9=92=89=E5=91=98?= =?UTF-8?q?=E5=B7=A5=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/GeneratorCodeKingbaseConfig.java | 2 +- .../pmapi/ding/task/EmployeeBatchGetTask.java | 10 ++- .../controller/DingEmployeeInfoController.java | 20 ++++++ .../organization/entity/DingEmployeeInfo.java | 71 ++++++++++++++++++++++ .../mapper/DingEmployeeInfoMapper.java | 16 +++++ .../organization/mapper/DingEmployeeInfoMapper.xml | 5 ++ .../service/IDingEmployeeInfoService.java | 16 +++++ .../service/impl/DingEmployeeInfoServiceImpl.java | 20 ++++++ 8 files changed, 153 insertions(+), 7 deletions(-) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingEmployeeInfoController.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/organization/entity/DingEmployeeInfo.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.xml create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingEmployeeInfoService.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingEmployeeInfoServiceImpl.java diff --git a/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java b/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java index fe5ff53..e326099 100644 --- a/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java +++ b/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java @@ -56,7 +56,7 @@ public class GeneratorCodeKingbaseConfig { } public static void main(String[] args) { - generate("Lierbao", "signature", PATH_LXX, "nd_company_signature"); + generate("Lierbao", "organization", PATH_LXX, "ding_employee_info"); } } 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 279b65f..ab797aa 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 @@ -10,6 +10,7 @@ import com.ningdatech.zwdd.model.Page; import com.ningdatech.zwdd.model.query.PageOrganizationEmployeePositionsQuery; import com.ningdatech.zwdd.model.response.OrganizationEmployeePosition; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; @@ -20,6 +21,7 @@ import java.util.List; * @date 2023/2/10 上午9:52 */ +@Component public class EmployeeBatchGetTask { private final static Integer PAGE_SIZE = 20; @@ -48,27 +50,23 @@ public class EmployeeBatchGetTask { GenericResult> firstPageGenericResult = zwddClient.pageOrganizationEmployeePositions(query); Page data = firstPageGenericResult.getData(); - if (CollUtil.isNotEmpty(data.getData())) { allOrganizationEmployeePositionList.addAll(data.getData()); } - Long totalSize = data.getTotalSize(); if (totalSize > PAGE_SIZE) { int maxPageNo = (int) Math.ceil(totalSize / PAGE_SIZE); for (pageNo = 2; pageNo <= maxPageNo; pageNo++) { query.setPageNo(maxPageNo); GenericResult> pageGenericResult = zwddClient.pageOrganizationEmployeePositions(query); - if (CollUtil.isNotEmpty(pageGenericResult.getData().getData())) { allOrganizationEmployeePositionList.addAll(pageGenericResult.getData().getData()); - } } - } else { - } + + } // zwddClient.pageOrganizationEmployeePositions(query); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingEmployeeInfoController.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingEmployeeInfoController.java new file mode 100644 index 0000000..46358ef --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/controller/DingEmployeeInfoController.java @@ -0,0 +1,20 @@ +package com.ningdatech.pmapi.organization.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 前端控制器 + *

+ * + * @author Lierbao + * @since 2023-02-11 + */ +@Controller +@RequestMapping("/pmapi.organization/ding-employee-info") +public class DingEmployeeInfoController { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/entity/DingEmployeeInfo.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/entity/DingEmployeeInfo.java new file mode 100644 index 0000000..f844808 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/entity/DingEmployeeInfo.java @@ -0,0 +1,71 @@ +package com.ningdatech.pmapi.organization.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author Lierbao + * @since 2023-02-11 + */ +@TableName("ding_employee_info") +@Data +@ApiModel(value = "DingEmployeeInfo对象", description = "") +public class DingEmployeeInfo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Long id; + + private LocalDateTime createOn; + + private LocalDateTime updateOn; + + private Long createBy; + + private Long updateBy; + + private String emplyeeName; + + private String gmtCreate; + + private String empGender; + + private String empPoliticalStatusCode; + + private String empJobLevelCode; + + private String empBudgetedPostCode; + + private String status; + + private String posJobRankCode; + + private String orderInOrganization; + + private String mainJob; + + private String empPosUnitCode; + + private String empPosEmployeeRoleCode; + + private String empPosInnerInstitutionCode; + + private String employeeCode; + + private String jobAttributesCode; + + private String organizationCode; + + private String empPosVirtualOrganizationCode; + + private String empStatus; + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.java new file mode 100644 index 0000000..d82ff5a --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.java @@ -0,0 +1,16 @@ +package com.ningdatech.pmapi.organization.mapper; + +import com.ningdatech.pmapi.organization.entity.DingEmployeeInfo; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author Lierbao + * @since 2023-02-11 + */ +public interface DingEmployeeInfoMapper extends BaseMapper { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.xml b/pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.xml new file mode 100644 index 0000000..138e8ff --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/mapper/DingEmployeeInfoMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingEmployeeInfoService.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingEmployeeInfoService.java new file mode 100644 index 0000000..13d78c9 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/IDingEmployeeInfoService.java @@ -0,0 +1,16 @@ +package com.ningdatech.pmapi.organization.service; + +import com.ningdatech.pmapi.organization.entity.DingEmployeeInfo; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author Lierbao + * @since 2023-02-11 + */ +public interface IDingEmployeeInfoService extends IService { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingEmployeeInfoServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingEmployeeInfoServiceImpl.java new file mode 100644 index 0000000..14803e8 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/organization/service/impl/DingEmployeeInfoServiceImpl.java @@ -0,0 +1,20 @@ +package com.ningdatech.pmapi.organization.service.impl; + +import com.ningdatech.pmapi.organization.entity.DingEmployeeInfo; +import com.ningdatech.pmapi.organization.mapper.DingEmployeeInfoMapper; +import com.ningdatech.pmapi.organization.service.IDingEmployeeInfoService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author Lierbao + * @since 2023-02-11 + */ +@Service +public class DingEmployeeInfoServiceImpl extends ServiceImpl implements IDingEmployeeInfoService { + +} From f6e264a02e923079110d34714728d47fd19f4767 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Sat, 11 Feb 2023 17:09:41 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=BA=93=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statemachine/action/ProjectDeclareAction.java | 162 ++++++++++++--------- .../action/ProjectDeclareChoiceAction.java | 2 +- .../builder/ProjectDeclareStateMachineBuilder.java | 4 +- .../event/ProjectStatusChangeEvent.java | 93 ++++++------ .../factory/ProjectDeclareGuardFactory.java | 2 +- .../statemachine/util/StateMachineUtils.java | 22 +-- .../manage/DeclaredProjectManage.java | 3 +- .../controller/AnnualPlanController.java | 15 ++ .../projectlib/enumeration/ProjectStatusEnum.java | 90 ++++++++++++ .../projectlib/enumeration/ProjectTypeEnum.java | 42 ++++++ .../pmapi/projectlib/enums/ProjectStatusEnum.java | 70 --------- .../pmapi/projectlib/enums/ProjectTypeEnum.java | 34 ----- .../projectlib/manage/AnnualPlanLibManage.java | 57 +++++++- .../projectlib/model/vo/AnnualPlanListItemVO.java | 50 +++++++ .../pmapi/statemachine/StateMachineTest.java | 2 +- .../pmapi/sys/project/ProjectStateTest.java | 2 +- 16 files changed, 409 insertions(+), 241 deletions(-) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectStatusEnum.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectTypeEnum.java delete mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectStatusEnum.java delete mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectTypeEnum.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/vo/AnnualPlanListItemVO.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareAction.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareAction.java index 7204bbc..8933e91 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareAction.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareAction.java @@ -4,7 +4,7 @@ import com.ningdatech.pmapi.common.constant.StateMachineHeaderNameConstants; import com.ningdatech.pmapi.common.statemachine.builder.ProjectDeclareStateMachineBuilder; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import lombok.extern.slf4j.Slf4j; import org.springframework.messaging.Message; @@ -25,153 +25,169 @@ public class ProjectDeclareAction { private static final String PROJECT_DECLARE = StateMachineHeaderNameConstants.PROJECT_DECLARE; - @OnTransition(source = "UNDER_INTERNAL_AUDIT",target = "PENDING_PREQUALIFICATION") - public void UNDER_INTERNAL_PASS(Message message){ + @OnTransition(source = "UNDER_INTERNAL_AUDIT", target = "PENDING_PREQUALIFICATION") + public void UNDER_INTERNAL_PASS(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PENDING_PREQUALIFICATION.getCode()); } - @OnTransition(source = "UNDER_INTERNAL_AUDIT",target = "UNDER_INTERNAL_AUDIT_NOT_PASS") - public void UNDER_INTERNAL_REJECT(Message message){ + + @OnTransition(source = "UNDER_INTERNAL_AUDIT", target = "UNDER_INTERNAL_AUDIT_NOT_PASS") + public void UNDER_INTERNAL_REJECT(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.UNDER_INTERNAL_AUDIT_NOT_PASS.getCode()); } - @OnTransition(source = "UNDER_INTERNAL_AUDIT",target = "TO_BE_DECLARED") - public void UNDER_INTERNAL_WITHDRAW(Message message){ + + @OnTransition(source = "UNDER_INTERNAL_AUDIT", target = "TO_BE_DECLARED") + public void UNDER_INTERNAL_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.TO_BE_DECLARED.getCode()); } - @OnTransition(source = "PENDING_PREQUALIFICATION",target = "PENDING_PREQUALIFICATION_CHOICE") - public void PRELIMINARY_REVIEW_DECLARE(Message message){ + @OnTransition(source = "PENDING_PREQUALIFICATION", target = "PENDING_PREQUALIFICATION_CHOICE") + public void PRELIMINARY_REVIEW_DECLARE(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PENDING_PREQUALIFICATION_CHOICE.getCode()); } - @OnTransition(source = "PENDING_PREQUALIFICATION",target = "UNDER_INTERNAL_AUDIT") - public void PENDING_PREQUALIFICATION_WITHDRAW(Message message){ + + @OnTransition(source = "PENDING_PREQUALIFICATION", target = "UNDER_INTERNAL_AUDIT") + public void PENDING_PREQUALIFICATION_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.UNDER_INTERNAL_AUDIT.getCode()); } - @OnTransition(source = "JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS",target = "PRE_APPLYING") - public void PROVINCIAL_DEPARTMENT_REVIEW_PASS(Message message){ + @OnTransition(source = "JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS", target = "PRE_APPLYING") + public void PROVINCIAL_DEPARTMENT_REVIEW_PASS(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PRE_APPLYING.getCode()); } - @OnTransition(source = "JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS",target = "THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED") - public void PROVINCIAL_DEPARTMENT_REVIEW_REJECT(Message message){ + + @OnTransition(source = "JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS", target = "THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED") + public void PROVINCIAL_DEPARTMENT_REVIEW_REJECT(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED.getCode()); } - @OnTransition(source = "JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS",target = "PENDING_PREQUALIFICATION") - public void JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS_WITHDRAW(Message message){ + + @OnTransition(source = "JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS", target = "PENDING_PREQUALIFICATION") + public void JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PENDING_PREQUALIFICATION.getCode()); } - @OnTransition(source = "PRE_APPLYING",target = "DEPARTMENT_JOINT_REVIEW") - public void PRELIMINARY_REVIEW_PASS(Message message){ + @OnTransition(source = "PRE_APPLYING", target = "DEPARTMENT_JOINT_REVIEW") + public void PRELIMINARY_REVIEW_PASS(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.DEPARTMENT_JOINT_REVIEW.getCode()); } - @OnTransition(source = "PRE_APPLYING",target = "PREQUALIFICATION_FAILED") - public void PRELIMINARY_REVIEW_REJECT(Message message){ + + @OnTransition(source = "PRE_APPLYING", target = "PREQUALIFICATION_FAILED") + public void PRELIMINARY_REVIEW_REJECT(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PREQUALIFICATION_FAILED.getCode()); } - @OnTransition(source = "PRE_APPLYING",target = "PENDING_PREQUALIFICATION_CHOICE") - public void PRE_APPLYING_WITHDRAW(Message message){ + + @OnTransition(source = "PRE_APPLYING", target = "PENDING_PREQUALIFICATION_CHOICE") + public void PRE_APPLYING_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PENDING_PREQUALIFICATION_CHOICE.getCode()); } - @OnTransition(source = "DEPARTMENT_JOINT_REVIEW",target = "IN_THE_ANNUAL_PLAN") - public void DEPARTMENT_UNITED_REVIEW_PASS(Message message){ + @OnTransition(source = "DEPARTMENT_JOINT_REVIEW", target = "IN_THE_ANNUAL_PLAN") + public void DEPARTMENT_UNITED_REVIEW_PASS(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.IN_THE_ANNUAL_PLAN.getCode()); } - @OnTransition(source = "DEPARTMENT_JOINT_REVIEW",target = "DEPARTMENT_JOINT_REVIEW_FAILED") - public void DEPARTMENT_UNITED_REVIEW_REJECT(Message message){ + + @OnTransition(source = "DEPARTMENT_JOINT_REVIEW", target = "DEPARTMENT_JOINT_REVIEW_FAILED") + public void DEPARTMENT_UNITED_REVIEW_REJECT(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.DEPARTMENT_JOINT_REVIEW_FAILED.getCode()); } - @OnTransition(source = "DEPARTMENT_JOINT_REVIEW",target = "PRE_APPLYING") - public void DEPARTMENT_JOINT_REVIEW_WITHDRAW(Message message){ + + @OnTransition(source = "DEPARTMENT_JOINT_REVIEW", target = "PRE_APPLYING") + public void DEPARTMENT_JOINT_REVIEW_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PRE_APPLYING.getCode()); } - @OnTransition(source = "IN_THE_ANNUAL_PLAN",target = "PLAN_TO_BE_DECLARED") - public void ANNUAL_PLAN_PROJECT_OPEN_PLAN_DECLARE(Message message){ + @OnTransition(source = "IN_THE_ANNUAL_PLAN", target = "PLAN_TO_BE_DECLARED") + public void ANNUAL_PLAN_PROJECT_OPEN_PLAN_DECLARE(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PLAN_TO_BE_DECLARED.getCode()); } - @OnTransition(source = "IN_THE_ANNUAL_PLAN",target = "BE_SUSPENDED") - public void ANNUAL_PLAN_SUSPEND(Message message){ + + @OnTransition(source = "IN_THE_ANNUAL_PLAN", target = "BE_SUSPENDED") + public void ANNUAL_PLAN_SUSPEND(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.BE_SUSPENDED.getCode()); } - @OnTransition(source = "IN_THE_ANNUAL_PLAN",target = "DEPARTMENT_JOINT_REVIEW") - public void IN_THE_ANNUAL_PLAN_WITHDRAW(Message message){ + + @OnTransition(source = "IN_THE_ANNUAL_PLAN", target = "DEPARTMENT_JOINT_REVIEW") + public void IN_THE_ANNUAL_PLAN_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.DEPARTMENT_JOINT_REVIEW.getCode()); } - @OnTransition(source = "PLAN_TO_BE_DECLARED",target = "SCHEME_UNDER_REVIEW") - public void DECLARE_PLAN(Message message){ + @OnTransition(source = "PLAN_TO_BE_DECLARED", target = "SCHEME_UNDER_REVIEW") + public void DECLARE_PLAN(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.SCHEME_UNDER_REVIEW.getCode()); } - @OnTransition(source = "PLAN_TO_BE_DECLARED",target = "IN_THE_ANNUAL_PLAN") - public void PLAN_TO_DECLARE_WITHDRAW(Message message){ + + @OnTransition(source = "PLAN_TO_BE_DECLARED", target = "IN_THE_ANNUAL_PLAN") + public void PLAN_TO_DECLARE_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.IN_THE_ANNUAL_PLAN.getCode()); } - @OnTransition(source = "SCHEME_UNDER_REVIEW",target = "TO_BE_APPROVED") - public void PLAN_REVIEW_PASS(Message message){ + @OnTransition(source = "SCHEME_UNDER_REVIEW", target = "TO_BE_APPROVED") + public void PLAN_REVIEW_PASS(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.TO_BE_APPROVED.getCode()); } - @OnTransition(source = "SCHEME_UNDER_REVIEW",target = "SCHEME_REVIEW_FAILED") - public void PLAN_REVIEW_REJECT(Message message){ + + @OnTransition(source = "SCHEME_UNDER_REVIEW", target = "SCHEME_REVIEW_FAILED") + public void PLAN_REVIEW_REJECT(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.SCHEME_REVIEW_FAILED.getCode()); } - @OnTransition(source = "SCHEME_UNDER_REVIEW",target = "PLAN_TO_BE_DECLARED") - public void SCHEME_UNDER_REVIEW_WITHDRAW(Message message){ + + @OnTransition(source = "SCHEME_UNDER_REVIEW", target = "PLAN_TO_BE_DECLARED") + public void SCHEME_UNDER_REVIEW_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.PLAN_TO_BE_DECLARED.getCode()); } - @OnTransition(source = "TO_BE_APPROVED",target = "TO_BE_PURCHASED") - public void PROJECT_APPROVAL(Message message){ + @OnTransition(source = "TO_BE_APPROVED", target = "TO_BE_PURCHASED") + public void PROJECT_APPROVAL(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); // 待立项批复批复后,项目一级状态变更为已立项 project.setStage(ProjectStatusEnum.PROJECT_APPROVED.getCode()); project.setStatus(ProjectStatusEnum.TO_BE_PURCHASED.getCode()); } - @OnTransition(source = "TO_BE_APPROVED",target = "SCHEME_UNDER_REVIEW") - public void TO_BE_APPROVED_WITHDRAW(Message message){ + + @OnTransition(source = "TO_BE_APPROVED", target = "SCHEME_UNDER_REVIEW") + public void TO_BE_APPROVED_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.SCHEME_UNDER_REVIEW.getCode()); } - @OnTransition(source = "TO_BE_PURCHASED",target = "UNDER_CONSTRUCTION") - public void PURCHASE_PUT_ON_RECORD(Message message){ + @OnTransition(source = "TO_BE_PURCHASED", target = "UNDER_CONSTRUCTION") + public void PURCHASE_PUT_ON_RECORD(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.UNDER_CONSTRUCTION.getCode()); } - @OnTransition(source = "TO_BE_PURCHASED",target = "TO_BE_APPROVED") - public void TO_BE_PURCHASED_WITHDRAW(Message message){ + + @OnTransition(source = "TO_BE_PURCHASED", target = "TO_BE_APPROVED") + public void TO_BE_PURCHASED_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); // 待采购状态撤回后,项目一级状态回退到未立项 project.setStage(ProjectStatusEnum.NOT_APPROVED.getCode()); @@ -179,44 +195,48 @@ public class ProjectDeclareAction { } - @OnTransition(source = "UNDER_CONSTRUCTION",target = "TO_BE_FINALLY_INSPECTED") - public void PRELIMINARY_ACCEPTANCE_PUT_ON_RECORD(Message message){ + @OnTransition(source = "UNDER_CONSTRUCTION", target = "TO_BE_FINALLY_INSPECTED") + public void PRELIMINARY_ACCEPTANCE_PUT_ON_RECORD(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.UNDER_CONSTRUCTION.getCode()); } - @OnTransition(source = "UNDER_CONSTRUCTION",target = "TO_BE_PURCHASED") - public void UNDER_CONSTRUCTION_WITHDRAW(Message message){ + + @OnTransition(source = "UNDER_CONSTRUCTION", target = "TO_BE_PURCHASED") + public void UNDER_CONSTRUCTION_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.TO_BE_PURCHASED.getCode()); } - @OnTransition(source = "TO_BE_FINALLY_INSPECTED",target = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW") - public void FINAL_ACCEPTANCE_APPLICATION(Message message){ + @OnTransition(source = "TO_BE_FINALLY_INSPECTED", target = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW") + public void FINAL_ACCEPTANCE_APPLICATION(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.FINAL_ACCEPTANCE_IS_UNDER_REVIEW.getCode()); } - @OnTransition(source = "TO_BE_FINALLY_INSPECTED",target = "UNDER_CONSTRUCTION") - public void TO_BE_FINALLY_INSPECTED_WITHDRAW(Message message){ + + @OnTransition(source = "TO_BE_FINALLY_INSPECTED", target = "UNDER_CONSTRUCTION") + public void TO_BE_FINALLY_INSPECTED_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.UNDER_CONSTRUCTION.getCode()); } - @OnTransition(source = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW",target = "ARCHIVED") - public void FINAL_ACCEPTANCE_PASS(Message message){ + @OnTransition(source = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW", target = "ARCHIVED") + public void FINAL_ACCEPTANCE_PASS(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); // 终验审核通过后,项目一级状态变更为已归档 project.setStage(ProjectStatusEnum.ARCHIVED.getCode()); project.setStatus(ProjectStatusEnum.ARCHIVED.getCode()); } - @OnTransition(source = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW",target = "FINAL_ACCEPTANCE_REVIEW_FAILED") - public void FINAL_ACCEPTANCE_REJECT(Message message){ + + @OnTransition(source = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW", target = "FINAL_ACCEPTANCE_REVIEW_FAILED") + public void FINAL_ACCEPTANCE_REJECT(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.FINAL_ACCEPTANCE_REVIEW_FAILED.getCode()); } - @OnTransition(source = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW",target = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW") - public void FINAL_ACCEPTANCE_IS_UNDER_REVIEW_WITHDRAW(Message message){ + + @OnTransition(source = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW", target = "FINAL_ACCEPTANCE_IS_UNDER_REVIEW") + public void FINAL_ACCEPTANCE_IS_UNDER_REVIEW_WITHDRAW(Message message) { Project project = (Project) message.getHeaders().get(PROJECT_DECLARE); project.setStatus(ProjectStatusEnum.FINAL_ACCEPTANCE_IS_UNDER_REVIEW.getCode()); } @@ -228,12 +248,12 @@ public class ProjectDeclareAction { public void execute(StateContext stateContext) { log.info(String.valueOf(stateContext.getTarget().getId())); ProjectStatusEnum projectStatusEnum = stateContext.getTarget().getId(); - if (projectStatusEnum.equals(ProjectStatusEnum.PENDING_PREQUALIFICATION_CHOICE)){ + if (projectStatusEnum.equals(ProjectStatusEnum.PENDING_PREQUALIFICATION_CHOICE)) { Project project = stateContext.getMessage().getHeaders().get(PROJECT_DECLARE, Project.class); - log.info("预审申报事件之前,项目的状态为:{}"+project.getStatus()); - if (StateMachineUtils.isCityProject(project) && StateMachineUtils.judgeDeclareAmount(project)){ + log.info("预审申报事件之前,项目的状态为:{}" + project.getStatus()); + if (StateMachineUtils.isCityProject(project) && StateMachineUtils.judgeDeclareAmount(project)) { project.setStatus(ProjectStatusEnum.JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS.getCode()); - }else { + } else { project.setStatus(ProjectStatusEnum.PRE_APPLYING.getCode()); } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareChoiceAction.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareChoiceAction.java index 3607308..4b6b0e8 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareChoiceAction.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/action/ProjectDeclareChoiceAction.java @@ -3,7 +3,7 @@ package com.ningdatech.pmapi.common.statemachine.action; import com.ningdatech.pmapi.common.constant.StateMachineHeaderNameConstants; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import lombok.extern.slf4j.Slf4j; import org.springframework.statemachine.StateContext; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/builder/ProjectDeclareStateMachineBuilder.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/builder/ProjectDeclareStateMachineBuilder.java index c44f8da..4283c0c 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/builder/ProjectDeclareStateMachineBuilder.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/builder/ProjectDeclareStateMachineBuilder.java @@ -4,7 +4,7 @@ import com.ningdatech.pmapi.common.statemachine.action.ProjectDeclareChoiceActio import com.ningdatech.pmapi.common.statemachine.action.ProjectDeclareAction; import com.ningdatech.pmapi.common.statemachine.factory.ProjectDeclareGuardFactory; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; @@ -259,7 +259,7 @@ public class ProjectDeclareStateMachineBuilder { @Override public StateMachineContext read(Project contextObj) { - StateMachineContext result = new DefaultStateMachineContext(ProjectStatusEnum.getValueByCode(contextObj.getStatus()), + StateMachineContext result = new DefaultStateMachineContext(ProjectStatusEnum.getValue(contextObj.getStatus()), null, null, null, null, MACHINEID_TO); return result; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/event/ProjectStatusChangeEvent.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/event/ProjectStatusChangeEvent.java index 7c5fd11..7146033 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/event/ProjectStatusChangeEvent.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/event/ProjectStatusChangeEvent.java @@ -1,17 +1,16 @@ package com.ningdatech.pmapi.common.statemachine.event; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; -import org.apache.commons.lang3.StringUtils; import java.util.Objects; /** - * 项目状态改变事件 - * @return + * 项目状态改变事件 + * * @author CMM + * @return * @since 2023/02/07 9:22 */ @Getter @@ -22,153 +21,153 @@ public enum ProjectStatusChangeEvent { /** * 项目申报暂存(项目状态进入:待申报) */ - PROJECT_APPLICATION_HOLD(null,null,null), + PROJECT_APPLICATION_HOLD(null, null, null), /** * 项目申报提交(项目状态进入:单位内部审核中) */ - PROJECT_APPLICATION_SUBMIT(10015,null,null), + PROJECT_APPLICATION_SUBMIT(10015, null, null), /** * 单位内部审核驳回(项目状态进入:单位内部审核不通过) */ - UNDER_INTERNAL_REJECT(null,10001,null), + UNDER_INTERNAL_REJECT(null, 10001, null), /** * 单位内部审核通过(项目状态进入:待预审) */ - UNDER_INTERNAL_PASS(10001,null,null), + UNDER_INTERNAL_PASS(10001, null, null), /** * 预审申报(项目状态进入:待预审选择,有判断条件:市级项目且申报金额大于1000万项目状态变为:省级部门联审中;否则项目状态变为:预审中) */ - PRELIMINARY_REVIEW_DECLARE(10003,null,null), + PRELIMINARY_REVIEW_DECLARE(10003, null, null), /** * 省级部门联审不通过(项目状态变为:省级部门联审不通过) */ - PROVINCIAL_DEPARTMENT_REVIEW_REJECT(null,10004,null), + PROVINCIAL_DEPARTMENT_REVIEW_REJECT(null, 10004, null), /** * 省级部门联审通过(项目状态变为:预审中) */ - PROVINCIAL_DEPARTMENT_REVIEW_PASS(10004,null,null), + PROVINCIAL_DEPARTMENT_REVIEW_PASS(10004, null, null), /** * 预审驳回(项目状态变为:预审不通过) */ - PRELIMINARY_REVIEW_REJECT(null,10006,null), + PRELIMINARY_REVIEW_REJECT(null, 10006, null), /** * 预审通过(项目状态变为:部门联审中) */ - PRELIMINARY_REVIEW_PASS(10006,null,null), + PRELIMINARY_REVIEW_PASS(10006, null, null), /** * 部门联审驳回(项目状态变为:部门联审不通过) */ - DEPARTMENT_UNITED_REVIEW_REJECT(null,10008,null), + DEPARTMENT_UNITED_REVIEW_REJECT(null, 10008, null), /** * 部门联审通过(项目状态变为:年度计划中) */ - DEPARTMENT_UNITED_REVIEW_PASS(10008,null,null), + DEPARTMENT_UNITED_REVIEW_PASS(10008, null, null), /** * 年度计划暂缓(项目状态变为:被暂缓) */ - ANNUAL_PLAN_SUSPEND(null,10010,null), + ANNUAL_PLAN_SUSPEND(null, 10010, null), /** * 年度计划项目开启方案申报(项目状态变为:方案待申报) */ - ANNUAL_PLAN_PROJECT_OPEN_PLAN_DECLARE(10010,null,null), + ANNUAL_PLAN_PROJECT_OPEN_PLAN_DECLARE(10010, null, null), /** * 申报方案(项目状态变为:方案评审中) */ - DECLARE_PLAN(10016,null,null), + DECLARE_PLAN(10016, null, null), /** * 方案评审驳回(项目状态变为:方案评审不通过) */ - PLAN_REVIEW_REJECT(null,10012,null), + PLAN_REVIEW_REJECT(null, 10012, null), /** * 方案评审通过(项目状态变为:待立项批复) */ - PLAN_REVIEW_PASS(10012,null,null), + PLAN_REVIEW_PASS(10012, null, null), /** * 立项批复(项目状态变为:已立项-待采购) */ - PROJECT_APPROVAL(10014,null,null), + PROJECT_APPROVAL(10014, null, null), /** * 采购备案(项目状态变为:建设中) */ - PURCHASE_PUT_ON_RECORD(20001,null,null), + PURCHASE_PUT_ON_RECORD(20001, null, null), /** * 初验备案(项目状态变为:待终验) */ - PRELIMINARY_ACCEPTANCE_PUT_ON_RECORD(20002,null,null), + PRELIMINARY_ACCEPTANCE_PUT_ON_RECORD(20002, null, null), /** * 终验申请(项目状态变为:终验审核中) */ - FINAL_ACCEPTANCE_APPLICATION(20003,null,null), + FINAL_ACCEPTANCE_APPLICATION(20003, null, null), /** * 终验审核不通过(项目状态变为:终验审核不通过) */ - FINAL_ACCEPTANCE_REJECT(null,20004,null), + FINAL_ACCEPTANCE_REJECT(null, 20004, null), /** * 终验审核通过(项目状态变为:已归档) */ - FINAL_ACCEPTANCE_PASS(null,null,null), + FINAL_ACCEPTANCE_PASS(null, null, null), // 下个节点还未提交审核意见时,流程发起人和前一个审核人可以点击撤回 /** * 单位内部审核中时被撤回(项目状态进入:待申报) */ - UNDER_INTERNAL_WITHDRAW(null,null,10001), + UNDER_INTERNAL_WITHDRAW(null, null, 10001), /** * 待预审时被撤回(项目状态进入:单位内部审核中) */ - PENDING_PREQUALIFICATION_WITHDRAW(null,null,10003), + PENDING_PREQUALIFICATION_WITHDRAW(null, null, 10003), /** * 省级部门联审中时被撤回(项目状态进入:待预审) */ - JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS_WITHDRAW(null,null,10004), + JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS_WITHDRAW(null, null, 10004), /** - * 预审中时被撤回(项目状态进入:待预审选择,,有判断条件:市级项目且申报金额大于1000万项目状态变为:省级部门联审中;否则项目状态变为:预审中) + * 预审中时被撤回(项目状态进入:待预审选择,,有判断条件:市级项目且申报金额大于1000万项目状态变为:省级部门联审中;否则项目状态变为:预审中) */ - PRE_APPLYING_WITHDRAW(null,null,10006), + PRE_APPLYING_WITHDRAW(null, null, 10006), /** - * 部门联审中时被撤回(项目状态进入:预审中) + * 部门联审中时被撤回(项目状态进入:预审中) */ - DEPARTMENT_JOINT_REVIEW_WITHDRAW(null,null,10008), + DEPARTMENT_JOINT_REVIEW_WITHDRAW(null, null, 10008), /** - * 年度计划中时被撤回(项目状态进入:部门联审中) + * 年度计划中时被撤回(项目状态进入:部门联审中) */ - IN_THE_ANNUAL_PLAN_WITHDRAW(null,null,10010), + IN_THE_ANNUAL_PLAN_WITHDRAW(null, null, 10010), /** * 方案待申报时被撤回(项目状态进入:年度计划中) */ - PLAN_TO_DECLARE_WITHDRAW(null,null,10016), + PLAN_TO_DECLARE_WITHDRAW(null, null, 10016), /** * 方案评审中时被撤回(项目状态进入:方案待申报) */ - SCHEME_UNDER_REVIEW_WITHDRAW(null,null,10012), + SCHEME_UNDER_REVIEW_WITHDRAW(null, null, 10012), /** * 待立项批复时被撤回(项目状态进入:方案评审中) */ - TO_BE_APPROVED_WITHDRAW(null,null,10014), + TO_BE_APPROVED_WITHDRAW(null, null, 10014), /** * 待采购时被撤回(项目状态进入:待立项批复) */ - TO_BE_PURCHASED_WITHDRAW(null,null,20001), + TO_BE_PURCHASED_WITHDRAW(null, null, 20001), /** - * 建设中时被撤回(项目状态进入:待采购) + * 建设中时被撤回(项目状态进入:待采购) */ - UNDER_CONSTRUCTION_WITHDRAW(null,null,20002), + UNDER_CONSTRUCTION_WITHDRAW(null, null, 20002), /** * 待终验时被撤回(项目状态进入:建设中) */ - TO_BE_FINALLY_INSPECTED_WITHDRAW(null,null,20003), + TO_BE_FINALLY_INSPECTED_WITHDRAW(null, null, 20003), /** - * 终验审核中时被撤回(项目状态进入:待终验) + * 终验审核中时被撤回(项目状态进入:待终验) */ - FINAL_ACCEPTANCE_IS_UNDER_REVIEW_WITHDRAW(null,null,20004); + FINAL_ACCEPTANCE_IS_UNDER_REVIEW_WITHDRAW(null, null, 20004); private Integer passProjectStatusCode; private Integer rejectProjectStatusCode; private Integer withdrawProjectStatusCode; public static ProjectStatusChangeEvent getPassValueByCode(Integer code) { - if(Objects.isNull(code)){ + if (Objects.isNull(code)) { return null; } for (ProjectStatusChangeEvent t : ProjectStatusChangeEvent.values()) { @@ -180,7 +179,7 @@ public enum ProjectStatusChangeEvent { } public static ProjectStatusChangeEvent getRejectValueByCode(Integer code) { - if(Objects.isNull(code)){ + if (Objects.isNull(code)) { return null; } for (ProjectStatusChangeEvent t : ProjectStatusChangeEvent.values()) { @@ -192,7 +191,7 @@ public enum ProjectStatusChangeEvent { } public static ProjectStatusChangeEvent getWithdrawValueByCode(Integer code) { - if(Objects.isNull(code)){ + if (Objects.isNull(code)) { return null; } for (ProjectStatusChangeEvent t : ProjectStatusChangeEvent.values()) { diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/factory/ProjectDeclareGuardFactory.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/factory/ProjectDeclareGuardFactory.java index 42330fe..3213dd0 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/factory/ProjectDeclareGuardFactory.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/factory/ProjectDeclareGuardFactory.java @@ -3,7 +3,7 @@ package com.ningdatech.pmapi.common.statemachine.factory; import com.ningdatech.pmapi.common.constant.StateMachineHeaderNameConstants; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import org.springframework.statemachine.StateContext; import org.springframework.statemachine.guard.Guard; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/util/StateMachineUtils.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/util/StateMachineUtils.java index ddb4cda..b96d000 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/util/StateMachineUtils.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/statemachine/util/StateMachineUtils.java @@ -5,7 +5,7 @@ import com.ningdatech.pmapi.common.constant.ProjectDeclareConstants; import com.ningdatech.pmapi.common.constant.StateMachineHeaderNameConstants; import com.ningdatech.pmapi.common.statemachine.builder.ProjectDeclareStateMachineBuilder; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -36,19 +36,20 @@ public class StateMachineUtils { @Resource(name = "projectDeclareStateMachinePersister") private StateMachinePersister projectDeclareStateMachinePersister; - public void execute(Project project, ProjectStatusChangeEvent event) throws Exception{ - log.info("调用状态机前的项目状态为>>>>>>>>>>{}"+project.getStatus()); + public void execute(Project project, ProjectStatusChangeEvent event) throws Exception { + log.info("调用状态机前的项目状态为>>>>>>>>>>{}" + project.getStatus()); //获取TO状态机 StateMachine stateMachine = projectDeclareStateMachineBuilder.build(); Message message = MessageBuilder.withPayload(event).setHeader(PROJECT_DECLARE, project).build(); //初始化状态机 - projectDeclareStateMachinePersister.restore(stateMachine,project); + projectDeclareStateMachinePersister.restore(stateMachine, project); stateMachine.sendEvent(message); - log.info("调用状态机后的项目状态为>>>>>>>>>>{}"+project.getStatus()); + log.info("调用状态机后的项目状态为>>>>>>>>>>{}" + project.getStatus()); } /** * 判断项目申报金额是否大于1000万元 + * * @param project * @return boolean * @author CMM @@ -56,7 +57,7 @@ public class StateMachineUtils { */ public static boolean judgeDeclareAmount(Project project) { int flag = project.getDeclareAmount().compareTo(ProjectDeclareConstants.Number.DECLARE_AMOUNT_JUDGEMENT); - if (flag > 0 || flag == 0){ + if (flag > 0 || flag == 0) { return true; } return false; @@ -64,6 +65,7 @@ public class StateMachineUtils { /** * 判断项目建设层级是否为市级项目 + * * @param project * @return boolean * @author CMM @@ -71,7 +73,7 @@ public class StateMachineUtils { */ public static boolean isCityProject(Project project) { if (ProjectDeclareConstants.Number.CITY_BUILD_LEVEL.equals(project.getBuildLevel()) || - ProjectDeclareConstants.Number.CITY_SELF_BUILD_LEVEL.equals(project.getBuildLevel())){ + ProjectDeclareConstants.Number.CITY_SELF_BUILD_LEVEL.equals(project.getBuildLevel())) { return true; } return false; @@ -79,7 +81,7 @@ public class StateMachineUtils { public ProjectStatusChangeEvent getProjectStatusPassEvent(Integer projectStatusSecond) { ProjectStatusChangeEvent event = ProjectStatusChangeEvent.getPassValueByCode(projectStatusSecond); - if (Objects.isNull(event)){ + if (Objects.isNull(event)) { throw new BizException("该状态下没有对应的通过操作!"); } return event; @@ -87,7 +89,7 @@ public class StateMachineUtils { public ProjectStatusChangeEvent getProjectStatusRejectEvent(Integer projectStatusSecond) { ProjectStatusChangeEvent event = ProjectStatusChangeEvent.getRejectValueByCode(projectStatusSecond); - if (Objects.isNull(event)){ + if (Objects.isNull(event)) { throw new BizException("该状态下没有对应的驳回操作!"); } return event; @@ -95,7 +97,7 @@ public class StateMachineUtils { public ProjectStatusChangeEvent getProjectStatusWithdrawEvent(Integer projectStatusSecond) { ProjectStatusChangeEvent event = ProjectStatusChangeEvent.getWithdrawValueByCode(projectStatusSecond); - if (Objects.isNull(event)){ + if (Objects.isNull(event)) { throw new BizException("该状态下没有对应的撤回操作!"); } return event; 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 0930cd2..c091aeb 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 @@ -15,14 +15,13 @@ import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDeclaredDetailVO; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDeclaredListItemVO; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDraftVo; import com.ningdatech.pmapi.projectdeclared.service.IProjectDraftService; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import com.ningdatech.pmapi.projectlib.model.entity.ProjectApplication; import com.ningdatech.pmapi.projectlib.service.IProjectApplicationService; import com.ningdatech.pmapi.projectlib.service.IProjectService; import com.wflow.bean.entity.WflowModels; import com.wflow.exception.BusinessException; -import com.wflow.workflow.bean.dto.ProcessInstanceUserDto; import com.wflow.workflow.bean.vo.ProcessStartParamsVo; import com.wflow.workflow.service.ProcessInstanceService; import com.wflow.workflow.service.ProcessModelService; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/controller/AnnualPlanController.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/controller/AnnualPlanController.java index 718b28a..171a79e 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/controller/AnnualPlanController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/controller/AnnualPlanController.java @@ -1,6 +1,13 @@ package com.ningdatech.pmapi.projectlib.controller; +import com.ningdatech.basic.model.PageVo; +import com.ningdatech.pmapi.projectlib.manage.AnnualPlanLibManage; +import com.ningdatech.pmapi.projectlib.model.req.ProjectListReq; +import com.ningdatech.pmapi.projectlib.model.vo.AnnualPlanListItemVO; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -13,9 +20,17 @@ import org.springframework.web.bind.annotation.RestController; * @since 14:07 2023/2/11 */ @RestController +@AllArgsConstructor @Api(tags = "年度计划库") @RequestMapping("/api/v1/annualPlan") public class AnnualPlanController { + private final AnnualPlanLibManage annualPlanLibManage; + + @GetMapping("/list") + @ApiOperation("年段计划库列表") + public PageVo annualPlanLibList(ProjectListReq req) { + return annualPlanLibManage.annulPlanLibList(req); + } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectStatusEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectStatusEnum.java new file mode 100644 index 0000000..9631f37 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectStatusEnum.java @@ -0,0 +1,90 @@ +package com.ningdatech.pmapi.projectlib.enumeration; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; + +import java.util.Arrays; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + *

+ * ProjectStatusEnum + *

+ * + * @author Poffy + * @since 16:54 2023/2/11 + */ +@Getter +@AllArgsConstructor +@NoArgsConstructor +public enum ProjectStatusEnum { + /** + * 项目阶段:未立项 + */ + NOT_APPROVED(10000, "未立项"), + UNDER_INTERNAL_AUDIT(10001, "单位内部审核中"), + UNDER_INTERNAL_AUDIT_NOT_PASS(10002, "单位内部审核不通过"), + PENDING_PREQUALIFICATION(10003, "待预审"), + JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS(10004, "省级部门联审中"), + THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED(10005, "省级部门联审不通过"), + PRE_APPLYING(10006, "预审中"), + PREQUALIFICATION_FAILED(10007, "预审不通过"), + DEPARTMENT_JOINT_REVIEW(10008, "部门联审中"), + DEPARTMENT_JOINT_REVIEW_FAILED(10009, "部门联审不通过"), + IN_THE_ANNUAL_PLAN(10010, "年度计划中"), + BE_SUSPENDED(10011, "被暂缓"), + SCHEME_UNDER_REVIEW(10012, "方案评审中"), + SCHEME_REVIEW_FAILED(10013, "方案评审不通过"), + TO_BE_APPROVED(10014, "待立项批复"), + TO_BE_DECLARED(10015, "待申报"), + PLAN_TO_BE_DECLARED(10016, "方案待申报"), + PENDING_PREQUALIFICATION_CHOICE(10017, "待预审选择态"), + /** + * 项目阶段:已立项 + */ + PROJECT_APPROVED(20000, "已立项"), + TO_BE_PURCHASED(20001, "待采购"), + UNDER_CONSTRUCTION(20002, "建设中"), + TO_BE_FINALLY_INSPECTED(20003, "待终验"), + FINAL_ACCEPTANCE_IS_UNDER_REVIEW(20004, "终验审核中"), + FINAL_ACCEPTANCE_REVIEW_FAILED(20005, "终验审核不通过"), + /** + * 项目阶段:已归档 + */ + ARCHIVED(30000, "已归档"); + + public static void main(String[] args) { + System.out.println(Arrays.stream(ProjectStatusEnum.values()).filter(w -> w.getCode() >= 10010).collect(Collectors.toList())); + } + + private Integer code; + private String desc; + + public static String getDesc(Integer code) { + if (Objects.isNull(code)) { + return StringUtils.EMPTY; + } + for (ProjectStatusEnum t : ProjectStatusEnum.values()) { + if (code.equals(t.getCode())) { + return t.desc; + } + } + return StringUtils.EMPTY; + } + + public static ProjectStatusEnum getValue(Integer code) { + if (Objects.isNull(code)) { + return null; + } + for (ProjectStatusEnum t : ProjectStatusEnum.values()) { + if (code.equals(t.getCode())) { + return t; + } + } + return null; + } + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectTypeEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectTypeEnum.java new file mode 100644 index 0000000..2ba2688 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enumeration/ProjectTypeEnum.java @@ -0,0 +1,42 @@ +package com.ningdatech.pmapi.projectlib.enumeration; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; + +import java.util.Objects; + +/** + *

+ * ProjectTypeEnum + *

+ * + * @author Poffy + * @since 16:56 2023/2/11 + */ +@Getter +@AllArgsConstructor +@NoArgsConstructor +public enum ProjectTypeEnum { + /** + * 项目类型 + */ + BUILD(1, "建设"), + DEV_OPS(2, "运维"); + + private Integer code; + private String desc; + + public static String getDesc(Integer code) { + if (Objects.isNull(code)) { + return StringUtils.EMPTY; + } + for (ProjectTypeEnum t : ProjectTypeEnum.values()) { + if (code.equals(t.getCode())) { + return t.desc; + } + } + return StringUtils.EMPTY; + } +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectStatusEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectStatusEnum.java deleted file mode 100644 index b60ed59..0000000 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectStatusEnum.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.ningdatech.pmapi.projectlib.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.apache.commons.lang3.StringUtils; - -import java.util.Objects; - -@Getter -@AllArgsConstructor -@NoArgsConstructor -public enum ProjectStatusEnum { - /** - * 项目状态 - */ - NOT_APPROVED (10000,"未立项"), - UNDER_INTERNAL_AUDIT (10001,"单位内部审核中"), - UNDER_INTERNAL_AUDIT_NOT_PASS (10002,"单位内部审核不通过"), - PENDING_PREQUALIFICATION (10003,"待预审"), - JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS (10004,"省级部门联审中"), - THE_JOINT_REVIEW_OF_PROVINCIAL_DEPARTMENTS_FAILED (10005,"省级部门联审不通过"), - PRE_APPLYING (10006,"预审中"), - PREQUALIFICATION_FAILED (10007,"预审不通过"), - DEPARTMENT_JOINT_REVIEW (10008,"部门联审中"), - DEPARTMENT_JOINT_REVIEW_FAILED (10009,"部门联审不通过"), - IN_THE_ANNUAL_PLAN (10010,"年度计划中"), - BE_SUSPENDED (10011,"被暂缓"), - SCHEME_UNDER_REVIEW (10012,"方案评审中"), - SCHEME_REVIEW_FAILED (10013,"方案评审不通过"), - TO_BE_APPROVED (10014,"待立项批复"), - TO_BE_DECLARED (10015,"待申报"), - PLAN_TO_BE_DECLARED (10016,"方案待申报"), - PENDING_PREQUALIFICATION_CHOICE (10017,"待预审选择态"), - PROJECT_APPROVED (20000,"已立项"), - TO_BE_PURCHASED (20001,"待采购"), - UNDER_CONSTRUCTION (20002,"建设中"), - TO_BE_FINALLY_INSPECTED (20003,"待终验"), - FINAL_ACCEPTANCE_IS_UNDER_REVIEW (20004,"终验审核中"), - FINAL_ACCEPTANCE_REVIEW_FAILED (20005,"终验审核不通过"), - ARCHIVED (30000,"已归档"); - - private Integer code; - private String desc; - - public static String getDescByCode(Integer code) { - if(Objects.isNull(code)){ - return StringUtils.EMPTY; - } - for (ProjectStatusEnum t : ProjectStatusEnum.values()) { - if (code.equals(t.getCode())) { - return t.desc; - } - } - return StringUtils.EMPTY; - } - - public static ProjectStatusEnum getValueByCode(Integer code) { - if(Objects.isNull(code)){ - return null; - } - for (ProjectStatusEnum t : ProjectStatusEnum.values()) { - if (code.equals(t.getCode())) { - return t; - } - } - return null; - } - -} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectTypeEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectTypeEnum.java deleted file mode 100644 index 1aa579a..0000000 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/enums/ProjectTypeEnum.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.ningdatech.pmapi.projectlib.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import org.apache.commons.lang3.StringUtils; - -import java.util.Objects; - -@Getter -@AllArgsConstructor -@NoArgsConstructor -public enum ProjectTypeEnum { - /** - * 项目类型 - */ - BUILD (1,"建设"), - DEV_OPS (2,"运维"); - - private Integer code; - private String desc; - - public static String getDescByCode(Integer code) { - if(Objects.isNull(code)){ - return StringUtils.EMPTY; - } - for (ProjectTypeEnum t : ProjectTypeEnum.values()) { - if (code.equals(t.getCode())) { - return t.desc; - } - } - return StringUtils.EMPTY; - } -} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java index 98bed68..b5c2ec5 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/AnnualPlanLibManage.java @@ -2,13 +2,23 @@ package com.ningdatech.pmapi.projectlib.manage; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ningdatech.basic.model.PageVo; +import com.ningdatech.basic.util.CollUtils; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.helper.ProjectHelper; import com.ningdatech.pmapi.projectlib.model.entity.Project; import com.ningdatech.pmapi.projectlib.model.req.ProjectListReq; +import com.ningdatech.pmapi.projectlib.model.vo.AnnualPlanListItemVO; import com.ningdatech.pmapi.projectlib.service.IProjectService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum.*; + /** *

* AnnualPlanLibManage @@ -23,9 +33,54 @@ public class AnnualPlanLibManage { private final IProjectService projectService; - public void annulPlanLibList(ProjectListReq req) { + /** + * 年度计划查询状态 + */ + private static final List ANNUAL_PLAN_LIST_STATUS = Arrays.asList( + IN_THE_ANNUAL_PLAN, + BE_SUSPENDED, + SCHEME_UNDER_REVIEW, + SCHEME_REVIEW_FAILED, + TO_BE_APPROVED, + TO_BE_DECLARED, + PLAN_TO_BE_DECLARED, + PENDING_PREQUALIFICATION_CHOICE, + PROJECT_APPROVED, + TO_BE_PURCHASED, + UNDER_CONSTRUCTION, + TO_BE_FINALLY_INSPECTED, + FINAL_ACCEPTANCE_IS_UNDER_REVIEW, + FINAL_ACCEPTANCE_REVIEW_FAILED, + ARCHIVED + ); + + + public PageVo annulPlanLibList(ProjectListReq req) { LambdaQueryWrapper query = ProjectHelper.projectQuery(req); + query.orderByDesc(Project::getAnnualPlanAddTime); + query.in(Project::getStatus, CollUtils.fieldList(ANNUAL_PLAN_LIST_STATUS, ProjectStatusEnum::getCode)); Page page = projectService.page(req.page(), query); + long total; + if ((total = page.getTotal()) == 0) { + return PageVo.empty(); + } + PageVo result = PageVo.of(new ArrayList<>(), total); + page.getRecords().forEach(w -> { + AnnualPlanListItemVO item = new AnnualPlanListItemVO(); + item.setProjectId(w.getId()); + item.setProjectName(w.getProjectName()); + item.setStage(w.getStage()); + item.setStatus(w.getStatus()); + item.setProjectYear(w.getProjectYear()); + item.setProjectType(w.getProjectType()); + item.setDeclaredAmount(w.getDeclareAmount()); + item.setBuildOrg(w.getBuildOrgName()); + item.setCreateOn(w.getCreateOn()); + // TODO 是否开启项目申报 + item.setIsStartDeclaredProject(true); + result.getRecords().add(item); + }); + return result; } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/vo/AnnualPlanListItemVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/vo/AnnualPlanListItemVO.java new file mode 100644 index 0000000..a70b985 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/vo/AnnualPlanListItemVO.java @@ -0,0 +1,50 @@ +package com.ningdatech.pmapi.projectlib.model.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + *

+ * AnnualPlanListItemVO + *

+ * + * @author WendyYang + * @since 15:19 2023/2/11 + */ +@Data +public class AnnualPlanListItemVO { + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("建设单位") + private String buildOrg; + + @ApiModelProperty("项目类型") + private Integer projectType; + + @ApiModelProperty("申报金额") + private BigDecimal declaredAmount; + + @ApiModelProperty("预算年度") + private Integer projectYear; + + @ApiModelProperty("项目是否开起方案申报") + private Boolean isStartDeclaredProject; + + @ApiModelProperty("项目阶段") + private Integer stage; + + @ApiModelProperty("项目状态") + private Integer status; + + @ApiModelProperty("项目ID") + private Long projectId; + + @ApiModelProperty("创建时间") + private LocalDateTime createOn; + +} diff --git a/pmapi/src/test/java/com/ningdatech/pmapi/statemachine/StateMachineTest.java b/pmapi/src/test/java/com/ningdatech/pmapi/statemachine/StateMachineTest.java index f88744c..4fe7a7f 100644 --- a/pmapi/src/test/java/com/ningdatech/pmapi/statemachine/StateMachineTest.java +++ b/pmapi/src/test/java/com/ningdatech/pmapi/statemachine/StateMachineTest.java @@ -3,7 +3,7 @@ package com.ningdatech.pmapi.statemachine; import com.ningdatech.pmapi.AppTests; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; diff --git a/pmapi/src/test/java/com/ningdatech/pmapi/sys/project/ProjectStateTest.java b/pmapi/src/test/java/com/ningdatech/pmapi/sys/project/ProjectStateTest.java index d5a8bfc..9c6a783 100644 --- a/pmapi/src/test/java/com/ningdatech/pmapi/sys/project/ProjectStateTest.java +++ b/pmapi/src/test/java/com/ningdatech/pmapi/sys/project/ProjectStateTest.java @@ -4,7 +4,7 @@ import cn.hutool.core.date.StopWatch; import com.ningdatech.pmapi.AppTests; import com.ningdatech.pmapi.common.statemachine.event.ProjectStatusChangeEvent; import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils; -import com.ningdatech.pmapi.projectlib.enums.ProjectStatusEnum; +import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; import com.ningdatech.pmapi.projectlib.model.entity.Project; import org.junit.Test; From 4c65040bcffc4debc2649ef8eb3035cfad574f09 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Sat, 11 Feb 2023 17:11:53 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=AF=BC=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ningdatech/pmapi/projectdeclared/manage/DeclaredProjectManage.java | 1 + 1 file changed, 1 insertion(+) 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 c211e70..7d7a76b 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 @@ -11,6 +11,7 @@ import com.ningdatech.pmapi.common.enums.ProjectProessStageEnum; import com.ningdatech.pmapi.projectdeclared.entity.ProjectDraft; import com.ningdatech.pmapi.projectdeclared.entity.dto.DeclaredProjectDto; import com.ningdatech.pmapi.projectdeclared.entity.dto.DeclaredProjectListParamDto; +import com.ningdatech.pmapi.projectdeclared.entity.dto.ProjectConditionDto; import com.ningdatech.pmapi.projectdeclared.entity.dto.ProjectDraftSaveDto; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDeclaredDetailVO; import com.ningdatech.pmapi.projectdeclared.entity.vo.ProjectDeclaredListItemVO;