Browse Source

modify:

1. 项目库查询增加申报单位;
tags/24082201
WendyYang 4 months ago
parent
commit
a7867a4e54
8 changed files with 59 additions and 43 deletions
  1. +2
    -8
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/AdaptStateChangeAction.java
  2. +2
    -8
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/SelfTestStateChangeAction.java
  3. +2
    -8
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/TenderStateChangeAction.java
  4. +28
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/TenderStateChangeActionUtil.java
  5. +2
    -8
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/TestValidStateChangeAction.java
  6. +2
    -8
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/XcfhxStateChangeAction.java
  7. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/factory/TenderGuardFactory.java
  8. +19
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/projectlib/helper/ProjectManageUtil.java

+ 2
- 8
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/AdaptStateChangeAction.java View File

@@ -1,9 +1,7 @@
package com.hz.pm.api.common.statemachine.action; package com.hz.pm.api.common.statemachine.action;


import cn.hutool.core.lang.Assert;
import com.hz.pm.api.common.statemachine.builder.impl.AdaptStateMachineBuilderImpl; import com.hz.pm.api.common.statemachine.builder.impl.AdaptStateMachineBuilderImpl;
import com.hz.pm.api.common.statemachine.event.AdaptStateChangeEvent; import com.hz.pm.api.common.statemachine.event.AdaptStateChangeEvent;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
import com.hz.pm.api.projectdeclared.model.entity.Purchase; import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderAdaptStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderAdaptStatus;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderSelfTestStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderSelfTestStatus;
@@ -12,6 +10,8 @@ import org.springframework.messaging.Message;
import org.springframework.statemachine.annotation.OnTransition; import org.springframework.statemachine.annotation.OnTransition;
import org.springframework.statemachine.annotation.WithStateMachine; import org.springframework.statemachine.annotation.WithStateMachine;


import static com.hz.pm.api.common.statemachine.action.TenderStateChangeActionUtil.getPurchaseInfo;

