Explorar el Código

feat:

1. 同步给信产项目增加出入参;
tags/24111501
WendyYang hace 3 meses
padre
commit
d8759321a4
Se han modificado 6 ficheros con 56 adiciones y 33 borrados
  1. +5
    -5
      hz-pm-api/src/main/java/com/hz/pm/api/open/controller/OpenApiProjectLibController.java
  2. +16
    -15
      hz-pm-api/src/main/java/com/hz/pm/api/open/manage/OpenApiProjectLibManage.java
  3. +6
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/open/model/po/MhSyncProjectListPO.java
  4. +12
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/DeclaredProjectInfoToMhVO.java
  5. +14
    -9
      hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java
  6. +3
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/workbench/model/WorkbenchProjectLibReq.java

+ 5
- 5
hz-pm-api/src/main/java/com/hz/pm/api/open/controller/OpenApiProjectLibController.java Ver fichero

@@ -1,8 +1,8 @@
package com.hz.pm.api.open.controller;

import com.hz.pm.api.open.manage.OpenApiProjectLibManage;
import com.hz.pm.api.open.model.po.ReviewPassProjectListPO;
import com.hz.pm.api.open.model.vo.ReviewPassProjectInfoToMhVO;
import com.hz.pm.api.open.model.po.MhSyncProjectListPO;
import com.hz.pm.api.open.model.vo.DeclaredProjectInfoToMhVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -28,9 +28,9 @@ public class OpenApiProjectLibController {
private final OpenApiProjectLibManage openApiProjectLibManage;

@PostMapping("/listReviewPassProject")
@ApiOperation("获取已复核通过的项目列表")
public List<ReviewPassProjectInfoToMhVO> listReviewPassProject(@RequestBody @Valid ReviewPassProjectListPO po) {
return openApiProjectLibManage.listReviewPassProject(po);
@ApiOperation("获取所有已经申报的项目")
public List<DeclaredProjectInfoToMhVO> listDeclaredProjects(@RequestBody @Valid MhSyncProjectListPO po) {
return openApiProjectLibManage.listDeclaredProjects(po);
}

}

+ 16
- 15
hz-pm-api/src/main/java/com/hz/pm/api/open/manage/OpenApiProjectLibManage.java Ver fichero

@@ -4,15 +4,15 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.hz.pm.api.common.model.constant.ExistsSqlConst;
import com.hz.pm.api.common.statemachine.event.ProjectStateChangeEvent;
import com.hz.pm.api.common.util.BizDateUtil;
import com.hz.pm.api.open.model.po.ReviewPassProjectListPO;
import com.hz.pm.api.open.model.po.MhSyncProjectListPO;
import com.hz.pm.api.open.model.vo.ReferSystemReplaceInfoToMhVO;
import com.hz.pm.api.open.model.vo.ReviewPassProjectInfoToMhVO;
import com.hz.pm.api.open.model.vo.DeclaredProjectInfoToMhVO;
import com.hz.pm.api.open.util.OpenApiCheckSignUtil;
import com.hz.pm.api.projectlib.entity.MhSystemReplaceInfo;
import com.hz.pm.api.projectlib.entity.ProjectGovSystemReplaceInfos;
import com.hz.pm.api.projectlib.model.entity.Project;
import com.hz.pm.api.projectlib.model.enumeration.status.ProjectStatus;
import com.hz.pm.api.projectlib.service.IMhSystemReplaceInfoService;
import com.hz.pm.api.projectlib.service.IProjectGovSystemReplaceInfosService;
import com.hz.pm.api.projectlib.service.IProjectService;
@@ -48,19 +48,20 @@ public class OpenApiProjectLibManage {
* @param po 参数
* @return 复核通过的项目
*/
public List<ReviewPassProjectInfoToMhVO> listReviewPassProject(ReviewPassProjectListPO po) {
public List<DeclaredProjectInfoToMhVO> listDeclaredProjects(MhSyncProjectListPO po) {
openApiCheckSignUtil.checkSign(po.getKey());
StringBuilder sql = new StringBuilder(ExistsSqlConst.PROJECT_EXISTS_STATUS_CHANGE)
.append(" and npsc.event = 'PROJECT_REVIEW_PASS'");
if (po.getReviewPassTime() != null) {
sql.append(String.format(" and npsc.create_on >= '%s'", BizDateUtil.toDateStr(po.getReviewPassTime())));
.append(StrUtil.format(" and npsc.event = '{}'", ProjectStateChangeEvent.PROJECT_APPLICATION_SUBMIT));
if (po.getCreateOn() != null) {
sql.append(String.format(" and npsc.create_on >= '%s'", BizDateUtil.toDateStr(po.getCreateOn())));
}
Wrapper<Project> query = Wrappers.lambdaQuery(Project.class)
.select(Project::getId, Project::getProjectCode, Project::getProjectName, Project::getBuildOrgCode, Project::getStatus,
Project::getDeclareAmount, Project::getProjectYear, Project::getCreateOn, Project::getBuildOrgName)
.exists(sql.toString())
.select(Project::getId, Project::getProjectCode, Project::getProjectName, Project::getBuildOrgCode,
Project::getStatus, Project::getReviewAmount, Project::getDeclareAmount, Project::getProjectYear,
Project::getCreateOn, Project::getBuildOrgName)
.eq(Project::getNewest, Boolean.TRUE)
.notIn(Project::getStage, ProjectStatus.CHANGE.getCode(), ProjectStatus.STOPPED.getCode())
.exists(sql.toString())
.eq(po.getProjectYear() != null, Project::getProjectYear, po.getProjectYear())
.orderByDesc(Project::getCreateOn);
List<Project> projects = projectService.list(query);
if (projects.isEmpty()) {
@@ -83,7 +84,9 @@ public class OpenApiProjectLibManage {
}

return projects.stream().map(w -> {
ReviewPassProjectInfoToMhVO item = new ReviewPassProjectInfoToMhVO();
DeclaredProjectInfoToMhVO item = new DeclaredProjectInfoToMhVO();
item.setId(w.getId());
item.setStatus(w.getStatus());
item.setCreateOn(w.getCreateOn());
item.setProjectYear(w.getProjectYear());
item.setProjectCode(w.getProjectCode());
@@ -91,8 +94,7 @@ public class OpenApiProjectLibManage {
item.setBuildOrgCode(w.getBuildOrgCode());
item.setBuildOrgName(w.getBuildOrgName());
item.setDeclareAmount(w.getDeclareAmount());
item.setStatus(w.getStatus());
item.setId(w.getId());
item.setReviewAmount(w.getReviewAmount());
List<MhSystemReplaceInfo> replaceInfoList = replaceInfoMap.get(w.getProjectCode());
if (replaceInfoList != null) {
List<ReferSystemReplaceInfoToMhVO> referSystemList = CollUtils.convert(replaceInfoList,
@@ -112,5 +114,4 @@ public class OpenApiProjectLibManage {
}).collect(Collectors.toList());
}


}

hz-pm-api/src/main/java/com/hz/pm/api/open/model/po/ReviewPassProjectListPO.java → hz-pm-api/src/main/java/com/hz/pm/api/open/model/po/MhSyncProjectListPO.java Ver fichero

@@ -15,13 +15,16 @@ import java.time.LocalDateTime;
* @since 10:59 2024/11/7
*/
@Data
public class ReviewPassProjectListPO {
public class MhSyncProjectListPO {

@ApiModelProperty("校验公钥")
@NotBlank(message = "秘钥不能为空")
private String key;

@ApiModelProperty("复核通过时间")
private LocalDateTime reviewPassTime;
@ApiModelProperty("申报时间")
private LocalDateTime createOn;

@ApiModelProperty("项目年度")
private Integer projectYear;

}

hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/ReviewPassProjectInfoToMhVO.java → hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/DeclaredProjectInfoToMhVO.java Ver fichero

@@ -2,7 +2,9 @@ package com.hz.pm.api.open.model.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Tolerate;

import java.math.BigDecimal;
import java.time.LocalDateTime;
@@ -17,7 +19,13 @@ import java.util.List;
* @since 10:14 2024/11/7
*/
@Data
public class ReviewPassProjectInfoToMhVO {
@Builder
public class DeclaredProjectInfoToMhVO {

@Tolerate
public DeclaredProjectInfoToMhVO() {
// 无参构造
}

@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -41,6 +49,9 @@ public class ReviewPassProjectInfoToMhVO {
@ApiModelProperty("申报金额")
private BigDecimal declareAmount;

@ApiModelProperty("评审金额")
private BigDecimal reviewAmount;

@ApiModelProperty("项目状态")
private Integer status;


+ 14
- 9
hz-pm-api/src/main/java/com/hz/pm/api/workbench/manage/WorkbenchManage.java Ver fichero

@@ -769,23 +769,28 @@ public class WorkbenchManage {
.ge(req.getApproveAmountMin() != null, Project::getApprovalAmount, req.getApproveAmountMin())
.le(req.getApproveAmountMax() != null, Project::getApprovalAmount, req.getApproveAmountMax())
.eq(req.getUnitStrip() != null, Project::getUnitStrip, req.getUnitStrip())
.exists(StrUtil.isNotBlank(req.getSourceSystem()), ExistsSqlConst.PROJECT_EXISTS_SYSTEM_REPLACE_INFOS
+ " and source_system like {0}", StrUtil.format("%{}%", req.getSourceSystem()))
.exists(req.getBidStatus() != null, ExistsSqlConst.PROJECT_EXISTS_PURCHASE
+ " and status = {0}", req.getBidStatus())
.eq(Project::getNewest, Boolean.TRUE)
.orderByDesc(Project::getUpdateOn);
if (req.getIsInMhSystemReplaceInfos() != null) {
if (Boolean.TRUE.equals(req.getIsInMhSystemReplaceInfos())) {
query.exists(ExistsSqlConst.PROJECT_EXISTS_SYSTEM_REPLACE_INFOS + " and LENGTH(NVL(source_system_id,'')) > 0");
} else {
query.notExists(ExistsSqlConst.PROJECT_EXISTS_SYSTEM_REPLACE_INFOS + " and LENGTH(NVL(source_system_id,'')) > 0");
}
}
List<Long> unitIds = unitQueryState.getUnitIds();
if (CollUtil.isNotEmpty(unitIds)) {
query.in(Project::getBuildOrgCode, CollUtils.convert(unitIds, String::valueOf));
}
if (req.getReplaceType() != null || StrUtil.isNotBlank(req.getSourceSystem()) || req.getIsInMhSystemReplaceInfos() != null) {
StringBuilder sql = new StringBuilder();
if (req.getReplaceType() != null) {
sql.append(StrUtil.format(" and npgsri.replace_type = '{}'", req.getReplaceType()));
}
if (StrUtil.isNotBlank(req.getSourceSystem())) {
sql.append(StrUtil.format(" and npgsri.source_system like '%{}%'", req.getSourceSystem()));
}
if (req.getIsInMhSystemReplaceInfos() != null) {
char symbol = (Boolean.TRUE.equals(req.getIsInMhSystemReplaceInfos()) ? '>' : '=');
sql.append(" and LENGTH(NVL(source_system_id,'')) ").append(symbol).append(" 0");
}
query.exists(ExistsSqlConst.PROJECT_EXISTS_SYSTEM_REPLACE_INFOS + sql);
}
return query;
}



+ 3
- 0
hz-pm-api/src/main/java/com/hz/pm/api/workbench/model/WorkbenchProjectLibReq.java Ver fichero

@@ -61,4 +61,7 @@ public class WorkbenchProjectLibReq extends PagePo {
@ApiModelProperty("是否计划内系统")
private Boolean isInMhSystemReplaceInfos;

@ApiModelProperty("替代类型")
private Integer replaceType;

}

Cargando…
Cancelar
Guardar