Browse Source

修复上传初验材料状态校验

tags/24080901
WendyYang 10 months ago
parent
commit
bee0d39f85
11 changed files with 81 additions and 46 deletions
  1. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/common/statemachine/event/TenderStatusChangeEvent.java
  2. +2
    -1
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/ConstructionController.java
  3. +2
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/DeclaredProjectController.java
  4. +24
    -15
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java
  5. +5
    -5
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DeclaredProjectManage.java
  6. +12
    -2
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java
  7. +12
    -13
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/entity/Purchase.java
  8. +10
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/req/SubmitPurchaseNoticeReq.java
  9. +5
    -0
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/req/XcfhxApplyReq.java
  10. +4
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/service/IPurchaseService.java
  11. +3
    -3
      hz-pm-api/src/main/java/com/hz/pm/api/todocenter/manage/HandlerManage.java

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

@@ -52,11 +52,11 @@ public enum TenderStatusChangeEvent {
/** /**
* 终验申报重新提交 * 终验申报重新提交
*/ */
RESUBMIT_FINALLY_INSPECTED(402, null, null),
RESUBMIT_FINALLY_INSPECTED(502, null, null),
/** /**
* 终验申报通过 * 终验申报通过
*/ */
FINALLY_INSPECTED_PASSED(502, null, null),
FINALLY_INSPECTED_PASSED(501, null, null),
/** /**
* 终验申报拒绝 * 终验申报拒绝
*/ */


+ 2
- 1
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/ConstructionController.java View File

@@ -21,6 +21,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.List; import java.util.List;


/** /**
@@ -106,7 +107,7 @@ public class ConstructionController {
@ApiOperation("信创符合性申请") @ApiOperation("信创符合性申请")
@WebLog("信创符合性申请") @WebLog("信创符合性申请")
@PostMapping("/submitXcfhxApply") @PostMapping("/submitXcfhxApply")
public void submitXcfhxApply(@RequestBody XcfhxApplyReq req) {
public void submitXcfhxApply(@RequestBody @Valid XcfhxApplyReq req) {
constructionManage.submitXcfhxApply(req); constructionManage.submitXcfhxApply(req);
} }




+ 2
- 2
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/controller/DeclaredProjectController.java View File

@@ -78,14 +78,14 @@ public class DeclaredProjectController {
@WebLog("申报项目保存至草稿箱") @WebLog("申报项目保存至草稿箱")
@PostMapping("/save-to-draft") @PostMapping("/save-to-draft")
public Object saveToDraft(@Validated @RequestBody ProjectDraftSaveDTO dto) { public Object saveToDraft(@Validated @RequestBody ProjectDraftSaveDTO dto) {
return declaredProjectManage.saveToDraft(dto, ProjectDraftTypeEnum.PROJECT_DECLARED.getCode());
return declaredProjectManage.saveToDraft(dto, ProjectDraftTypeEnum.PROJECT_DECLARED);
} }


@ApiOperation(value = "立项备案保存至草稿箱", notes = "立项备案保存至草稿箱") @ApiOperation(value = "立项备案保存至草稿箱", notes = "立项备案保存至草稿箱")
@WebLog("立项备案保存至草稿箱") @WebLog("立项备案保存至草稿箱")
@PostMapping("/declaredRecord/save-to-draft") @PostMapping("/declaredRecord/save-to-draft")
public Object declaredRecordSaveToDraft(@Validated @RequestBody ProjectDraftSaveDTO dto) { public Object declaredRecordSaveToDraft(@Validated @RequestBody ProjectDraftSaveDTO dto) {
return declaredProjectManage.saveToDraft(dto, ProjectDraftTypeEnum.DECLARED_RECORD.getCode());
return declaredProjectManage.saveToDraft(dto, ProjectDraftTypeEnum.DECLARED_RECORD);
} }


@ApiOperation(value = "申报项目", notes = "申报项目") @ApiOperation(value = "申报项目", notes = "申报项目")


+ 24
- 15
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/ConstructionManage.java View File

@@ -29,16 +29,16 @@ import com.hz.pm.api.projectdeclared.model.vo.ProjectContractListVO;
import com.hz.pm.api.projectdeclared.service.*; import com.hz.pm.api.projectdeclared.service.*;
import com.hz.pm.api.projectlib.helper.ProjectHelper; import com.hz.pm.api.projectlib.helper.ProjectHelper;
import com.hz.pm.api.projectlib.model.entity.Project; import com.hz.pm.api.projectlib.model.entity.Project;
import com.hz.pm.api.projectlib.model.entity.ProjectInst;
import com.hz.pm.api.projectlib.model.entity.ProjectAnnualPaymentPlan; import com.hz.pm.api.projectlib.model.entity.ProjectAnnualPaymentPlan;
import com.hz.pm.api.projectlib.model.entity.ProjectInst;
import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum; import com.hz.pm.api.projectlib.model.enumeration.ProjectStatusEnum;
import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum; import com.hz.pm.api.projectlib.model.enumeration.ProjectTypeNewEnum;
import com.hz.pm.api.projectlib.model.enumeration.TenderStatusEnum; import com.hz.pm.api.projectlib.model.enumeration.TenderStatusEnum;
import com.hz.pm.api.projectlib.model.req.ProjectListReq; import com.hz.pm.api.projectlib.model.req.ProjectListReq;
import com.hz.pm.api.projectlib.model.vo.ProjectLibListItemVO; import com.hz.pm.api.projectlib.model.vo.ProjectLibListItemVO;
import com.hz.pm.api.projectlib.model.vo.TenderListInfoVO; import com.hz.pm.api.projectlib.model.vo.TenderListInfoVO;
import com.hz.pm.api.projectlib.service.IProjectInstService;
import com.hz.pm.api.projectlib.service.IProjectAnnualPaymentPlanService; import com.hz.pm.api.projectlib.service.IProjectAnnualPaymentPlanService;
import com.hz.pm.api.projectlib.service.IProjectInstService;
import com.hz.pm.api.projectlib.service.IProjectService; import com.hz.pm.api.projectlib.service.IProjectService;
import com.hz.pm.api.user.security.model.UserFullInfoDTO; import com.hz.pm.api.user.security.model.UserFullInfoDTO;
import com.hz.pm.api.user.security.model.UserInfoDetails; import com.hz.pm.api.user.security.model.UserInfoDetails;
@@ -334,6 +334,16 @@ public class ConstructionManage {
return "填写成功"; return "填写成功";
} }


private static final List<TenderStatusEnum> PRE_INSPECTED_PURCHASE_STATUS;

static {
PRE_INSPECTED_PURCHASE_STATUS = new ArrayList<>();
PRE_INSPECTED_PURCHASE_STATUS.add(TenderStatusEnum.TO_BE_SUBMIT_FIRST_INSPECTED_INFO);
PRE_INSPECTED_PURCHASE_STATUS.add(TenderStatusEnum.TO_BE_SUBMIT_XCFHX_APPLY);
PRE_INSPECTED_PURCHASE_STATUS.add(TenderStatusEnum.ON_XCFHX_APPLY);
PRE_INSPECTED_PURCHASE_STATUS.add(TenderStatusEnum.XCFHX_APPLY_FAILED);
}

/** /**
* 待初验项目列表 * 待初验项目列表
* *
@@ -342,11 +352,12 @@ public class ConstructionManage {
*/ */
public PageVo<ProjectLibListItemVO> preProjectList(ProjectListReq req) { public PageVo<ProjectLibListItemVO> preProjectList(ProjectListReq req) {
UserInfoDetails user = LoginUserUtil.loginUserDetail(); UserInfoDetails user = LoginUserUtil.loginUserDetail();
VUtils.isTrue(Objects.isNull(user)).throwMessage("获取登录用户失败!");
Set<Long> projectIds = purchaseService.listProjectIdByStatus(PRE_INSPECTED_PURCHASE_STATUS);
if (projectIds.isEmpty()) {
return PageVo.empty();
}
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req); LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req);
//建设中状态
query.in(Project::getStatus, ProjectStatusEnum.TO_BE_FIRST_INSPECTED.getCode(),
ProjectStatusEnum.ON_FIRST_INSPECTED.getCode());
query.in(Project::getId, projectIds);
query.eq(Project::getStage, ProjectStatusEnum.PROJECT_APPROVED.getCode()); query.eq(Project::getStage, ProjectStatusEnum.PROJECT_APPROVED.getCode());
query.eq(Project::getNewest, Boolean.TRUE); query.eq(Project::getNewest, Boolean.TRUE);
//只能看自己单位的 //只能看自己单位的
@@ -357,12 +368,8 @@ public class ConstructionManage {
if ((total = page.getTotal()) == 0) { if ((total = page.getTotal()) == 0) {
return PageVo.empty(); return PageVo.empty();
} }

List<Long> projectIds = new ArrayList<>();
for (Project project : page.getRecords()) {
projectIds.add(project.getId());
}
List<Purchase> purchases = purchaseService.listByProjectIds(projectIds);
List<Long> currPageProjectIds = CollUtils.fieldList(page.getRecords(), Project::getId);
List<Purchase> purchases = purchaseService.listByProjectIds(currPageProjectIds);
Map<Long, List<Purchase>> purchaseMap = CollUtils.group(purchases, Purchase::getProjectId); Map<Long, List<Purchase>> purchaseMap = CollUtils.group(purchases, Purchase::getProjectId);
Map<Long, Contract> contractMap = contractService.listByProjectIds(projectIds); Map<Long, Contract> contractMap = contractService.listByProjectIds(projectIds);
Map<Long, List<ProjectAnnualPaymentPlan>> paymentPlansMap = projectPaymentPlanService.listByProjectIds(projectIds); Map<Long, List<ProjectAnnualPaymentPlan>> paymentPlansMap = projectPaymentPlanService.listByProjectIds(projectIds);
@@ -621,9 +628,11 @@ public class ConstructionManage {
purchase.setActualPerformanceIndicators(req.getActualPerformanceIndicators()); purchase.setActualPerformanceIndicators(req.getActualPerformanceIndicators());
purchaseService.updateById(purchase); purchaseService.updateById(purchase);
// 判断是否所有标段都上传了初验材料 // 判断是否所有标段都上传了初验材料
List<Purchase> purchases = purchaseService.listByProjectId(req.getProjectId());
boolean finishedPreInst = purchases.stream().noneMatch(w -> TenderStatusEnum.TO_BE_SUBMIT_FIRST_INSPECTED_INFO.eq(w.getStatus()));
if (finishedPreInst) {
LambdaQueryWrapper<Purchase> purchaseQuery = Wrappers.lambdaQuery(Purchase.class)
.eq(Purchase::getProjectId, req.getProjectId())
.apply("LENGTH(NVL(preliminary_inspection_materials,'')) = 0")
.last(BizConst.LIMIT_1);
if (purchaseService.count(purchaseQuery) == 0) {
Project project = projectService.getById(req.getProjectId()); Project project = projectService.getById(req.getProjectId());
stateMachineUtil.pass(project); stateMachineUtil.pass(project);
projectService.updateById(project); projectService.updateById(project);


+ 5
- 5
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/DeclaredProjectManage.java View File

@@ -26,6 +26,7 @@ import com.hz.pm.api.irs.manage.ProjectIrsManage;
import com.hz.pm.api.projectdeclared.contants.DeclaredProjectConst; import com.hz.pm.api.projectdeclared.contants.DeclaredProjectConst;
import com.hz.pm.api.projectdeclared.model.dto.*; import com.hz.pm.api.projectdeclared.model.dto.*;
import com.hz.pm.api.projectdeclared.model.entity.ProjectDraft; import com.hz.pm.api.projectdeclared.model.entity.ProjectDraft;
import com.hz.pm.api.projectdeclared.model.enumerization.ProjectDraftTypeEnum;
import com.hz.pm.api.projectdeclared.model.vo.ProjectDraftVO; import com.hz.pm.api.projectdeclared.model.vo.ProjectDraftVO;
import com.hz.pm.api.projectdeclared.service.IProjectDraftService; import com.hz.pm.api.projectdeclared.service.IProjectDraftService;
import com.hz.pm.api.projectlib.helper.ProjectHelper; import com.hz.pm.api.projectlib.helper.ProjectHelper;
@@ -312,9 +313,8 @@ public class DeclaredProjectManage {
* @param dto \ * @param dto \
* @return \ * @return \
*/ */
public Long saveToDraft(ProjectDraftSaveDTO dto, Integer draftType) {
public Long saveToDraft(ProjectDraftSaveDTO dto, ProjectDraftTypeEnum draftType) {
UserInfoDetails user = LoginUserUtil.loginUserDetail(); UserInfoDetails user = LoginUserUtil.loginUserDetail();
Long userId = user.getUserId();


ProjectDTO projectInfo = dto.getProjectInfo(); ProjectDTO projectInfo = dto.getProjectInfo();
ProjectDraft draft = new ProjectDraft(); ProjectDraft draft = new ProjectDraft();
@@ -323,7 +323,7 @@ public class DeclaredProjectManage {
//写死 是否有主管单位 //写死 是否有主管单位
draft.setIsHigherSuperOrg(CommonEnum.YES.getCode()); draft.setIsHigherSuperOrg(CommonEnum.YES.getCode());
draft.setIsSuperOrg(CommonEnum.YES.getCode()); draft.setIsSuperOrg(CommonEnum.YES.getCode());
draft.setUserId(String.valueOf(userId));
draft.setUserId(user.getUserIdStr());
draft.setBuildOrgCode(user.getMhUnitIdStr()); draft.setBuildOrgCode(user.getMhUnitIdStr());
draft.setBuildOrgName(user.getMhUnitName()); draft.setBuildOrgName(user.getMhUnitName());


@@ -344,9 +344,9 @@ public class DeclaredProjectManage {
draft.setCreateOn(LocalDateTime.now()); draft.setCreateOn(LocalDateTime.now());
} }
} }
draft.setDraftType(draftType);
draft.setDraftType(draftType.getCode());
draft.setUpdateOn(LocalDateTime.now()); draft.setUpdateOn(LocalDateTime.now());
draft.setUserId(String.valueOf(userId));
draft.setUserId(user.getUserIdStr());
projectDraftService.saveOrUpdate(draft); projectDraftService.saveOrUpdate(draft);
return draft.getId(); return draft.getId();
} }


+ 12
- 2
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/manage/FinalAcceptanceManage.java View File

@@ -1,6 +1,7 @@
package com.hz.pm.api.projectdeclared.manage; package com.hz.pm.api.projectdeclared.manage;


import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.core.toolkit.Assert;
@@ -89,6 +90,15 @@ public class FinalAcceptanceManage {
private final IProjectInstService projectInstService; private final IProjectInstService projectInstService;
private final HandlerManage handlerManage; private final HandlerManage handlerManage;


private static final List<TenderStatusEnum> FINAL_INSPECTED_TENDER_STATUS;

static {
FINAL_INSPECTED_TENDER_STATUS = new ArrayList<>();
FINAL_INSPECTED_TENDER_STATUS.add(TenderStatusEnum.FINALLY_INSPECTED_FAILED);
FINAL_INSPECTED_TENDER_STATUS.add(TenderStatusEnum.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY);
FINAL_INSPECTED_TENDER_STATUS.add(TenderStatusEnum.ON_FINALLY_INSPECTED_APPLY);
}



/** /**
* 待采购的-项目列表 * 待采购的-项目列表
@@ -97,12 +107,12 @@ public class FinalAcceptanceManage {
* @return \ * @return \
*/ */
public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) { public PageVo<ProjectLibListItemVO> projectLibList(ProjectListReq req) {

UserInfoDetails user = LoginUserUtil.loginUserDetail(); UserInfoDetails user = LoginUserUtil.loginUserDetail();
LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req); LambdaQueryWrapper<Project> query = ProjectHelper.projectQuery(req);
//待终验 并且还未过期 //待终验 并且还未过期
//只能看自己单位的 //只能看自己单位的
Set<Long> projectIds = purchaseService.listProjectIdByStatus(TenderStatusEnum.FINALLY_INSPECTED_FAILED,
TenderStatusEnum.TO_BE_SUBMIT_FINALLY_INSPECTED_APPLY);
Set<Long> projectIds = purchaseService.listProjectIdByStatus(FINAL_INSPECTED_TENDER_STATUS);
if (projectIds.isEmpty()) { if (projectIds.isEmpty()) {
return PageVo.empty(); return PageVo.empty();
} }


+ 12
- 13
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/entity/Purchase.java View File

@@ -1,27 +1,24 @@
package com.hz.pm.api.projectdeclared.model.entity; package com.hz.pm.api.projectdeclared.model.entity;


import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.hz.pm.api.common.compare.Compare;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;


import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;


/** /**
* @Classname Purchase
* @Description
* @Date 2023/5/29 10:00
* @Author PoffyZhang
* <p>
* 采购信息(标段)
* </p>
*
* @author WendyYang
* @since 15:07 2024/2/28
*/ */
@TableName("nd_purchase")
@ApiModel(value = "采购对象", description = "采购对象")
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("nd_purchase")
@ApiModel(value = "采购对象")
public class Purchase { public class Purchase {


@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
@@ -43,9 +40,11 @@ public class Purchase {
private LocalDateTime updateOn; private LocalDateTime updateOn;


@ApiModelProperty("创建人 工号") @ApiModelProperty("创建人 工号")
@TableField(fill = FieldFill.INSERT)
private String createBy; private String createBy;


@ApiModelProperty("修改人 工号") @ApiModelProperty("修改人 工号")
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateBy; private String updateBy;


@ApiModelProperty("供应商") @ApiModelProperty("供应商")
@@ -104,10 +103,10 @@ public class Purchase {
@ApiModelProperty("初验材料") @ApiModelProperty("初验材料")
private String preliminaryInspectionMaterials; private String preliminaryInspectionMaterials;


@ApiModelProperty("是否完成日志数据归集")
@ApiModelProperty("(初验)是否完成日志数据归集")
private Boolean isCompletedLogCollection; private Boolean isCompletedLogCollection;


@ApiModelProperty("实际成效指标")
@ApiModelProperty("(初验)实际成效指标")
private String actualPerformanceIndicators; private String actualPerformanceIndicators;


@ApiModelProperty("终验申报材料") @ApiModelProperty("终验申报材料")


+ 10
- 0
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/req/SubmitPurchaseNoticeReq.java View File

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;


import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -27,6 +29,7 @@ public class SubmitPurchaseNoticeReq {
private Long projectId; private Long projectId;


@ApiModelProperty("标段信息") @ApiModelProperty("标段信息")
@NotEmpty(message = "标段信息不能为空")
private List<PurchaseNoticeTenderDTO> tenders; private List<PurchaseNoticeTenderDTO> tenders;


@Data @Data
@@ -36,26 +39,33 @@ public class SubmitPurchaseNoticeReq {
private Long bidId; private Long bidId;


@ApiModelProperty("标段名称") @ApiModelProperty("标段名称")
@NotBlank(message = "标段名称不能为空")
private String bidName; private String bidName;


@ApiModelProperty("标段预算") @ApiModelProperty("标段预算")
@NotNull(message = "标段预算不能为空")
private BigDecimal bidBudget; private BigDecimal bidBudget;


@ApiModelProperty("开标时间") @ApiModelProperty("开标时间")
@NotNull(message = "开标时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime bidStartTime; private LocalDateTime bidStartTime;


@ApiModelProperty("投标截止时间") @ApiModelProperty("投标截止时间")
@NotNull(message = "投标截止时间不能为空")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime bidEndTime; private LocalDateTime bidEndTime;


@ApiModelProperty("投标地址") @ApiModelProperty("投标地址")
@NotBlank(message = "投标地址不能为空")
private String bidAddress; private String bidAddress;


@ApiModelProperty("采购方式") @ApiModelProperty("采购方式")
@NotBlank(message = "采购方式不能为空")
private String purchaseMethod; private String purchaseMethod;


@ApiModelProperty("招标文件") @ApiModelProperty("招标文件")
@NotBlank(message = "招标文件不能为空")
private String bidDoc; private String bidDoc;


} }


+ 5
- 0
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/model/req/XcfhxApplyReq.java View File

@@ -3,6 +3,8 @@ package com.hz.pm.api.projectdeclared.model.req;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;


import javax.validation.constraints.NotNull;

/** /**
* <p> * <p>
* 信创符合性申请参数类 * 信创符合性申请参数类
@@ -15,12 +17,15 @@ import lombok.Data;
public class XcfhxApplyReq { public class XcfhxApplyReq {


@ApiModelProperty("项目ID") @ApiModelProperty("项目ID")
@NotNull(message = "项目ID不能为空")
private Long projectId; private Long projectId;


@ApiModelProperty("标段ID") @ApiModelProperty("标段ID")
@NotNull(message = "标段ID不能为空")
private Long bidId; private Long bidId;


@ApiModelProperty("是否符合信创符合性要求") @ApiModelProperty("是否符合信创符合性要求")
@NotNull(message = "是否符合信创符合性要求不能为空")
private Boolean matchXcfhx; private Boolean matchXcfhx;


@ApiModelProperty("备注") @ApiModelProperty("备注")


+ 4
- 3
hz-pm-api/src/main/java/com/hz/pm/api/projectdeclared/service/IPurchaseService.java View File

@@ -1,5 +1,6 @@
package com.hz.pm.api.projectdeclared.service; package com.hz.pm.api.projectdeclared.service;


import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -33,11 +34,11 @@ public interface IPurchaseService extends IService<Purchase> {
.orderByAsc(Purchase::getId)); .orderByAsc(Purchase::getId));
} }


default Set<Long> listProjectIdByStatus(TenderStatusEnum... status) {
if (ArrayUtil.isEmpty(status)) {
default Set<Long> listProjectIdByStatus(Collection<TenderStatusEnum> status) {
if (CollUtil.isEmpty(status)) {
return Collections.emptySet(); return Collections.emptySet();
} }
List<Integer> statusCodes = Arrays.stream(status)
List<Integer> statusCodes = status.stream()
.map(TenderStatusEnum::getTenderStatus) .map(TenderStatusEnum::getTenderStatus)
.collect(Collectors.toList()); .collect(Collectors.toList());
LambdaQueryWrapper<Purchase> query = Wrappers.lambdaQuery(Purchase.class) LambdaQueryWrapper<Purchase> query = Wrappers.lambdaQuery(Purchase.class)


+ 3
- 3
hz-pm-api/src/main/java/com/hz/pm/api/todocenter/manage/HandlerManage.java View File

@@ -417,7 +417,7 @@ public class HandlerManage {


// 保存到草稿箱中 // 保存到草稿箱中
private void saveToDraft(Project req) { private void saveToDraft(Project req) {
ProjectDraftSaveDTO draftSaveDto = new ProjectDraftSaveDTO();
ProjectDraftSaveDTO projectDraft = new ProjectDraftSaveDTO();
ProjectDTO projectInfo = new ProjectDTO(); ProjectDTO projectInfo = new ProjectDTO();
BeanUtils.copyProperties(req, projectInfo); BeanUtils.copyProperties(req, projectInfo);
// 查询出项目关联的应用信息 // 查询出项目关联的应用信息
@@ -432,8 +432,8 @@ public class HandlerManage {
new TypeReference<Map<String, Object>>() { new TypeReference<Map<String, Object>>() {
}); });
projectInfo.setDynamicForm(dynamicMap); projectInfo.setDynamicForm(dynamicMap);
draftSaveDto.setProjectInfo(projectInfo);
declaredProjectManage.saveToDraft(draftSaveDto, ProjectDraftTypeEnum.PROJECT_DECLARED.getCode());
projectDraft.setProjectInfo(projectInfo);
declaredProjectManage.saveToDraft(projectDraft, ProjectDraftTypeEnum.PROJECT_DECLARED);
} }


/** /**


Loading…
Cancel
Save