/** /**
* <p> * <p>
* 测试验证状态机action集合类 * 测试验证状态机action集合类
@@ -24,12 +24,6 @@ import org.springframework.statemachine.annotation.WithStateMachine;
@WithStateMachine(id = AdaptStateMachineBuilderImpl.MACHINE_ID) @WithStateMachine(id = AdaptStateMachineBuilderImpl.MACHINE_ID)
public class AdaptStateChangeAction { public class AdaptStateChangeAction {


private Purchase getPurchaseInfo(Message<AdaptStateChangeEvent> message) {
Purchase purchase = (Purchase) message.getHeaders().get(TenderStateMachineUtil.PURCHASE);
Assert.notNull(purchase, "未获取到需要状态变更的标段信息");
return purchase;
}

@OnTransition(source = "WITHOUT_ADAPT_INFO", target = "ADAPT_INFO_AUDIT") @OnTransition(source = "WITHOUT_ADAPT_INFO", target = "ADAPT_INFO_AUDIT")
public void SUBMIT_ADAPT_INFO(Message<AdaptStateChangeEvent> message) { public void SUBMIT_ADAPT_INFO(Message<AdaptStateChangeEvent> message) {
Purchase purchase = getPurchaseInfo(message); Purchase purchase = getPurchaseInfo(message);


+ 2
- 8
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/SelfTestStateChangeAction.java View File

@@ -1,9 +1,7 @@
package com.hz.pm.api.common.statemachine.action; package com.hz.pm.api.common.statemachine.action;


import cn.hutool.core.lang.Assert;
import com.hz.pm.api.common.statemachine.builder.impl.SelfTestStateMachineBuilderImpl; import com.hz.pm.api.common.statemachine.builder.impl.SelfTestStateMachineBuilderImpl;
import com.hz.pm.api.common.statemachine.event.SelfTestStateChangeEvent; import com.hz.pm.api.common.statemachine.event.SelfTestStateChangeEvent;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
import com.hz.pm.api.projectdeclared.model.entity.Purchase; import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderSelfTestStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderSelfTestStatus;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderTestValidStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderTestValidStatus;
@@ -12,6 +10,8 @@ import org.springframework.messaging.Message;
import org.springframework.statemachine.annotation.OnTransition; import org.springframework.statemachine.annotation.OnTransition;
import org.springframework.statemachine.annotation.WithStateMachine; import org.springframework.statemachine.annotation.WithStateMachine;


import static com.hz.pm.api.common.statemachine.action.TenderStateChangeActionUtil.getPurchaseInfo;

/** /**
* <p> * <p>
* 系统自测状态机action集合类 * 系统自测状态机action集合类
@@ -24,12 +24,6 @@ import org.springframework.statemachine.annotation.WithStateMachine;
@WithStateMachine(id = SelfTestStateMachineBuilderImpl.MACHINE_ID) @WithStateMachine(id = SelfTestStateMachineBuilderImpl.MACHINE_ID)
public class SelfTestStateChangeAction { public class SelfTestStateChangeAction {


private Purchase getPurchaseInfo(Message<SelfTestStateChangeEvent> message) {
Purchase purchase = (Purchase) message.getHeaders().get(TenderStateMachineUtil.PURCHASE);
Assert.notNull(purchase, "未获取到需要状态变更的标段信息");
return purchase;
}

@OnTransition(source = "WITHOUT_SELF_TEST_INFO", target = "SELF_TEST_INFO_AUDIT") @OnTransition(source = "WITHOUT_SELF_TEST_INFO", target = "SELF_TEST_INFO_AUDIT")
public void SUBMIT_SELF_TEST_INFO(Message<SelfTestStateChangeEvent> message) { public void SUBMIT_SELF_TEST_INFO(Message<SelfTestStateChangeEvent> message) {
Purchase purchase = getPurchaseInfo(message); Purchase purchase = getPurchaseInfo(message);


+ 2
- 8
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/TenderStateChangeAction.java View File

@@ -1,9 +1,7 @@
package com.hz.pm.api.common.statemachine.action; package com.hz.pm.api.common.statemachine.action;


import cn.hutool.core.lang.Assert;
import com.hz.pm.api.common.statemachine.builder.impl.TenderStateMachineBuilderImpl; import com.hz.pm.api.common.statemachine.builder.impl.TenderStateMachineBuilderImpl;
import com.hz.pm.api.common.statemachine.event.TenderStateChangeEvent; import com.hz.pm.api.common.statemachine.event.TenderStateChangeEvent;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
import com.hz.pm.api.projectdeclared.model.entity.Purchase; import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderAdaptStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderAdaptStatus;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderMainStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderMainStatus;
@@ -12,6 +10,8 @@ import org.springframework.messaging.Message;
import org.springframework.statemachine.annotation.OnTransition; import org.springframework.statemachine.annotation.OnTransition;
import org.springframework.statemachine.annotation.WithStateMachine; import org.springframework.statemachine.annotation.WithStateMachine;


import static com.hz.pm.api.common.statemachine.action.TenderStateChangeActionUtil.getPurchaseInfo;

/** /**
* <p> * <p>
* 标段状态机action集合类 * 标段状态机action集合类
@@ -24,12 +24,6 @@ import org.springframework.statemachine.annotation.WithStateMachine;
@WithStateMachine(id = TenderStateMachineBuilderImpl.MACHINE_ID) @WithStateMachine(id = TenderStateMachineBuilderImpl.MACHINE_ID)
public class TenderStateChangeAction { public class TenderStateChangeAction {


public static Purchase getPurchaseInfo(Message<TenderStateChangeEvent> message) {
Purchase purchase = (Purchase) message.getHeaders().get(TenderStateMachineUtil.PURCHASE);
Assert.notNull(purchase, "未获取到需要状态变更的标段信息");
return purchase;
}

/** /**
* 填写合同信息 * 填写合同信息
* *


+ 28
- 0
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/TenderStateChangeActionUtil.java View File

@@ -0,0 +1,28 @@
package com.hz.pm.api.common.statemachine.action;

import cn.hutool.core.lang.Assert;
import com.hz.pm.api.common.statemachine.event.AbstractStateChangeEvent;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import org.springframework.messaging.Message;

/**
* <p>
* TenderStateChangeActionUtil
* </p>
*
* @author WendyYang
* @since 15:30 2024/8/21
*/
public class TenderStateChangeActionUtil {

private TenderStateChangeActionUtil() {
}

public static <E extends AbstractStateChangeEvent> Purchase getPurchaseInfo(Message<E> message) {
Purchase purchase = (Purchase) message.getHeaders().get(TenderStateMachineUtil.PURCHASE);
Assert.notNull(purchase, "未获取到需要状态变更的标段信息");
return purchase;
}

}

+ 2
- 8
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/TestValidStateChangeAction.java View File

@@ -1,9 +1,7 @@
package com.hz.pm.api.common.statemachine.action; package com.hz.pm.api.common.statemachine.action;


