diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/open/manage/OpenApiProjectLibManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/open/manage/OpenApiProjectLibManage.java index ef0d9a3..018d7a4 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/open/manage/OpenApiProjectLibManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/open/manage/OpenApiProjectLibManage.java @@ -41,6 +41,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; import java.util.*; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -198,7 +199,8 @@ public class OpenApiProjectLibManage { public List listTenders(TenderListReq req) { openApiCheckSignUtil.checkSign(req.getKey()); Wrapper projQuery = Wrappers.lambdaQuery(Project.class) - .select(Project::getId, Project::getProjectCode) + .select(Project::getId, Project::getProjectCode, Project::getBuildOrgCode, Project::getProjectName, + Project::getContactName, Project::getContactPhone, Project::getBuildOrgName) .eq(req.getProjectYear() != null, Project::getProjectYear, req.getProjectYear()) .eq(req.getBuildOrgCode() != null, Project::getBuildOrgCode, req.getBuildOrgCode()) .eq(req.getProjectCode() != null, Project::getProjectCode, req.getProjectCode()) @@ -208,10 +210,11 @@ public class OpenApiProjectLibManage { if (projects.isEmpty()) { return Collections.emptyList(); } - List projectIds = projects.stream() - .map(w -> ProjectIdCodeCacheUtil.get(w.getProjectCode())) - .flatMap(Collection::stream) - .collect(Collectors.toList()); + List projectIds = new ArrayList<>(); + Map projectMap = CollUtils.listToMap(projects, w -> { + projectIds.addAll(ProjectIdCodeCacheUtil.get(w.getProjectCode())); + return w.getProjectCode(); + }, Function.identity(), (v1, v2) -> v1.getId() > v2.getId() ? v1 : v2); Wrapper purQuery = Wrappers.lambdaQuery(Purchase.class) .in(Purchase::getProjectId, projectIds) .ge(req.getBidUpdateOn() != null, Purchase::getUpdateOn, req.getBidUpdateOn()) @@ -239,7 +242,17 @@ public class OpenApiProjectLibManage { TenderToMhDetailVO tender = new TenderToMhDetailVO(); tender.setBidId(w.getId()); tender.setCreateOn(w.getCreateOn()); - tender.setProjectCode(ProjectIdCodeCacheUtil.get(w.getProjectId())); + + // 设置项目信息 + String projectCode = ProjectIdCodeCacheUtil.get(w.getProjectId()); + Project project = projectMap.get(projectCode); + tender.setProjectCode(projectCode); + tender.setProjectName(project.getProjectName()); + tender.setBuildOrgCode(project.getBuildOrgCode()); + tender.setBuildOrgName(project.getBuildOrgName()); + tender.setProjectContactPerson(project.getContactName()); + tender.setProjectContact(project.getContactPhone()); + tender.setName(w.getBidName()); tender.setBuyMain(String.valueOf(w.getPurchaseUnitId())); tender.setBuildContent(w.getBidBuildContent()); @@ -256,8 +269,9 @@ public class OpenApiProjectLibManage { Operation operation = operationMap.get(w.getId()); if (operation != null) { tender.setRefactorTime(operation.getActualAdaptionTime()); + tender.setImplPlanFinalTime(operation.getFinalInspectionDate()); } - + tender.setIsFinishInitialAccept(StrUtil.isNotBlank(w.getPreliminaryInspectionMaterials())); BizUtils.notNull(w.getXcfhxEvalFinishDate(), ft -> tender.setXcCompleteTime(ft.atStartOfDay())); BizUtils.notNull(w.getSecurityEvalDate(), ft -> tender.setLpCompleteTime(ft.atStartOfDay())); BizUtils.notNull(w.getFinalInspectionDate(), ft -> tender.setFinalTime(ft.atStartOfDay())); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/TenderToMhDetailVO.java b/hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/TenderToMhDetailVO.java index fdf50f6..e4d1aec 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/TenderToMhDetailVO.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/open/model/vo/TenderToMhDetailVO.java @@ -18,9 +18,26 @@ import java.util.List; @Data public class TenderToMhDetailVO { + @ApiModelProperty(value = "项目名称") + private String projectName; + @ApiModelProperty(value = "项目编码") private String projectCode; + @ApiModelProperty("建设单位编码") + private String buildOrgCode; + + @ApiModelProperty("建设单位名称") + private String buildOrgName; + + @ApiModelProperty(value = "项目联系人") + private String projectContactPerson; + + @ApiModelProperty(value = "项目联系人电话") + private String projectContact; + + // 标项信息 + @ApiModelProperty(value = "标项ID") private Long bidId; @@ -111,4 +128,10 @@ public class TenderToMhDetailVO { @ApiModelProperty("等保测评报告(附件)") private String lpReportFiles; + @ApiModelProperty(value = "标项是否完成初验") + private Boolean isFinishInitialAccept; + + @ApiModelProperty(value = "实施计划终验时间") + private LocalDateTime implPlanFinalTime; + }