ソースを参照

重大项目联审

master
PoffyZhang 1年前
コミット
238d0ca5a7
6個のファイルの変更38行の追加53行の削除
  1. +3
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/organization/manage/ProcDefManage.java
  2. +6
    -2
      pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/converter/ApplicationConverter.java
  3. +6
    -0
      pmapi/src/main/java/com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java
  4. +16
    -43
      pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CheckProvincialReviewResultTask.java
  5. +4
    -3
      pmapi/src/main/resources/application-dev.yml
  6. +3
    -3
      pmapi/src/main/resources/application-prod.yml

+ 3
- 2
pmapi/src/main/java/com/ningdatech/pmapi/organization/manage/ProcDefManage.java ファイルの表示

@@ -75,8 +75,9 @@ public class ProcDefManage {
}

private void saveDef(DingOrganization org,ProcessDefTypeEnum defTypeEnum){
String procDefId = ProcDefContant.MODELS_ID_PREFIX + IdUtil.objectId();
WflowOrgModels defaultModel = new WflowOrgModels();
defaultModel.setProcessDefId(ProcDefContant.MODELS_ID_PREFIX + IdUtil.objectId());
defaultModel.setProcessDefId(procDefId);
defaultModel.setIsStop(Boolean.FALSE);
defaultModel.setProcess(StrPool.BRACE);
defaultModel.setCreated(LocalDateTime.now());
@@ -90,7 +91,7 @@ public class ProcDefManage {
orgProcdefService.save(defaultModel);

WflowOrgModelHistorys defaultHistory = new WflowOrgModelHistorys();
defaultHistory.setProcessDefId(ProcDefContant.MODELS_ID_PREFIX + IdUtil.objectId());
defaultHistory.setProcessDefId(procDefId);
defaultHistory.setProcess(StrPool.BRACE);
defaultHistory.setCreated(LocalDateTime.now());
defaultHistory.setOrgCode(org.getOrganizationCode());


+ 6
- 2
pmapi/src/main/java/com/ningdatech/pmapi/projectdeclared/converter/ApplicationConverter.java ファイルの表示

@@ -30,6 +30,9 @@ public class ApplicationConverter {
public static ProvincialProjectDTO convertProject(Project projectInfo, List<ProjectApplication> applications,
FileService fileService) {
return ProvincialProjectDTO.builder()
//暂时先写死
.operationManageUnit("GO_6c383c049d95461f9a0df780140ceb32")
.digitalReform(String.valueOf(projectInfo.getBizDomain()))
.regionCode(projectInfo.getAreaCode())
.regionName(projectInfo.getArea())
.projectName(projectInfo.getProjectName())
@@ -109,8 +112,9 @@ public class ApplicationConverter {
return ProvincialApplicationDTO.builder()
.clouds(convertCloud(projectApplication))
.isFirst(projectApplication.getIsFirst())
.applicationName(projectApplication.getApplicationName())
.applicationCode(projectApplication.getRelatedExistsApplicationCode())
.applicationName((projectApplication.getApplicationName()))
.applicationCode(StringUtils.isNotBlank(projectApplication.getAppCode()) ?
projectApplication.getAppCode() : projectApplication.getRelatedExistsApplicationCode())
.relatedExistsApplication(projectApplication.getRelatedExistsApplication())
.applicationType(2)
.buildLevel(projectApplication.getBuildLevel())


+ 6
- 0
pmapi/src/main/java/com/ningdatech/pmapi/provincial/model/dto/ProvincialProjectDTO.java ファイルの表示

@@ -30,6 +30,12 @@ public class ProvincialProjectDTO implements Serializable {
@ApiModelProperty("区域名称")
private String regionName;

@ApiModelProperty("数字化改革系统 可以多选 1: '党政机关整体智治',2: '数字政府',3: '数字经济',4: '数字社会',7: '数字文化',5: '数字法治',6: '一体化智能化公共数据平台',8: '基层智治'")
private String digitalReform;

@ApiModelProperty("业务主管单位浙政钉code,多个单位用英文;组成字符串。数据通过接口-查询省本级业务主管单位获取对应数据")
private String operationManageUnit;

@ApiModelProperty("重大项目名称")
private String projectName;



+ 16
- 43
pmapi/src/main/java/com/ningdatech/pmapi/scheduler/task/CheckProvincialReviewResultTask.java ファイルの表示

@@ -4,15 +4,16 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.http.HttpStatus;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists;
import com.ningdatech.pmapi.common.constant.ProjectDeclareConst;
import com.ningdatech.pmapi.common.constant.RegionConst;
import com.ningdatech.pmapi.common.statemachine.util.StateMachineUtils;
import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum;
import com.ningdatech.pmapi.projectlib.model.entity.Project;
import com.ningdatech.pmapi.projectlib.service.IProjectService;
import com.ningdatech.pmapi.provincial.enumeration.ProjectProvincialAuditStatusEnum;
import com.ningdatech.pmapi.provincial.model.res.ProvincialProjectRes;
import com.ningdatech.pmapi.provincial.model.res.SjApiResponse;
import com.ningdatech.pmapi.provincial.service.IJoinReviewProvincialBureauService;
import com.ningdatech.pmapi.scheduler.contants.TaskContant;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -51,8 +52,11 @@ public class CheckProvincialReviewResultTask {
//1. 定时取 省级部门联审中的项目 去取项目
List<Project> projectList = projectService.list(Wrappers.lambdaQuery(Project.class)
.eq(Project::getStage, ProjectStatusEnum.NOT_APPROVED.getCode())
.eq(Project::getStatus, ProjectStatusEnum.JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS.getCode())
.orderByAsc(Project::getCreateOn));
.in(Project::getStatus, Lists.newArrayList(ProjectStatusEnum.JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS.getCode(),
ProjectStatusEnum.PENDING_PREQUALIFICATION.getCode(),ProjectStatusEnum.PRE_APPLYING.getCode()))
.ge(Project::getDeclareAmount, ProjectDeclareConst.Number.DECLARE_AMOUNT_JUDGEMENT)
.eq(Project::getAreaCode, RegionConst.RC_LS)
.orderByAsc(Project::getCreateOn));

log.info("需要去查询省级联审结果的项目 size:{}",projectList.size());
if(CollUtil.isEmpty(projectList)){
@@ -72,51 +76,20 @@ public class CheckProvincialReviewResultTask {
ProvincialProjectRes projectRes = JSON.parseObject(JSON.toJSONString(apiResponse.getData()),
ProvincialProjectRes.class);

if(ProjectProvincialAuditStatusEnum.NOT_AUDIT.getCode().equals(projectRes.getProjectStatus())){
log.info("此项目 【{}】 还未审核",projectRes.getProjectId());
} else if(ProjectProvincialAuditStatusEnum.AUDITING.getCode().equals(projectRes.getProjectStatus())){
log.info("此项目 【{}】 还在审核中",projectRes.getProjectId());
project.setUpdateOn(LocalDateTime.now());
//保存审核结果
project.setSjlsResult(CollUtil.isNotEmpty(projectRes.getProcessComment())
? JSON.toJSONString(projectRes.getProcessComment()) : StringUtils.EMPTY);
projectService.updateById(project);
}else if(ProjectProvincialAuditStatusEnum.SUCCESS.getCode().equals(projectRes.getProjectStatus())){
log.info("此项目 【{}】 审核通过",projectRes.getProjectId());
stateMachineUtils.pass(project);
project.setUpdateOn(LocalDateTime.now());
//保存审核结果
project.setSjlsResult(CollUtil.isNotEmpty(projectRes.getProcessComment())
? JSON.toJSONString(projectRes.getProcessComment()) : StringUtils.EMPTY);
projectService.updateById(project);
//直接去预审(改成 省级部门联审成功 也可以去申报)
// prequalificationDeclaredProjectManage.directStartProcess(project,project.getPreStartUserId());
}else if(ProjectProvincialAuditStatusEnum.FAIL.getCode().equals(projectRes.getProjectStatus())){
log.info("此项目 【{}】 审核不通过",projectRes.getProjectId());
stateMachineUtils.reject(project);
project.setUpdateOn(LocalDateTime.now());
//保存审核结果
project.setSjlsResult(CollUtil.isNotEmpty(projectRes.getProcessComment())
? JSON.toJSONString(projectRes.getProcessComment()) : StringUtils.EMPTY);
projectService.updateById(project);
}else if(ProjectProvincialAuditStatusEnum.WITHDRAW.getCode().equals(projectRes.getProjectStatus())){
log.info("此项目 【{}】 审核被撤回",projectRes.getProjectId());
stateMachineUtils.reject(project);
project.setUpdateOn(LocalDateTime.now());
//保存审核结果
project.setSjlsResult(CollUtil.isNotEmpty(projectRes.getProcessComment())
? JSON.toJSONString(projectRes.getProcessComment()) : StringUtils.EMPTY);
projectService.updateById(project);
}else if(ProjectProvincialAuditStatusEnum.BACK.getCode().equals(projectRes.getProjectStatus())){
log.info("此项目 【{}】 审核被退回",projectRes.getProjectId());
stateMachineUtils.reject(project);
if(CollUtil.isNotEmpty(projectRes.getProcessComment())){
log.info("此项目 【{}】 返回了审批信息",projectRes.getProjectId());
//在省级联审 才调状态机 否则 只改变 联审结果
if(ProjectStatusEnum.JOINT_REVIEW_BY_PROVINCIAL_DEPARTMENTS.getCode().equals(
project.getStatus())){
stateMachineUtils.pass(project);
}
project.setUpdateOn(LocalDateTime.now());
//保存审核结果
project.setSjlsResult(CollUtil.isNotEmpty(projectRes.getProcessComment())
? JSON.toJSONString(projectRes.getProcessComment()) : StringUtils.EMPTY);
projectService.updateById(project);
}else{
log.info("此项目 【{}】 审核结果错误",projectRes.getProjectId());
log.info("此项目 【{}】 还没有审批信息",projectRes.getProjectId());
}
}catch (Exception e){
log.error("项目审核信息获取异常 projectId:【" + project.getId() + "】 异常内容:" + e.getMessage());


+ 4
- 3
pmapi/src/main/resources/application-dev.yml ファイルの表示

@@ -194,11 +194,12 @@ yxt:

#省局联审 请求信息
provincial:
host: http://zj.ningdatech.com/prometheus-zhejiang_foreign
# host: http://zj.ningdatech.com/prometheus-zhejiang_foreign
host: http://223.4.72.75/prometheus-zhejiang_foreign
pushUrl: /api/v1/foreign/importantPro
detailUrl: /api/v1/foreign/importantProView
key: 7196317343a64e67895dc0375c098fe7
secret: 75152a97f20e4c4c854dc6301cf72ad4
key: 7fb48b518c6044a5a44deddd11b445e3
secret: ced8fff70018413c9516c58f95885624


#天印服务器接口信息


+ 3
- 3
pmapi/src/main/resources/application-prod.yml ファイルの表示

@@ -193,11 +193,11 @@ yxt:

#省局联审 请求信息
provincial:
host: http://zj.ningdatech.com/prometheus-zhejiang_foreign
host: http://223.4.72.75/prometheus-zhejiang_foreign
pushUrl: /api/v1/foreign/importantPro
detailUrl: /api/v1/foreign/importantProView
key: 7196317343a64e67895dc0375c098fe7
secret: 75152a97f20e4c4c854dc6301cf72ad4
key: 7fb48b518c6044a5a44deddd11b445e3
secret: ced8fff70018413c9516c58f95885624


#天印服务器接口信息


読み込み中…
キャンセル
保存