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 56d41d84fb6716b1dfaf811aa26cde2add825275 Mon Sep 17 00:00:00 2001 From: liuxinxin Date: Sat, 11 Feb 2023 15:35:19 +0800 Subject: [PATCH 2/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 3/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 4/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; From 662cd3e35ea59c3b24fc6bcc620a23813253adb2 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Sat, 11 Feb 2023 17:39:49 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmapi/common/model/entity/ExcelExportDTO.java | 102 +++++++++------------ .../pmapi/common/util/ExcelDownUtil.java | 2 + .../pmapi/todocenter/bean/entity/ExportOption.java | 30 +++--- .../controller/TodoCenterController.java | 4 +- .../pmapi/todocenter/manage/TodoCenterManage.java | 47 +++++----- .../model/dto/req/ReqToBeProcessedDTO.java | 2 +- 6 files changed, 86 insertions(+), 101 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/model/entity/ExcelExportDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/model/entity/ExcelExportDTO.java index 274a163..57579cc 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/model/entity/ExcelExportDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/model/entity/ExcelExportDTO.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; +import java.math.BigDecimal; /** * 待办中心待我处理项目列表导出实体 @@ -20,25 +21,6 @@ import java.io.Serializable; public class ExcelExportDTO implements Serializable { private static final long serialVersionUID = 1L; - //@ExcelProperty("项目名称") - //private String projectName; - // - //@ExcelProperty("申报单位") - //private String buildUnitName; - // - //@ExcelProperty("申报金额") - //private Integer declareAmount; - // - //@ExcelProperty("预算年度") - //private Integer projectYear; - // - //@ExcelProperty("流程状态") - //private String processStatusName; - // - //@ExcelProperty("发起时间") - //@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - //private LocalDateTime processLaunchTime; - @ExcelProperty("项目ID") private Long id; @@ -91,128 +73,128 @@ public class ExcelExportDTO implements Serializable { private Integer isFirst; @ExcelProperty("关联应用") - private Boolean includeApplication; + private String relatedExistsApplication; @ExcelProperty("关联应用IRS编码") - private Boolean includeApplicationIRSCode; + private String relatedExistsApplicationCode; @ExcelProperty("申报金额(万元)") - private Boolean declareAmount; + private BigDecimal declareAmount; @ExcelProperty("批复金额") - private Boolean approvedTotalInvestmentIncrease; + private BigDecimal approvedTotalInvestmentIncrease; @ExcelProperty("预算来源") - private Boolean budgetSource; + private String budgetSource; @ExcelProperty("预算年度") - private Boolean budgetYear; + private Integer projectYear; @ExcelProperty("项目简介") - private Boolean projectIntroduction; + private String projectIntroduction; @ExcelProperty("立项依据") - private Boolean buildBasis; + private String buildBasis; @ExcelProperty("建设层级") - private Boolean buildLevel; + private Integer buildLevel; @ExcelProperty("发改编码") - private Boolean developCode; + private String developCode; @ExcelProperty("财政编码") - private Boolean financialCode; + private String financialCode; @ExcelProperty("信息是否有效") private Boolean informationValidity; @ExcelProperty("是否数字化改革项目") - private Boolean isDigitalReform; + private Integer isDigitalReform; @ExcelProperty("综合应用领域") - private Boolean bizDomain; + private String bizDomain; @ExcelProperty("是否上云") - private Boolean isCloud; + private Integer isCloud; @ExcelProperty("云类型") - private Boolean cloudType; + private String cloudType; @ExcelProperty("四大体系") - private Boolean fourSystems; + private Integer fourSystems; @ExcelProperty("是否临时增补") - private Boolean isTemporaryAugment; + private Integer isTemporaryAugment; @ExcelProperty("等保级别") - private Boolean protectionLevel; + private Integer protectionLevel; @ExcelProperty("是否密评 0:否 1:是") - private Boolean isSecretComments; + private Integer isSecretComments; @ExcelProperty("业务编号") - private Boolean businessNumber; + private String businessNumber; @ExcelProperty("业务名称") - private Boolean businessName; + private String businessName; @ExcelProperty("单位名称") - private Boolean unitName; + private String orgName; @ExcelProperty("软件开发(万元)") - private Boolean softwareDevelopmentAmount; + private BigDecimal softwareDevelopmentAmount; @ExcelProperty("云资源、硬件购置(万元)") - private Boolean cloudHardwarePurchaseAmount; + private BigDecimal cloudHardwarePurchaseAmount; @ExcelProperty("第三方服务(万元)") - private Boolean thirdPartyAmount; + private BigDecimal thirdPartyAmount; @ExcelProperty("投入项") - private Boolean safetyInputTitle; + private String safetyInputTitle; @ExcelProperty("内容描述") - private Boolean safetyInputDescribe; + private String safetyInputDescribe; @ExcelProperty("金额(万元)") - private Boolean safetyInputAmount; + private BigDecimal safetyInputAmount; @ExcelProperty("年度支付金额(万元)") - private Boolean annualPlanAmount; + private BigDecimal annualPlanAmount; @ExcelProperty("自有资金(万元)") - private Boolean annualPlanHaveAmount; + private BigDecimal annualPlanHaveAmount; @ExcelProperty("政府投资-本级财政资金(万元)") - private Boolean declareGovernmentOwnFinanceAmount; + private BigDecimal declareGovOwnFinanceAmount; @ExcelProperty("政府投资-上级补助资金(万元)") - private Boolean declareGovernmentSuperiorFinanceAmount; + private BigDecimal declareGovSuperiorFinanceAmount; @ExcelProperty("银行贷款(万元)") - private Boolean declareBankLendingAmount; + private BigDecimal declareBankLendingAmount; @ExcelProperty("其它资金(万元)") - private Boolean declareOtherAmount; + private BigDecimal declareOtherAmount; @ExcelProperty("第一季度") - private Boolean engineeringSpeedOne; + private String engineeringSpeedOne; @ExcelProperty("第二季度") - private Boolean engineeringSpeedTwo; + private String engineeringSpeedTwo; @ExcelProperty("第三季度") - private Boolean engineeringSpeedThree; + private String engineeringSpeedThree; @ExcelProperty("第四季度") - private Boolean engineeringSpeedFour; + private String engineeringSpeedFour; @ExcelProperty("初步方案") - private Boolean preliminaryPlanFile; + private String preliminaryPlanFile; @ExcelProperty("附件-佐证材料") - private Boolean supportingMaterialsFile; + private String supportingMaterialsFile; @ExcelProperty("备注") - private Boolean projectRemarks; + private String projectRemarks; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java index 63bbb88..9426e16 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java @@ -16,6 +16,7 @@ import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.ningdatech.basic.exception.BizException; import com.ningdatech.pmapi.common.model.entity.ExcelExportWriter; +import com.ningdatech.pmapi.todocenter.bean.entity.ExportOption; import org.apache.commons.collections4.CollectionUtils; import org.apache.http.HttpStatus; @@ -135,4 +136,5 @@ public class ExcelDownUtil { response.setContentType(StrPool.CONTENT_TYPE); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + encodeName(fileName) + ".xls"); } + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/bean/entity/ExportOption.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/bean/entity/ExportOption.java index b35ab77..6ec98bf 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/bean/entity/ExportOption.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/bean/entity/ExportOption.java @@ -5,6 +5,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; + + /** * 导出选项实体类 * @@ -22,7 +24,7 @@ public class ExportOption { private Boolean id; @ApiModelProperty("项目名称") - private Boolean name; + private Boolean projectName; @ApiModelProperty("行政区划编码") private Boolean areaCode; @@ -43,25 +45,25 @@ public class ExportOption { private Boolean contactPhone; @ApiModelProperty("上级业务主管单位") - private Boolean higherSuperUnit; + private Boolean higherSuperOrg; @ApiModelProperty("上级主管单位浙政钉ID") - private Boolean higherSuperUnitCode; + private Boolean higherSuperOrgCode; @ApiModelProperty("本级主管部门") - private Boolean superUnit; + private Boolean superOrg; @ApiModelProperty("本级主管部门浙政钉ID") - private Boolean superUnitCode; + private Boolean superOrgCode; @ApiModelProperty("建设单位名称") - private Boolean constructionUnitName; + private Boolean buildOrgName; @ApiModelProperty("建设单位浙政钉ID") - private Boolean buildUnitZheJiangGovernmentDingId; + private Boolean buildOrgZheJiangGovDingId; @ApiModelProperty("建设单位统一信用代码") - private Boolean buildUnitCode; + private Boolean buildOrgCode; @ApiModelProperty("项目类型") private Boolean projectType; @@ -70,10 +72,10 @@ public class ExportOption { private Boolean isFirst; @ApiModelProperty("关联应用") - private Boolean includeApplication; + private Boolean relatedExistsApplication; @ApiModelProperty("关联应用IRS编码") - private Boolean includeApplicationIRSCode; + private Boolean relatedExistsApplicationCode; @ApiModelProperty("申报金额(万元)") private Boolean declareAmount; @@ -85,7 +87,7 @@ public class ExportOption { private Boolean budgetSource; @ApiModelProperty("预算年度") - private Boolean budgetYear; + private Boolean projectYear; @ApiModelProperty("项目简介") private Boolean projectIntroduction; @@ -136,7 +138,7 @@ public class ExportOption { private Boolean businessName; @ApiModelProperty("单位名称") - private Boolean unitName; + private Boolean orgName; @ApiModelProperty("软件开发(万元)") private Boolean softwareDevelopmentAmount; @@ -163,10 +165,10 @@ public class ExportOption { private Boolean annualPlanHaveAmount; @ApiModelProperty("政府投资-本级财政资金(万元)") - private Boolean declareGovernmentOwnFinanceAmount; + private Boolean declareGovOwnFinanceAmount; @ApiModelProperty("政府投资-上级补助资金(万元)") - private Boolean declareGovernmentSuperiorFinanceAmount; + private Boolean declareGovSuperiorFinanceAmount; @ApiModelProperty("银行贷款(万元)") private Boolean declareBankLendingAmount; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/controller/TodoCenterController.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/controller/TodoCenterController.java index 2c3c2aa..f434455 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/controller/TodoCenterController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/controller/TodoCenterController.java @@ -54,8 +54,8 @@ public class TodoCenterController { * @param response * @return void */ - @GetMapping("/exportPending") - public void exportPendingProjectList(ReqToBeProcessedDTO param, HttpServletResponse response){ + @PostMapping("/exportPending") + public void exportPendingProjectList(@Valid @RequestBody ReqToBeProcessedDTO param, HttpServletResponse response){ todoCenterManage.exportPendingProjectList(response,param); // ExcelDownUtil.downXlsx(response,param,todoCenterManage::exportPendingProjectList); } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java index c7b1627..98a3880 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/manage/TodoCenterManage.java @@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.excel.EasyExcel; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.xxpt.gateway.shared.api.request.OapiMessageWorkNotificationRequest; import com.alibaba.xxpt.gateway.shared.api.response.OapiMessageWorkNotificationResponse; @@ -221,8 +223,6 @@ public class TodoCenterManage { * @since 2023/02/01 17:44 */ public void exportPendingProjectList(HttpServletResponse response, ReqToBeProcessedDTO param) { - - Page page = param.page(); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(Project.class); wrapper.like(StrUtil.isNotBlank(param.getProjectName()),Project::getProjectName,param.getProjectName()) .like(StrUtil.isNotBlank(param.getBuildUnitName()),Project::getBuildOrgName,param.getBuildUnitName()) @@ -230,9 +230,7 @@ public class TodoCenterManage { .eq(Objects.nonNull(param.getIsSupplement()),Project::getIsTemporaryAugment,param.getIsSupplement()) .ge(Objects.nonNull(param.getProcessLaunchStartTime()),Project::getBeginTime,param.getProcessLaunchStartTime()) .le(Objects.nonNull(param.getProcessLaunchEndTime()),Project::getEndTime,param.getProcessLaunchEndTime()); - projectService.page(page,wrapper); - - List records = page.getRecords(); + List records = projectService.list(wrapper); ExcelExportWriter excelExportWriter = new ExcelExportWriter(); @@ -244,31 +242,32 @@ public class TodoCenterManage { } excelExportWriter.setFileName(fileName); - List sheetsName = new ArrayList<>(); - sheetsName.add("sheet1"); + List sheetsNames = new ArrayList<>(); + sheetsNames.add(fileName); + // 表体列数据集合 - List columnList = new ArrayList<>(); + List> columnList = new ArrayList<>(); + // 表体行数据集合 - List> rowList = new ArrayList<>(); + List rowList = param.getExportOptionList(); + records.stream().forEach(record -> { + List rowValues = new ArrayList<>(); + rowList.stream().forEach(c -> { + String s = JSON.toJSONString(record); + JSONObject jsonObject = JSON.parseObject(s); + String rowValue = String.valueOf(jsonObject.get(c)); + rowValues.add(rowValue); + }); + columnList.add(rowValues); + }); // sheet列表集合 List>> sheets = new ArrayList<>(); - ExportOption exportOption = param.getExportOption(); - - + sheets.add(columnList); excelExportWriter.setHeads(sheets); - - List data = records.stream().map(r -> { - ExcelExportDTO res = new ExcelExportDTO(); - BeanUtils.copyProperties(r, res); - return res; - }).collect(Collectors.toList()); - - excelExportWriter.setDatas(data); - excelExportWriter.setSheets(sheetsName); - excelExportWriter.setHeadPropertyClass(ExcelExportDTO.class); + excelExportWriter.setDatas(columnList); + excelExportWriter.setSheets(sheetsNames); + excelExportWriter.setHeadPropertyClass(List.class); excelExportWriter.setHeadPropertyFlag(Boolean.FALSE); - - ExcelDownUtil.excelExportFile(response,excelExportWriter); } /** diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/model/dto/req/ReqToBeProcessedDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/model/dto/req/ReqToBeProcessedDTO.java index b792f7d..5568449 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/model/dto/req/ReqToBeProcessedDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/todocenter/model/dto/req/ReqToBeProcessedDTO.java @@ -50,6 +50,6 @@ public class ReqToBeProcessedDTO extends PagePo implements Serializable { private Integer isSupplement; @ApiModelProperty("导出选项") - private ExportOption exportOption; + private List exportOptionList; }