@@ -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), | |||||
/** | /** | ||||
* 终验申报拒绝 | * 终验申报拒绝 | ||||
*/ | */ | ||||
@@ -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); | ||||
} | } | ||||
@@ -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 = "申报项目") | ||||
@@ -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); | ||||
@@ -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(); | ||||
} | } | ||||
@@ -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(); | ||||
} | } | ||||
@@ -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("终验申报材料") | ||||
@@ -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; | ||||
} | } | ||||
@@ -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("备注") | ||||
@@ -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) | ||||
@@ -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); | |||||
} | } | ||||
/** | /** | ||||