import cn.hutool.core.lang.Assert;
import com.hz.pm.api.common.statemachine.builder.impl.TestValidStateMachineBuilderImpl; import com.hz.pm.api.common.statemachine.builder.impl.TestValidStateMachineBuilderImpl;
import com.hz.pm.api.common.statemachine.event.TestValidStateChangeEvent; import com.hz.pm.api.common.statemachine.event.TestValidStateChangeEvent;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
import com.hz.pm.api.projectdeclared.model.entity.Purchase; import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderMainStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderMainStatus;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderTestValidStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderTestValidStatus;
@@ -12,6 +10,8 @@ import org.springframework.messaging.Message;
import org.springframework.statemachine.annotation.OnTransition; import org.springframework.statemachine.annotation.OnTransition;
import org.springframework.statemachine.annotation.WithStateMachine; import org.springframework.statemachine.annotation.WithStateMachine;


import static com.hz.pm.api.common.statemachine.action.TenderStateChangeActionUtil.getPurchaseInfo;

/** /**
* <p> * <p>
* 测试验证状态机action集合类 * 测试验证状态机action集合类
@@ -24,12 +24,6 @@ import org.springframework.statemachine.annotation.WithStateMachine;
@WithStateMachine(id = TestValidStateMachineBuilderImpl.MACHINE_ID) @WithStateMachine(id = TestValidStateMachineBuilderImpl.MACHINE_ID)
public class TestValidStateChangeAction { public class TestValidStateChangeAction {


private Purchase getPurchaseInfo(Message<TestValidStateChangeEvent> message) {
Purchase purchase = (Purchase) message.getHeaders().get(TenderStateMachineUtil.PURCHASE);
Assert.notNull(purchase, "未获取到需要状态变更的标段信息");
return purchase;
}

@OnTransition(source = "WITHOUT_TEST_VALID_INFO", target = "TEST_VALID_INFO_AUDIT") @OnTransition(source = "WITHOUT_TEST_VALID_INFO", target = "TEST_VALID_INFO_AUDIT")
public void SUBMIT_TEST_VALID_INFO(Message<TestValidStateChangeEvent> message) { public void SUBMIT_TEST_VALID_INFO(Message<TestValidStateChangeEvent> message) {
Purchase purchase = getPurchaseInfo(message); Purchase purchase = getPurchaseInfo(message);


+ 2
- 8
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/action/XcfhxStateChangeAction.java View File

@@ -1,9 +1,7 @@
package com.hz.pm.api.common.statemachine.action; package com.hz.pm.api.common.statemachine.action;


import cn.hutool.core.lang.Assert;
import com.hz.pm.api.common.statemachine.builder.impl.XcfhxStateMachineBuilderImpl; import com.hz.pm.api.common.statemachine.builder.impl.XcfhxStateMachineBuilderImpl;
import com.hz.pm.api.common.statemachine.event.ProjectStateChangeEvent; import com.hz.pm.api.common.statemachine.event.ProjectStateChangeEvent;
import com.hz.pm.api.common.statemachine.util.TenderStateMachineUtil;
import com.hz.pm.api.projectdeclared.model.entity.Purchase; import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import com.hz.pm.api.projectlib.model.enumeration.status.TenderXcfhxApplyStatus; import com.hz.pm.api.projectlib.model.enumeration.status.TenderXcfhxApplyStatus;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -11,6 +9,8 @@ import org.springframework.messaging.Message;
import org.springframework.statemachine.annotation.OnTransition; import org.springframework.statemachine.annotation.OnTransition;
import org.springframework.statemachine.annotation.WithStateMachine; import org.springframework.statemachine.annotation.WithStateMachine;


import static com.hz.pm.api.common.statemachine.action.TenderStateChangeActionUtil.getPurchaseInfo;

/** /**
* <p> * <p>
* XcfhxStateChangeAction * XcfhxStateChangeAction
@@ -23,12 +23,6 @@ import org.springframework.statemachine.annotation.WithStateMachine;
@WithStateMachine(id = XcfhxStateMachineBuilderImpl.MACHINE_ID) @WithStateMachine(id = XcfhxStateMachineBuilderImpl.MACHINE_ID)
public class XcfhxStateChangeAction { public class XcfhxStateChangeAction {


private Purchase getPurchaseInfo(Message<ProjectStateChangeEvent> message) {
Purchase purchase = (Purchase) message.getHeaders().get(TenderStateMachineUtil.PURCHASE);
Assert.notNull(purchase, "未获取到需要状态变更的标段信息");
return purchase;
}

/** /**
* 信创符合性申请 * 信创符合性申请
* *


+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/factory/TenderGuardFactory.java View File

@@ -1,6 +1,6 @@
package com.hz.pm.api.common.statemachine.factory; package com.hz.pm.api.common.statemachine.factory;


import com.hz.pm.api.common.statemachine.action.TenderStateChangeAction;
import com.hz.pm.api.common.statemachine.action.TenderStateChangeActionUtil;
import com.hz.pm.api.common.statemachine.event.TenderStateChangeEvent; import com.hz.pm.api.common.statemachine.event.TenderStateChangeEvent;
import com.hz.pm.api.projectdeclared.model.entity.Purchase; import com.hz.pm.api.projectdeclared.model.entity.Purchase;
import com.hz.pm.api.projectdeclared.model.enumerization.BidTypeEnum; import com.hz.pm.api.projectdeclared.model.enumerization.BidTypeEnum;
@@ -24,7 +24,7 @@ public class TenderGuardFactory {
public static class PurchaseContractRecordGuard implements Guard<ITenderStatus, TenderStateChangeEvent> { public static class PurchaseContractRecordGuard implements Guard<ITenderStatus, TenderStateChangeEvent> {
@Override @Override
public boolean evaluate(StateContext<ITenderStatus, TenderStateChangeEvent> context) { public boolean evaluate(StateContext<ITenderStatus, TenderStateChangeEvent> context) {
Purchase purchase = TenderStateChangeAction.getPurchaseInfo(context.getMessage());
Purchase purchase = TenderStateChangeActionUtil.getPurchaseInfo(context.getMessage());
return !BidTypeEnum.BUILD_APP.eq(purchase.getBidType()); return !BidTypeEnum.BUILD_APP.eq(purchase.getBidType());
} }
} }


+ 19
- 1
hz-pm-api/src/main/java/com/hz/pm/api/projectlib/helper/ProjectManageUtil.java View File

@@ -1,7 +1,9 @@
package com.hz.pm.api.projectlib.helper; package com.hz.pm.api.projectlib.helper;


import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.hz.pm.api.performance.model.entity.ProjectCoreBusinessIndicators; import com.hz.pm.api.performance.model.entity.ProjectCoreBusinessIndicators;
import com.hz.pm.api.user.helper.MhUnitCache;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;


@@ -26,6 +28,19 @@ import java.util.Map;
*/ */
public class ProjectManageUtil { public class ProjectManageUtil {


private static volatile MhUnitCache unitCache;

private static MhUnitCache getMhUnitCache() {
if (unitCache == null) {
synchronized (ProjectManageUtil.class) {
if (unitCache == null) {
unitCache = SpringUtil.getBean(MhUnitCache.class);
}
}
}
return unitCache;
}

private ProjectManageUtil() { private ProjectManageUtil() {


} }
@@ -59,7 +74,6 @@ public class ProjectManageUtil {


.like(req.getBuildOrg() != null, Project::getBuildOrgName, req.getBuildOrg()) .like(req.getBuildOrg() != null, Project::getBuildOrgName, req.getBuildOrg())
.eq(req.getUnitStrip() != null, Project::getUnitStrip, req.getUnitStrip()) .eq(req.getUnitStrip() != null, Project::getUnitStrip, req.getUnitStrip())
.eq(req.getBuildOrgCode() != null, Project::getBuildOrgCode, req.getBuildOrgCode())
.like(StringUtils.isNotBlank(req.getBuildOrgName()), Project::getBuildOrgName, req.getBuildOrgName()) .like(StringUtils.isNotBlank(req.getBuildOrgName()), Project::getBuildOrgName, req.getBuildOrgName())
.eq(req.getSuperOrgCode() != null, Project::getSuperOrgCode, req.getSuperOrgCode()) .eq(req.getSuperOrgCode() != null, Project::getSuperOrgCode, req.getSuperOrgCode())
.eq(req.getIsTemporaryAugment() != null, Project::getIsTemporaryAugment, req.getIsTemporaryAugment()) .eq(req.getIsTemporaryAugment() != null, Project::getIsTemporaryAugment, req.getIsTemporaryAugment())
@@ -72,6 +86,10 @@ public class ProjectManageUtil {
.notIn(CollUtil.isNotEmpty(req.getProjectCodes()), Project::getProjectCode, req.getProjectCodes()) .notIn(CollUtil.isNotEmpty(req.getProjectCodes()), Project::getProjectCode, req.getProjectCodes())
.eq(req.getIsStartDeclaredProject() != null, Project::getAnnualPlanOpened, req.getIsStartDeclaredProject()) .eq(req.getIsStartDeclaredProject() != null, Project::getAnnualPlanOpened, req.getIsStartDeclaredProject())
.orderByDesc(Project::getUpdateOn); .orderByDesc(Project::getUpdateOn);
if (req.getBuildOrgCode() != null) {
List<Long> viewOrgCodes = getMhUnitCache().getViewChildIdsRecursion(req.getDeclaredUnitId());
query.in(Project::getBuildOrgCode, viewOrgCodes);
}
} }


/** /**


Loading…
Cancel
Save