From e545b70125e81d7cde288b0c35f4f0ab30201a72 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Mon, 26 Feb 2024 17:19:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=A1=E5=88=9B=E5=AE=A1?= =?UTF-8?q?=E6=9F=A5=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ConstructionController.java | 10 ++- .../projectdeclared/manage/ConstructionManage.java | 73 ++++++++++++++++++++++ .../manage/FinalAcceptanceManage.java | 4 +- 3 files changed, 83 insertions(+), 4 deletions(-) diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/ConstructionController.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/ConstructionController.java index 28a397e..aff1c9b 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/ConstructionController.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/ConstructionController.java @@ -77,12 +77,18 @@ public class ConstructionController { return constructionManage.supplement(plans); } - @ApiOperation(value = "待初验备案的项目列表", notes = "待初验备案的项目列表") + @ApiOperation(value = "待初验备案的项目列表") @GetMapping("/pre-ins/project-list") public PageVo preProjectList(@ModelAttribute ProjectListReq req) { return constructionManage.preProjectList(req); } + @ApiOperation(value = "信创审查项目列表") + @GetMapping("/xcfhx/project-list") + public PageVo xcfhxProjectList(@ModelAttribute ProjectListReq req) { + return constructionManage.xcfhxProjectList(req); + } + @GetMapping("/pre-ins/export") @ApiOperation("待初验备案的项目列表导出") @WebLog("待初验备案的项目列表导出") @@ -106,7 +112,7 @@ public class ConstructionController { @ApiOperation("信创符合性申请") @WebLog("信创符合性申请") @PostMapping("/submitXcfhxApply") - public void submitXcfhxApply(@RequestBody XcfhxApplyReq req){ + public void submitXcfhxApply(@RequestBody XcfhxApplyReq req) { constructionManage.submitXcfhxApply(req); } diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java index 085323b..72883e7 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java @@ -413,6 +413,79 @@ public class ConstructionManage { return PageVo.of(records, total); } + public PageVo xcfhxProjectList(ProjectListReq req) { + UserInfoDetails user = LoginUserUtil.loginUserDetail(); + VUtils.isTrue(Objects.isNull(user)).throwMessage("获取登录用户失败!"); + LambdaQueryWrapper query = ProjectHelper.projectQuery(req); + //建设中状态 + query.eq(Project::getStatus, ProjectStatusEnum.ON_FIRST_INSPECTED.getCode()); + query.eq(Project::getStage, ProjectStatusEnum.PROJECT_APPROVED.getCode()); + query.eq(Project::getNewest, Boolean.TRUE); + //只能看自己单位的 + query.eq(Project::getBuildOrgCode, user.getMhUnitIdStr()); + query.orderByAsc(Project::getDeliveryTime); + Page page = projectService.page(req.page(), query); + long total; + if ((total = page.getTotal()) == 0) { + return PageVo.empty(); + } + + List projectIds = new ArrayList<>(); + for (Project project : page.getRecords()) { + projectIds.add(project.getId()); + } + List purchases = purchaseService.listByProjectIds(projectIds); + Map> purchaseMap = CollUtils.group(purchases, Purchase::getProjectId); + Map contractMap = contractService.listByProjectIds(projectIds); + Map> paymentPlansMap = projectPaymentPlanService.listByProjectIds(projectIds); + + List records = CollUtils.convert(page.getRecords(), w -> { + ProjectLibListItemVO item = new ProjectLibListItemVO(); + item.setId(w.getId()); + item.setProjectName(w.getProjectName()); + item.setCreateOn(w.getCreateOn()); + item.setDeclaredAmount(w.getDeclareAmount()); + item.setStage(w.getStage()); + item.setStatus(w.getStatus()); + item.setProjectType(w.getProjectType()); + item.setProjectYear(w.getProjectYear()); + item.setBuildOrg(w.getBuildOrgName()); + item.setBizDomain(w.getBizDomain()); + item.setProcessStatus(w.getProcessStatus()); + item.setInstCode(w.getInstCode()); + item.setIsHigherSuperOrg(w.getIsHigherSuperOrg()); + item.setApprovedAmount(w.getApprovalAmount()); + item.setApprovalDate(w.getApprovalDate()); + item.setDeliveryTime(w.getDeliveryTime()); + item.setContractAmount(w.getContractAmount()); + List paymentPlans = paymentPlansMap.getOrDefault(w.getId(), Collections.emptyList()); + BigDecimal totalAnnualAmount = paymentPlans.stream() + .map(ProjectAnnualPaymentPlan::getAnnualPlanAmount) + .reduce(BigDecimal::add).orElse(BigDecimal.ZERO); + item.setAnnualPlanAmount(totalAnnualAmount); + item.setTransactionTime(w.getTransactionTime()); + item.setTransactionAmount(w.getTransactionAmount()); + List currPurchases = purchaseMap.get(w.getId()); + if (currPurchases != null) { + List tmpPurchases = CollUtils.convert(currPurchases, x -> { + TenderListInfoVO tender = new TenderListInfoVO(); + tender.setBidName(x.getBidName()); + tender.setBidId(x.getId()); + tender.setBidStatus(x.getStatus()); + tender.setBidStatusName(TenderStatusEnum.getDescByStatus(x.getStatus())); + Contract contract = contractMap.get(x.getId()); + if (contract != null) { + tender.setConstructionAmount(contract.getTotalAmount()); + } + return tender; + }); + item.setTenders(tmpPurchases); + } + return item; + }); + return PageVo.of(records, total); + } + public void exportPreList(HttpServletResponse response, ProjectListReq param) { UserFullInfoDTO user = userInfoHelper.getUserFullInfo(LoginUserUtil.getUserId()); VUtils.isTrue(Objects.isNull(user)).throwMessage("获取登录用户失败!"); diff --git a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java index 384ffa5..2a69ee6 100644 --- a/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java +++ b/hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java @@ -97,8 +97,8 @@ public class FinalAcceptanceManage { /** * 待采购的-项目列表 * - * @param req - * @return + * @param req \ + * @return \ */ public PageVo projectLibList(ProjectListReq req) { UserFullInfoDTO user = userInfoHelper.getUserFullInfo(LoginUserUtil.getUserId());