代码升级
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
package com.chinaunicom.mall.ebtp.project;
|
||||
|
||||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
@ -8,17 +9,18 @@ import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
|
||||
|
||||
@SpringBootApplication(exclude = { DruidDataSourceAutoConfigure.class, DataSourceAutoConfiguration.class })
|
||||
@SpringBootApplication(exclude = {
|
||||
DataSourceAutoConfiguration.class,
|
||||
DruidDataSourceAutoConfigure.class
|
||||
})
|
||||
@EnableFeignClients
|
||||
@EnableEurekaClient
|
||||
@MapperScan({ "com.chinaunicom.mall.ebtp.project.**.dao" })
|
||||
@MapperScan({"com.chinaunicom.mall.ebtp.project.**.dao"})
|
||||
@ComponentScan("com.chinaunicom.mall.ebtp.*")
|
||||
public class BizServiceEbtpProjectApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(BizServiceEbtpProjectApplication.class, args);
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(BizServiceEbtpProjectApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,10 +1,13 @@
|
||||
package com.chinaunicom.mall.ebtp.project.baseoperlog.aop;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
import com.chinaunicom.mall.ebtp.common.util.HttpContextUtils;
|
||||
import com.chinaunicom.mall.ebtp.common.util.IPUtils;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import com.chinaunicom.mall.ebtp.project.baseoperlog.service.IBaseOperLogService;
|
||||
import groovy.util.logging.Slf4j;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
@ -16,20 +19,16 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.IBaseCacheUserService;
|
||||
import com.chinaunicom.mall.ebtp.common.util.HttpContextUtils;
|
||||
import com.chinaunicom.mall.ebtp.common.util.IPUtils;
|
||||
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
|
||||
import com.chinaunicom.mall.ebtp.project.baseoperlog.service.IBaseOperLogService;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 操作审计日志切面类
|
||||
*
|
||||
* @author huangjl
|
||||
*/
|
||||
@Slf4j
|
||||
@Aspect
|
||||
@Component
|
||||
public class OperLogAspect {
|
||||
|
@ -1,5 +1,8 @@
|
||||
package com.chinaunicom.mall.ebtp.project.common;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 项目建档辅助字段实体类
|
||||
*
|
||||
@ -351,6 +354,11 @@ public class ProjectCommonUtil {
|
||||
*/
|
||||
public static final String PARTAKE_TYPE_1 = "partake_type_1";
|
||||
|
||||
/**
|
||||
* 参与方式 发公告
|
||||
*/
|
||||
public static final String PARTAKE_TYPE_2 = "partake_type_2";
|
||||
|
||||
/**
|
||||
* 项目失败描述字典名
|
||||
*/
|
||||
@ -490,4 +498,26 @@ public class ProjectCommonUtil {
|
||||
* 是否使用简化流程 0 否 1 是
|
||||
*/
|
||||
public static final String IS_APPROVAL_1 = "1";
|
||||
|
||||
/**
|
||||
* 询价单:1询价文件,2项目需求方案或技术方案,3其他附件;
|
||||
*/
|
||||
public static final int INQUIRY_FILE = 1;
|
||||
|
||||
/**
|
||||
* 模块类型:1招募结果,2询价单,3归档单,4合同模版
|
||||
*/
|
||||
public static final int MODULE_TYPE_2 = 2;
|
||||
|
||||
public static Map<String,String[]> PROCUREMENT_MODE_MAP = new HashMap<String,String[]>(){{
|
||||
String[] biddingArray = {PROCUREMENT_MODE_1,PROCUREMENT_MODE_2};
|
||||
String[] recruitArray = {PROCUREMENT_MODE_4};
|
||||
String[] negotiationArray = {PROCUREMENT_MODE_5,PROCUREMENT_MODE_6};
|
||||
//招标
|
||||
this.put("01",biddingArray);
|
||||
//招募
|
||||
this.put("03",recruitArray);
|
||||
//谈判
|
||||
this.put("04",negotiationArray);
|
||||
}};
|
||||
}
|
||||
|
@ -135,6 +135,16 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert {
|
||||
FRAME_EXCEPTION_PROJECT_EXCEPTION_CHECK_STATUS_ERROR(110058, "采购系统子项目信息版本已升级不可以发起重新评审"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_EXCEPTION_SECTION_BUSINESS_MODULE_ERROR(110059, "异常的标段中含有已归档标段,不可以进行异常处理!"),
|
||||
|
||||
FRAME_EXCEPTION_INQUIRY_ATTACHMENT_LIST_EMPTY(110060, "询价文件不能为空"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_ENTRUST_REVIEW_NUM_EMPTY(110061, "评审次数不能为空"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_ENTRUST_SUPP_QUALIFY_EMPTY(110062, "资审方式不能为空"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_ENTRUST_COMPAR_SELECT_MODE_EMPTY(110063, "比选方式不能为空"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_SECTION_UPDATE_CHOOSE_PROCESS(110064, "标段流程信息不能为空,请选择流程!"),
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -32,5 +32,13 @@ public interface EbtpRespsApi {
|
||||
* @return 返回应答文件信息
|
||||
*/
|
||||
@PostMapping("/v1/tdoc/initInquiryResponseFormat")
|
||||
BaseResponse<List<String>> initInquiryResponseFormat(@RequestBody TdocVO tdocParam);
|
||||
BaseResponse<Boolean> initInquiryResponseFormat(@RequestBody TdocVO tdocParam);
|
||||
|
||||
/**
|
||||
* 修改项目报价截止时间
|
||||
* @param tdoc 应答文件传入实体
|
||||
* @return 返回结果
|
||||
*/
|
||||
@PostMapping("/v1/tdoc/updateTdocEndDateBySectionId")
|
||||
BaseResponse<Boolean> updateTdocEndDateBySectionId(@RequestBody TdocVO tdoc);
|
||||
}
|
||||
|
@ -25,9 +25,25 @@ public class TdocVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "id")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String tpId;
|
||||
|
||||
@ApiModelProperty(value = "招标项目名称")
|
||||
private String projectName;
|
||||
|
||||
@ApiModelProperty(value = "标段id")
|
||||
private String sectionId;
|
||||
|
||||
@ApiModelProperty(value = "标段名称")
|
||||
private String sectionName;
|
||||
|
||||
@ApiModelProperty("项目创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "应答截止时间")
|
||||
|
@ -8,6 +8,7 @@ import com.chinaunicom.mall.ebtp.project.baseoperlog.aop.OperLog;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustInquiryService;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustService;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
|
||||
@ -231,5 +232,20 @@ public class ProjectEntrustController{
|
||||
|
||||
return BaseResponse.success(inquiryService.inquiryNotice(inquiryNoticeVO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化询价信息接口
|
||||
*
|
||||
* @param inquiryVO 询价返回实体
|
||||
*
|
||||
* @return 返回结果
|
||||
*/
|
||||
@OperLog("初始化询价信息接口")
|
||||
@ApiOperation("初始化询价信息接口")
|
||||
@PostMapping("/initInquiryProjectEntrust")
|
||||
public BaseResponse<Boolean> initInquiryProjectEntrust(@ApiParam(value = "询价实体", required = true) @RequestBody @Valid InquiryVO inquiryVO){
|
||||
|
||||
return BaseResponse.success(inquiryService.initProjectEntrust(inquiryVO));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -188,7 +188,7 @@ public class ProjectEntrust extends BaseEntity implements Serializable {
|
||||
/**
|
||||
* 对应采购平台的采购方案id(项目实施ID)
|
||||
*/
|
||||
@ApiModelProperty(value = "对应采购平台的采购方案id")
|
||||
@ApiModelProperty(value = "对应采购平台的项目实施ID")
|
||||
private String procurementPlanId;
|
||||
|
||||
|
||||
|
@ -8,6 +8,7 @@ import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@ -37,9 +38,10 @@ public class AttachmentVO implements Serializable {
|
||||
@ApiModelProperty(value = "单据id")
|
||||
private String billId;
|
||||
|
||||
@ApiModelProperty(value = "业务类型:招募结果:1评审报告,2决策依据,3其它附件;询价单:1,2,3;归档单:1,2,3")
|
||||
@ApiModelProperty(value = "业务类型:招募结果:1评审报告,2决策依据,3其它附件;1询价文件,2项目需求方案或技术方案,3其他附件;归档单:1询价文件,2项目需求方案或技术方案,3其他附件,4决策或审批依据,5定向询价依据文件,6立项文件,7其他附件(方案审批单),8评审报告,9其他附件")
|
||||
private Integer businessType;
|
||||
|
||||
@NotNull(message = "附件名称不能为空")
|
||||
@ApiModelProperty(value = "附件名称")
|
||||
private String fileName;
|
||||
|
||||
@ -49,6 +51,7 @@ public class AttachmentVO implements Serializable {
|
||||
@ApiModelProperty(value = "附件大小,B")
|
||||
private Long fileSize;
|
||||
|
||||
@NotNull(message = "文档中心附件ID不能为空")
|
||||
@ApiModelProperty(value = "文档中心文件id")
|
||||
private String fileId;
|
||||
|
||||
|
@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@ -36,12 +37,14 @@ public class InquiryResponseFormatVO implements Serializable {
|
||||
@ApiModelProperty(value = "类别名称")
|
||||
private String categoryName;
|
||||
|
||||
@ApiModelProperty(value = "类别编码")
|
||||
private String categoryCode;
|
||||
@NotNull(message = "类别编码不能为空")
|
||||
@ApiModelProperty(value = "类别编码 0-商务、1-技术、2-服务、3-报价、4-其他")
|
||||
private String code;
|
||||
|
||||
@ApiModelProperty(value = "名称")
|
||||
private String name;
|
||||
|
||||
@NotNull(message = "格式类型不能为空")
|
||||
@ApiModelProperty(value = "格式类型 0:rar/zip ; 1: pdf")
|
||||
private Integer type;
|
||||
|
||||
|
@ -2,8 +2,10 @@ package com.chinaunicom.mall.ebtp.project.projectentrust.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
|
||||
import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
|
||||
import com.chinaunicom.mall.ebtp.project.common.InquiryCommonUtil;
|
||||
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
|
||||
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
|
||||
@ -16,6 +18,7 @@ import com.chinaunicom.mall.ebtp.project.projectentrust.dao.ProjectEntrustMapper
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrust;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustExpand;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ProjectEntrustVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.AttachmentVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustExpandService;
|
||||
@ -24,13 +27,14 @@ import com.chinaunicom.mall.ebtp.project.projectentrust.service.IProjectEntrustS
|
||||
import com.chinaunicom.mall.ebtp.project.projectexception.service.IProjectExceptionService;
|
||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
|
||||
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
|
||||
import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionService;
|
||||
import io.seata.spring.annotation.GlobalTransactional;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -58,6 +62,9 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
@Resource
|
||||
private IProjectEntrustExpandService entrustExpandService;
|
||||
|
||||
@Resource
|
||||
private IProjectSectionService sectionService;
|
||||
|
||||
@Resource
|
||||
private EbtpRespsApi ebtpRespsApi;
|
||||
|
||||
@ -113,13 +120,49 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
boolean result = false;
|
||||
switch (inquiryNoticeVO.getInquiryNoticeStatus()){
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_0:result = initInquiryProject(inquiryNoticeVO);break;
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_1:exceptionService.saveInquiryException(inquiryNoticeVO);break;
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_2:break;
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_1:result = exceptionService.saveInquiryException(inquiryNoticeVO);break;
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_2:result = putOffInquiry(inquiryNoticeVO);break;
|
||||
default:ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_UPDATE.throwException();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 推迟询价单信息
|
||||
* @param inquiryNoticeVO 询价实体
|
||||
* @return 返回结果
|
||||
*/
|
||||
@GlobalTransactional
|
||||
private boolean putOffInquiry(InquiryNoticeVO inquiryNoticeVO){
|
||||
boolean result = false;
|
||||
ProjectSection section = sectionService.selectByPlanId(inquiryNoticeVO.getInquiryId());
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == section);
|
||||
//修改报价截至时间
|
||||
if(null != inquiryNoticeVO.getEndTime()){
|
||||
TdocVO tdocVO = new TdocVO();
|
||||
tdocVO.setSectionId(section.getId());
|
||||
tdocVO.setEndDate(inquiryNoticeVO.getEndTime());
|
||||
BaseResponse<Boolean> response = ebtpRespsApi.updateTdocEndDateBySectionId(tdocVO);
|
||||
if(!response.isSuccess()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
|
||||
}
|
||||
result = response.getData();
|
||||
}
|
||||
|
||||
//修改评审室开始时间
|
||||
if(null != inquiryNoticeVO.getReviewStartTime()){
|
||||
Map<String, LocalDateTime> updateProcessMap = new HashMap<>(16);
|
||||
updateProcessMap.put(section.getId(),inquiryNoticeVO.getReviewStartTime());
|
||||
BaseResponse<Boolean> response = processApi.updateOpenTime(updateProcessMap);
|
||||
if(!response.isSuccess()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
|
||||
}
|
||||
result = response.getData();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 询价返回告知结果进行初始化项目以及询价文件和投标应答格式文件信息
|
||||
* @param inquiryNoticeVO 询价返回信息结果实体
|
||||
@ -145,6 +188,7 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
return result;
|
||||
}
|
||||
|
||||
@GlobalTransactional
|
||||
private void initProcess(ProjectEntrustVO projectEntrustVO){
|
||||
|
||||
//初始化流程
|
||||
@ -166,18 +210,30 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
xjVO.setTpId(recordVO.getId());
|
||||
xjVO.setBsId(sectionId);
|
||||
xjVO.setList(inquiryVO.getAttachmentList());
|
||||
bidApi.insertTp(xjVO);
|
||||
BaseResponse<Boolean> response = bidApi.insertTp(xjVO);
|
||||
if(!response.isSuccess()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
|
||||
}
|
||||
//初始化应答文件
|
||||
TdocVO tdocVO = new TdocVO();
|
||||
tdocVO.setList(inquiryVO.getResponseFormatList());
|
||||
tdocVO.setSectionId(sectionId);
|
||||
tdocVO.setTpId(recordVO.getId());
|
||||
tdocVO.setProjectName(recordVO.getProjectName());
|
||||
tdocVO.setCreateDate(recordVO.getCreateDate());
|
||||
tdocVO.setSectionName(recordVO.getProjectName()+ "包件");
|
||||
tdocVO.setEndDate(inquiryVO.getEndTime());
|
||||
ebtpRespsApi.initInquiryResponseFormat(tdocVO);
|
||||
|
||||
response = ebtpRespsApi.initInquiryResponseFormat(tdocVO);
|
||||
if(!response.isSuccess()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
|
||||
}
|
||||
//修改评审室开始时间
|
||||
Map<String, LocalDateTime> updateProcessMap = new HashMap<>();
|
||||
Map<String, LocalDateTime> updateProcessMap = new HashMap<>(16);
|
||||
updateProcessMap.put(sectionId,inquiryVO.getReviewStartTime());
|
||||
processApi.updateOpenTime(updateProcessMap);
|
||||
response = processApi.updateOpenTime(updateProcessMap);
|
||||
if(!response.isSuccess()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_FIND.customValidName(response.getMessage(),!response.isSuccess());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -187,46 +243,54 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
*/
|
||||
private ProjectEntrustVO assembleProjectEntrust(InquiryVO inquiryVO) {
|
||||
|
||||
ProjectEntrustVO entrustVO = new ProjectEntrustVO();
|
||||
|
||||
//ID
|
||||
entrustVO.setId(PropertyUtils.getSnowflakeId());
|
||||
//采购人/询价单位名称
|
||||
entrustVO.setPurchaser(inquiryVO.getInquiryOrg());
|
||||
|
||||
//代理公司/代理机构编号
|
||||
entrustVO.setAgencyCompany(inquiryVO.getDelegationCode());
|
||||
//代理公司名称/代理机构名称
|
||||
entrustVO.setAgencyCompanyName(inquiryVO.getDelegationName());
|
||||
//项目名称/标题
|
||||
entrustVO.setProjectName(inquiryVO.getTitle());
|
||||
//采购类型
|
||||
entrustVO.setProcurementType(InquiryCommonUtil.BID_TYPE_MAP.get(inquiryVO.getBidType()));
|
||||
//采购方式
|
||||
entrustVO.setProcurementMode(InquiryCommonUtil.BUY_WAY_MAP.get(inquiryVO.getBuyWay()));
|
||||
//组织方式
|
||||
entrustVO.setOrganization(InquiryCommonUtil.IS_DELEGATION_MAP.get(inquiryVO.getIsDelegation()));
|
||||
//采购经理
|
||||
entrustVO.setPurchasingManager(inquiryVO.getManagerBy());
|
||||
entrustVO.setPurchasingManagerName(inquiryVO.getManagerCn());
|
||||
entrustVO.setPurchasingManagerPhone(inquiryVO.getTelphone());
|
||||
ProjectEntrustVO result = new ProjectEntrustVO();
|
||||
|
||||
//编号
|
||||
result.setId(PropertyUtils.getSnowflakeId());
|
||||
//状态
|
||||
result.setStatus(ProjectCommonUtil.ENTRUS_STATUS_1);
|
||||
//项目名称
|
||||
result.setProjectName(inquiryVO.getTitle());
|
||||
//实施项目编号
|
||||
result.setProjectNumber(inquiryVO.getInquiryNo());
|
||||
//对应采购平台的采购方案id(项目实施ID)
|
||||
result.setProcurementPlanId(inquiryVO.getInquiryId());
|
||||
//起草人
|
||||
entrustVO.setDraftUser(inquiryVO.getManagerBy());
|
||||
result.setDraftUser(inquiryVO.getManagerBy());
|
||||
//采购人
|
||||
result.setPurchaser(inquiryVO.getInquiryOrg());
|
||||
//委托部门名称
|
||||
result.setEntrustDepartmentName(inquiryVO.getInquiryCompany());
|
||||
//代理公司/代理机构编号
|
||||
result.setAgencyCompany(inquiryVO.getDelegationCode());
|
||||
//代理公司名称/代理机构名称
|
||||
result.setAgencyCompanyName(inquiryVO.getDelegationName());
|
||||
//采购类型
|
||||
result.setProcurementType(InquiryCommonUtil.BID_TYPE_MAP.get(inquiryVO.getBidType()));
|
||||
//采购方式
|
||||
result.setProcurementMode(InquiryCommonUtil.BUY_WAY_MAP.get(inquiryVO.getBuyWay()));
|
||||
//组织方式
|
||||
result.setOrganization(InquiryCommonUtil.IS_DELEGATION_MAP.get(inquiryVO.getIsDelegation()));
|
||||
//采购经理
|
||||
result.setPurchasingManager(inquiryVO.getManagerBy());
|
||||
result.setPurchasingManagerName(inquiryVO.getManagerCn());
|
||||
result.setPurchasingManagerPhone(inquiryVO.getTelphone());
|
||||
|
||||
//如果自主采购 采购经理就是项目经理
|
||||
if(StringUtils.equals(ProjectCommonUtil.ORGANIZATION_2,entrustVO.getOrganization())){
|
||||
entrustVO.setProjectManager(entrustVO.getPurchasingManager());
|
||||
entrustVO.setProjectManagerName(entrustVO.getPurchasingManagerName());
|
||||
entrustVO.setProjectManagerPhone(entrustVO.getPurchasingManagerPhone());
|
||||
entrustVO.setStatus(ProjectCommonUtil.ENTRUS_STATUS_3);
|
||||
if(StringUtils.equals(ProjectCommonUtil.ORGANIZATION_2,result.getOrganization())){
|
||||
result.setProjectManager(inquiryVO.getManagerBy());
|
||||
result.setProjectManagerName(inquiryVO.getManagerCn());
|
||||
result.setProjectManagerPhone(inquiryVO.getTelphone());
|
||||
result.setStatus(ProjectCommonUtil.ENTRUS_STATUS_3);
|
||||
}
|
||||
|
||||
ProjectEntrustExpand expand = new ProjectEntrustExpand();
|
||||
expand.setId(PropertyUtils.getSnowflakeId());
|
||||
expand.setEntrustId(entrustVO.getId());
|
||||
expand.setEntrustId(result.getId());
|
||||
expand.setInquiry(inquiryVO);
|
||||
entrustVO.setProjectEntrustExpand(expand);
|
||||
result.setProjectEntrustExpand(expand);
|
||||
|
||||
return entrustVO;
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -251,16 +315,33 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_BUY_WAY_EMPTY.throwException();
|
||||
}
|
||||
//询价单中中选方式,0:综合评分法,1:最低价法
|
||||
if(null != inquiryVO.getSelectType()){
|
||||
if(null == inquiryVO.getSelectType()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_SELECT_TYPE_EMPTY.throwException();
|
||||
}
|
||||
//询价单唱标状态
|
||||
if(null != inquiryVO.getAnnouncementStatus()){
|
||||
if(null == inquiryVO.getAnnouncementStatus()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_ANNOUNCEMENT_STATUS_EMPTY.throwException();
|
||||
}
|
||||
//询价商品列表
|
||||
if(null == inquiryVO.getInquiryGoodsList() || inquiryVO.getInquiryGoodsList().size() <= 0){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_INQUIRY_GOODS_EMPTY.throwException();
|
||||
}
|
||||
//询价文件不能为空
|
||||
if(null == inquiryVO.getAttachmentList() || inquiryVO.getAttachmentList().size() <= 0){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_ATTACHMENT_LIST_EMPTY.throwException();
|
||||
}
|
||||
|
||||
//询价文件不能为空
|
||||
boolean isExistInquiryFile = false;
|
||||
for(AttachmentVO attachmentVO : inquiryVO.getAttachmentList()){
|
||||
//模块类型为询价单 并且 文件类型是询价文件
|
||||
if(ProjectCommonUtil.MODULE_TYPE_2 == attachmentVO.getModuleType() && ProjectCommonUtil.INQUIRY_FILE == attachmentVO.getBusinessType()){
|
||||
isExistInquiryFile = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isExistInquiryFile){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_ATTACHMENT_LIST_EMPTY.throwException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -370,7 +371,7 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
|
||||
//代理公司名称
|
||||
result.setAgencyCompanyName(purpImplementSendVO.getPurpSuperVo().getAgencyComp());
|
||||
//采购类型
|
||||
result.setProcurementType(EbpProjectCommonUtil.PROCUREMENT_TYPE_MAP.get(purpBaseInfoVO.getProjBaseInfoVO().getPurcMode()));
|
||||
result.setProcurementType(EbpProjectCommonUtil.PROCUREMENT_TYPE_MAP.get(purpBaseInfoVO.getProjBaseInfoVO().getTargetType()));
|
||||
//组织方式
|
||||
result.setOrganization(EbpProjectCommonUtil.ORGANIZATIONAL_MAP.get(purpImplementSendVO.getPurpSuperVo().getOrganizationalForm()));
|
||||
//采购方式
|
||||
@ -405,7 +406,9 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean saveProject(ProjectEntrustVO projectEntrustVO){
|
||||
|
||||
boolean result = this.save(BeanUtil.toBean(projectEntrustVO,ProjectEntrust.class));
|
||||
ProjectEntrust projectEntrust = BeanUtil.toBean(projectEntrustVO,ProjectEntrust.class);
|
||||
|
||||
boolean result = this.save(projectEntrust);
|
||||
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_SAVE.customValid(!result);
|
||||
|
||||
@ -558,12 +561,30 @@ public class ProjectEntrustServiceImpl extends BaseServiceImpl<ProjectEntrustMap
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_TARGET_TYPE_EMPTY.throwException();
|
||||
}
|
||||
|
||||
//采购方式 寻源业务
|
||||
if(StringUtils.equals(EbpProjectCommonUtil.BUSINESS_TYPE_001,purpSuperVo.getBusinessType())&&
|
||||
StringUtils.isEmpty((purpBaseInfo.getProjBaseInfoVO().getPurcMode()))){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_TARGET_TYPE_EMPTY.throwException();
|
||||
}
|
||||
//如果采购方式是招募方式 评审方法字段存入评审次数字典值
|
||||
if(StringUtils.equals(EbpProjectCommonUtil.BUSINESS_TYPE_002,purpSuperVo.getBusinessType())){
|
||||
//评审次数 字典
|
||||
if(StringUtils.isEmpty(purpBaseInfo.getProjBaseInfoVO().getReviewNum())){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_REVIEW_NUM_EMPTY.throwException();
|
||||
}
|
||||
}else{
|
||||
//采购方式 寻源业务
|
||||
if(StringUtils.isEmpty((purpBaseInfo.getProjBaseInfoVO().getPurcMode()))){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_TARGET_TYPE_EMPTY.throwException();
|
||||
}else{
|
||||
//当项目是招标项目(公开招标、邀请招标)、比选项目 资审方式为空 提示错误信息
|
||||
String[] isSuppQualifyList = {EbpProjectCommonUtil.PURC_MODE_001,EbpProjectCommonUtil.PURC_MODE_002,EbpProjectCommonUtil.PURC_MODE_005};
|
||||
if(Arrays.asList(isSuppQualifyList).contains(purpBaseInfo.getProjBaseInfoVO().getPurcMode())
|
||||
&& StringUtils.isEmpty(purpBaseInfo.getProjBaseInfoVO().getSuppQualify())){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_SUPP_QUALIFY_EMPTY.throwException();
|
||||
}
|
||||
|
||||
//比选方式 字典
|
||||
if(StringUtils.equals(purpBaseInfo.getProjBaseInfoVO().getPurcMode(),EbpProjectCommonUtil.PURC_MODE_005)
|
||||
&& StringUtils.isEmpty(purpBaseInfo.getProjBaseInfoVO().getComparSelectMode())){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_COMPAR_SELECT_MODE_EMPTY.throwException();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 项目建档信息 controller
|
||||
@ -36,7 +37,7 @@ public class ProjectRecordController{
|
||||
*
|
||||
* @param projectRecord 项目建档信息
|
||||
*
|
||||
* @return
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("插入新数据")
|
||||
@PostMapping("")
|
||||
@ -52,7 +53,7 @@ public class ProjectRecordController{
|
||||
*
|
||||
* @param projectRecord 项目建档信息
|
||||
*
|
||||
* @return
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("修改数据")
|
||||
@PutMapping("")
|
||||
@ -67,7 +68,7 @@ public class ProjectRecordController{
|
||||
*
|
||||
* @param id 项目ID
|
||||
*
|
||||
* @return
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("查询数据")
|
||||
@GetMapping("/{id}")
|
||||
@ -83,7 +84,7 @@ public class ProjectRecordController{
|
||||
*
|
||||
* @param projectRecord 分页信息
|
||||
*
|
||||
* @return
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("查询分页数据")
|
||||
@PostMapping("/getPage")
|
||||
@ -111,7 +112,7 @@ public class ProjectRecordController{
|
||||
*
|
||||
* @param projectRecordVO 项目查询条件
|
||||
*
|
||||
* @return
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("查询集合数据")
|
||||
@PostMapping("/getList")
|
||||
@ -163,4 +164,28 @@ public class ProjectRecordController{
|
||||
return BaseResponse.success(projectRecordService.getProjectIsUpdate(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前项目经理参与项目分类统计
|
||||
* @param selectDate 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("查询当前项目经理参与项目分类统计")
|
||||
@PostMapping("/getUserProjectRecordCount/{selectDate}")
|
||||
public BaseResponse<List<Map<String,Integer>>> getUserProjectRecordCount(@ApiParam(value = "主键id", required = true) @PathVariable String selectDate){
|
||||
|
||||
return BaseResponse.success(projectRecordService.getUserProjectRecordCount(selectDate));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询项目经理登录首页展示项目信息
|
||||
* @param limit 展示条数
|
||||
* @return 返回结果 <项目采购模式,项目集合>
|
||||
*/
|
||||
@ApiOperation("查询项目经理登录首页展示项目信息")
|
||||
@PostMapping("/getUserProjectRecordListByProcurementMode/{limit}")
|
||||
public BaseResponse<Map<String,List<ProjectRecord>>> getUserProjectRecordListByProcurementMode(@ApiParam(value = "主键id", required = true) @PathVariable Integer limit){
|
||||
|
||||
return BaseResponse.success(projectRecordService.getUserProjectRecordListByProcurementMode(limit));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,8 +3,12 @@ package com.chinaunicom.mall.ebtp.project.projectrecord.dao;
|
||||
|
||||
import com.chinaunicom.mall.ebtp.common.base.dao.IBaseMapper;
|
||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
|
||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 项目建档mapper
|
||||
* @author daixc
|
||||
@ -26,4 +30,11 @@ public interface ProjectRecordMapper extends IBaseMapper<ProjectRecord> {
|
||||
* @return 返回结果
|
||||
*/
|
||||
int deletePhysical(@Param(value = "id") String id);
|
||||
|
||||
/**
|
||||
* 项目首页查询信息
|
||||
* @param vo 实体
|
||||
* @return 返回结果
|
||||
*/
|
||||
List<Map<String, Integer>> getUserProjectRecordCount(@Param(value = "vo") ProjectRecordVO vo);
|
||||
}
|
||||
|
@ -109,4 +109,12 @@
|
||||
<delete id="deletePhysical" parameterType="java.lang.String">
|
||||
delete from biz_project_record where id = #{id}
|
||||
</delete>
|
||||
<select id="getUserProjectRecordCount" parameterType="com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO" resultType="java.util.Map">
|
||||
SELECT bid_method_dict as bidMethodDict,
|
||||
count(id) projectCount
|
||||
from biz_project_record
|
||||
where date_format(create_date, '%Y%m') = #{vo.selectDate}
|
||||
and app_manager_id = #{vo.appManagerId}
|
||||
GROUP BY bid_method_dict ORDER BY bid_method_dict
|
||||
</select>
|
||||
</mapper>
|
@ -324,7 +324,7 @@ public class ProjectRecord extends BaseEntity implements Serializable {
|
||||
@ApiModelProperty(value = "是否开标使用IPass进行解密 0 是 1 否")
|
||||
private String isIPassDecode;
|
||||
|
||||
@ApiModelProperty(value = "招募开始时间")
|
||||
@ApiModelProperty(value = "招募开始时间 | 询价预计评审开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime recruitStartTime;
|
||||
@ -341,7 +341,7 @@ public class ProjectRecord extends BaseEntity implements Serializable {
|
||||
private String isApproval;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "邀请方式(作废 和 参与方式重复)")
|
||||
@ApiModelProperty(value = "询价方式(公开询价 定向询价)")
|
||||
private String invitationMethod;
|
||||
|
||||
}
|
||||
|
@ -63,4 +63,10 @@ public class ProjectRecordVO extends ProjectRecord implements Serializable {
|
||||
@ApiModelProperty(value = "采购方式集合")
|
||||
private List<String> selectBidMethod;
|
||||
|
||||
@ApiModelProperty(value = "查询条数")
|
||||
private Integer limit;
|
||||
|
||||
@ApiModelProperty(value = "首页查询时间")
|
||||
private String selectDate;
|
||||
|
||||
}
|
||||
|
@ -47,6 +47,20 @@ public interface IProjectRecordService extends IBaseService<ProjectRecord>{
|
||||
*/
|
||||
boolean assent(String entrustId);
|
||||
|
||||
/**
|
||||
* 查询当前用户登录首页展示项目信息
|
||||
* @param limit 展示条数
|
||||
* @return 返回结果 <项目采购模式,项目集合>
|
||||
*/
|
||||
Map<String,List<ProjectRecord>> getUserProjectRecordListByProcurementMode(Integer limit);
|
||||
|
||||
/**
|
||||
* 查询当前项目经理参与项目分类统计
|
||||
* @param selectDate 查询条件
|
||||
* @return 返回结果
|
||||
*/
|
||||
List<Map<String,Integer>> getUserProjectRecordCount(String selectDate);
|
||||
|
||||
/**
|
||||
* 删除项目建档信息
|
||||
* @param id 项目建档ID
|
||||
|
@ -47,15 +47,13 @@ import com.chinaunicom.mall.ebtp.project.sectionsupplier.entity.SectionSupplier;
|
||||
import com.chinaunicom.mall.ebtp.project.sectionsupplier.entity.SectionSupplierVO;
|
||||
import com.chinaunicom.mall.ebtp.project.sectionsupplier.service.ISectionSupplierService;
|
||||
import io.seata.spring.annotation.GlobalTransactional;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 对数据表 biz_project_record 操作的 serviceImpl
|
||||
@ -63,6 +61,7 @@ import java.util.Map;
|
||||
* @date 2020/10/26
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMapper,ProjectRecord> implements IProjectRecordService {
|
||||
|
||||
@ -130,8 +129,8 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
query.eq("procurement_type", projectRecordVO.getProcurementType());
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(projectRecordVO.getBidMethodDict())){
|
||||
query.eq("bid_method_dict", projectRecordVO.getBidMethodDict());
|
||||
if(StringUtils.isNotBlank(projectRecordVO.getAppManagerId())){
|
||||
query.eq("app_manager_id", projectRecordVO.getAppManagerId());
|
||||
}
|
||||
|
||||
if(null != projectRecordVO.getStatus()){
|
||||
@ -146,16 +145,25 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
query.eq("ebp_project_id", projectRecordVO.getEbpProjectId());
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(projectRecordVO.getEbpProjectId())){
|
||||
query.eq("ebp_project_id", projectRecordVO.getEbpProjectId());
|
||||
}
|
||||
|
||||
if(null != projectRecordVO.getSelectBidMethod() && projectRecordVO.getSelectBidMethod().size() > 0){
|
||||
query.in("bid_method_dict", projectRecordVO.getSelectBidMethod());
|
||||
}
|
||||
|
||||
if(null != projectRecordVO.getLimit()){
|
||||
query.last("limit "+ projectRecordVO.getLimit());
|
||||
}
|
||||
|
||||
return query;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<ProjectRecordVO> getPage(ProjectRecordVO projectRecordVO) {
|
||||
|
||||
|
||||
QueryWrapper<ProjectRecord> query = getProjectRecordQueryWrapper(projectRecordVO);
|
||||
|
||||
if(null == projectRecordVO.getBasePageRequest()){
|
||||
@ -230,6 +238,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
|
||||
//当项目不是单一来源简化流程 初始化评审流程
|
||||
if(!(StringUtils.equals(projectRecord.getBidMethodSubDict(),ProjectCommonUtil.PROCUREMENT_MODE_6) && StringUtils.equals(projectRecord.getIsApproval(),ProjectCommonUtil.IS_APPROVAL_1))){
|
||||
log.info("初始化流程调用方法 projectID:"+id + " isReviewMethod:"+isReviewMethod + " sectionMaps:"+JsonUtils.objectToJson(sectionMaps));
|
||||
initialize(id, isReviewMethod, sectionMaps);
|
||||
}
|
||||
|
||||
@ -238,10 +247,8 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
//插入标段变更记录
|
||||
sectionMaps.forEach((key,value) -> sectionIds.add(key));
|
||||
sectionFlowService.saveSectionList(sectionIds,ProjectCommonUtil.BUSINESS_MODULE_1,businessModule);
|
||||
|
||||
if(null != projectRecord){
|
||||
initInvitation(projectRecord);
|
||||
}
|
||||
//初始化邀请调用
|
||||
initInvitation(projectRecord);
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -299,7 +306,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
|
||||
BaseResponse<Boolean> result = ebtpMallProcessApi.initialize(id,sectionMaps,isReviewMethod);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_INIT_ERROR.customValid(!result.isSuccess());
|
||||
|
||||
log.info("初始化流程返回 projectID:"+id + " 返回结果:"+JsonUtils.objectToJson(result));
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -330,32 +337,36 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
}
|
||||
//项目进行中
|
||||
if(projectRecord.getStatus() == ProjectCommonUtil.PROJECT_STATUS_2){
|
||||
|
||||
QueryWrapper<ProjectSection> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("project_id",id);
|
||||
|
||||
//判断是否资格预审项目
|
||||
if (StringUtils.equals(projectRecord.getBiddingSignDict(), ProjectCommonUtil.EXAMINATION_METHOD_1) ||
|
||||
StringUtils.equals(projectRecord.getBiddingSignDict(), ProjectCommonUtil.EXAMINATION_METHOD_3)
|
||||
) {
|
||||
//资格预审 大于2 资审招标
|
||||
queryWrapper.gt("business_module",ProjectCommonUtil.BUSINESS_MODULE_2);
|
||||
}else{
|
||||
//不是资格预审 大于7 招标
|
||||
queryWrapper.gt("business_module",ProjectCommonUtil.BUSINESS_MODULE_7);
|
||||
}
|
||||
|
||||
//标段信息状态不能过招标才可以进行修改
|
||||
int count = projectSectionService.count(queryWrapper);
|
||||
|
||||
if(count <= 0){
|
||||
result = true;
|
||||
}
|
||||
result = isMoreThanTheToBId(projectRecord);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取进行中项目标段是否大于招标环节 如果大于前端项目和标段信息不允许修改
|
||||
* @param projectRecord 项目信息
|
||||
* @return 返回结果
|
||||
*/
|
||||
private boolean isMoreThanTheToBId(ProjectRecord projectRecord) {
|
||||
QueryWrapper<ProjectSection> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("project_id", projectRecord.getId());
|
||||
|
||||
//判断是否资格预审项目
|
||||
if (StringUtils.equals(projectRecord.getBiddingSignDict(), ProjectCommonUtil.EXAMINATION_METHOD_1) ||
|
||||
StringUtils.equals(projectRecord.getBiddingSignDict(), ProjectCommonUtil.EXAMINATION_METHOD_3)
|
||||
) {
|
||||
//资格预审 大于2 资审招标
|
||||
queryWrapper.gt("business_module",ProjectCommonUtil.BUSINESS_MODULE_2);
|
||||
}else{
|
||||
//不是资格预审 大于7 招标
|
||||
queryWrapper.gt("business_module",ProjectCommonUtil.BUSINESS_MODULE_7);
|
||||
}
|
||||
//标段信息状态不能过招标才可以进行修改
|
||||
int count = projectSectionService.count(queryWrapper);
|
||||
return count <= 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean initProjectByIndependentProcurement(ProjectEntrustVO projectEntrustVO) {
|
||||
//1 拼装信息
|
||||
@ -411,6 +422,39 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
return insertProject(resultMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String,List<ProjectRecord>> getUserProjectRecordListByProcurementMode(Integer limit){
|
||||
limit = null == limit? 5:limit;
|
||||
BaseCacheUser cacheUser = cacheUserService.getCacheUser();
|
||||
Map<String,List<ProjectRecord>> resultMap = new HashMap<>(16);
|
||||
for(String key:ProjectCommonUtil.PROCUREMENT_MODE_MAP.keySet()){
|
||||
ProjectRecordVO vo = new ProjectRecordVO();
|
||||
String[] procurementModes = ProjectCommonUtil.PROCUREMENT_MODE_MAP.get(key);
|
||||
//如果当前查询采购方式大于1种 则放入list中
|
||||
if(procurementModes.length > 1){
|
||||
vo.setSelectBidMethod(new ArrayList<>(Arrays.asList(procurementModes)));
|
||||
}else{
|
||||
vo.setBidMethodDict(procurementModes[0]);
|
||||
}
|
||||
vo.setLimit(limit);
|
||||
vo.setAppManagerId(cacheUser.getUserId());
|
||||
QueryWrapper<ProjectRecord> query = getProjectRecordQueryWrapper(vo);
|
||||
query.orderByDesc("create_date");
|
||||
resultMap.put(key,this.list(query));
|
||||
}
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String,Integer>> getUserProjectRecordCount(String selectDate){
|
||||
BaseCacheUser cacheUser = cacheUserService.getCacheUser();
|
||||
ProjectRecordVO vo = new ProjectRecordVO();
|
||||
vo.setAppManagerId(cacheUser.getUserId());
|
||||
vo.setSelectDate(selectDate);
|
||||
List<Map<String,Integer>> result = projectRecordMapper.getUserProjectRecordCount(vo);
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验项目提交时前置条件
|
||||
* @param id 项目ID
|
||||
@ -496,8 +540,8 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
//业务类型
|
||||
record.setBidMethodSubDict(purpSuperVO.getBusinessType());
|
||||
|
||||
//比选方式 字典
|
||||
if(StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_3)){
|
||||
//比选方式 字典
|
||||
record.setBiddingSignDict(EbpProjectCommonUtil.SELECTION_METHOD_MAP.get(purpBaseInfoVO.getProjBaseInfoVO().getComparSelectMode()));
|
||||
}
|
||||
|
||||
@ -505,9 +549,14 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
if(StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_4)){
|
||||
//评审次数 字典
|
||||
record.setExaminationMethodDict(EbpProjectCommonUtil.RECRUITMENT_METHOD_MAP.get(purpBaseInfoVO.getProjBaseInfoVO().getReviewNum()));
|
||||
}else{
|
||||
}else if(StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_1)
|
||||
||StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_2)
|
||||
||StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_3)){
|
||||
//资审方式 字典
|
||||
record.setExaminationMethodDict(EbpProjectCommonUtil.EXAMINATION_METHOD_MAP.get(purpBaseInfoVO.getProjBaseInfoVO().getSuppQualify()));
|
||||
}else if(StringUtils.equals(projectEntrust.getProcurementMode(),ProjectCommonUtil.PROCUREMENT_MODE_5)){
|
||||
//竞谈默认初始化 发公告
|
||||
record.setExaminationMethodDict(ProjectCommonUtil.PARTAKE_TYPE_2);
|
||||
}
|
||||
|
||||
//是否为竞拍项目
|
||||
@ -739,6 +788,10 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
record.setTenderAgencyName(projectEntrust.getAgencyCompanyName());
|
||||
//委托单ID
|
||||
record.setEntrustId(expand.getEntrustId());
|
||||
//询价方式
|
||||
record.setInvitationMethod(InquiryCommonUtil.INQUIRY_MODEL_MAP.get(inquiryVO.getInquiryModel()));
|
||||
//询价预计评审开始时间
|
||||
record.setRecruitStartTime(inquiryVO.getReviewStartTime());
|
||||
//采购类型 标的类型
|
||||
record.setProcurementType(projectEntrust.getProcurementType());
|
||||
//采购方式
|
||||
@ -752,12 +805,14 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
//询价项目ID
|
||||
record.setEbpProjectId(inquiryVO.getInquiryId());
|
||||
//询价项目编号
|
||||
record.setEbpParentProjectNumber(inquiryVO.getInquiryNo());
|
||||
record.setEbpProjectNumber(inquiryVO.getInquiryNo());
|
||||
|
||||
//是否使用客户端工具制作应答文件
|
||||
//是否使用客户端工具制作应答文件 是
|
||||
record.setIsClientFile(ProjectCommonUtil.IS_IPASS_YES);
|
||||
//是否使用IPass制作应答文件
|
||||
record.setIsIPassFile(ProjectCommonUtil.IS_IPASS_YES);
|
||||
//是否使用IPass制作应答文件 是
|
||||
record.setIsIPassFile(ProjectCommonUtil.IS_IPASS_NO);
|
||||
//是否开标使用IPass进行解密 否
|
||||
record.setIsIPassDecode(ProjectCommonUtil.IS_IPASS_NO);
|
||||
|
||||
ProjectSection section = new ProjectSection();
|
||||
|
||||
@ -785,6 +840,8 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
section.setSelectionMethod(InquiryCommonUtil.INQUIRY_MODEL_MAP.get(inquiryVO.getInquiryModel()));
|
||||
//询价初始化直接到投标
|
||||
section.setBusinessModule(ProjectCommonUtil.BUSINESS_MODULE_8);
|
||||
//预算金额
|
||||
section.setBidSectContractPrice(inquiryVO.getBudgetNum());
|
||||
//标段流程
|
||||
DictChooseProcess chooseProcess = new DictChooseProcess();
|
||||
chooseProcess.setProcurementMode(record.getBidMethodDict());
|
||||
@ -793,6 +850,7 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
if(null == chooseProcessList || chooseProcessList.size() != 1){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_CHOOSE_PROCESS_NOT_FIND.throwException();
|
||||
}
|
||||
chooseProcess = chooseProcessList.get(0);
|
||||
section.setChooseProcess(chooseProcess.getChooseProcess());
|
||||
//项目状态
|
||||
section.setStatus(ProjectCommonUtil.SECTION_STATUS_2);
|
||||
@ -851,7 +909,6 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
||||
resultList.add(material);
|
||||
}
|
||||
}
|
||||
|
||||
return resultList;
|
||||
}
|
||||
|
||||
|
@ -35,6 +35,7 @@ import com.chinaunicom.mall.ebtp.project.projectreevaluation.service.IProjectReE
|
||||
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
|
||||
import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionService;
|
||||
import io.seata.spring.annotation.GlobalTransactional;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -42,6 +43,7 @@ import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -51,6 +53,7 @@ import java.util.stream.Collectors;
|
||||
* @date 2020/12/20
|
||||
*
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEvaluationMapper,ProjectReEvaluation> implements IProjectReEvaluationService {
|
||||
|
||||
@ -325,31 +328,49 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
|
||||
int roomSort = 1;
|
||||
|
||||
//初始化评审室信息
|
||||
log.info("初始化评审 请求参数:"+ evaluation.getProjectId(), evaluation.getSectionId(), roomSort);
|
||||
BaseResponse<AgainRoomVO> response = mallProcessApi.againinitialize(evaluation.getProjectId(), evaluation.getSectionId(), roomSort);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(response.getMessage(),!response.isSuccess());
|
||||
|
||||
log.info("初始化评审 返回结果:"+ JsonUtils.objectToJson(response));
|
||||
AgainRoomVO againRoomVO = response.getData();
|
||||
|
||||
//复制招标信息
|
||||
log.info("复制招标信息 请求参数:"+ JsonUtils.objectToJson(againRoomVO));
|
||||
response = ebtpMallBidApi.copyDocument(againRoomVO);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(response.getMessage(),!response.isSuccess());
|
||||
log.info("复制招标信息 返回结果:"+ JsonUtils.objectToJson(response));
|
||||
|
||||
//复制投标信息
|
||||
log.info("复制投标信息 请求参数:"+ JsonUtils.objectToJson(response.getData()),evaluation.getAssessId());
|
||||
response = ebtpTenderApi.reviewAgain(response.getData(),evaluation.getAssessId());
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(response.getMessage(),!response.isSuccess());
|
||||
log.info("复制投标信息 返回结果:"+ JsonUtils.objectToJson(response));
|
||||
|
||||
//复制应答信息
|
||||
log.info("复制应答信息 请求参数:"+ JsonUtils.objectToJson(response.getData()));
|
||||
response = ebtpRespsApi.copyTdocByAgainRoom(response.getData());
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(response.getMessage(),!response.isSuccess());
|
||||
log.info("复制应答信息 返回结果:"+ JsonUtils.objectToJson(response));
|
||||
|
||||
//复制评审设置信息
|
||||
log.info("复制评审设置信息 请求参数:"+ JsonUtils.objectToJson(response.getData()));
|
||||
BaseResponse<Boolean> rsmsResponse = ebtpRsmsApi.again(response.getData());
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(rsmsResponse.getMessage(),!rsmsResponse.isSuccess());
|
||||
log.info("复制评审设置信息 返回结果:"+ JsonUtils.objectToJson(rsmsResponse));
|
||||
|
||||
//是否专家与上次一致 如果 是 进行复制
|
||||
if(StringUtils.equals(ProjectCommonUtil.IS_AGREEMENT_YES,evaluation.getIsAgreement())){
|
||||
BaseResponse<Boolean> juryResponse = ebtpRsmsApi.copyJury(evaluation.getAssessId(),againRoomVO.getRoomId());
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(juryResponse.getMessage(),!juryResponse.isSuccess());
|
||||
}
|
||||
|
||||
//修改评审开始时间
|
||||
Map<String, LocalDateTime> updateProcessMap = new HashMap<>(16);
|
||||
updateProcessMap.put(evaluation.getSectionId(),evaluation.getEvaluationStartTime());
|
||||
log.info("修改评审开始时间 请求参数:"+ JsonUtils.objectToJson(updateProcessMap));
|
||||
rsmsResponse = mallProcessApi.updateOpenTime(updateProcessMap);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(rsmsResponse.getMessage(),!rsmsResponse.isSuccess());
|
||||
log.info("修改评审开始时间 返回结果:"+ JsonUtils.objectToJson(rsmsResponse));
|
||||
sectionService.calibrationToEvaluation(evaluation.getSectionId());
|
||||
|
||||
}
|
||||
|
@ -235,7 +235,7 @@ public class ProjectSectionController{
|
||||
* @param sectionId 项目标段ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("标段修改业务模块 定标到归档")
|
||||
@ApiOperation("标段修改业务模块 修改标段到归档")
|
||||
@PostMapping("/calibrationToArchive")
|
||||
public BaseResponse<Boolean> calibrationToArchive(@ApiParam(value = "项目标段ID", required = true) @RequestParam(name = "sectionId") String sectionId){
|
||||
|
||||
@ -254,6 +254,18 @@ public class ProjectSectionController{
|
||||
return BaseResponse.success(projectSectionService.calibrationToEvaluation(sectionId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标段修改业务模块 定标到评标
|
||||
* @param sectionId 项目标段ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("标段修改业务模块 定标到投标 招募多轮专用")
|
||||
@PostMapping("/calibrationToTender")
|
||||
public BaseResponse<Boolean> calibrationToTender(@ApiParam(value = "项目标段ID集合", required = true) @RequestParam(name = "sectionId") String sectionId){
|
||||
|
||||
return BaseResponse.success(projectSectionService.calibrationToTender(sectionId));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 项目标段信息查询数据(项目标段和项目拼装数据)
|
||||
|
@ -160,6 +160,7 @@
|
||||
from biz_project_section t
|
||||
left join biz_project_section_exception e on e.section_id = t.id and e.exception_id = ${exceptionId}
|
||||
where t.project_id = ${projectId} and t.status != '9'
|
||||
and exists (select e.* from biz_project_section_exception e,biz_project_section s where s.id = e.section_id and s.project_id = ${projectId} and e.exception_id != ${exceptionId})
|
||||
</select>
|
||||
|
||||
<select id="selectEditSectionBySelect"
|
||||
|
@ -101,7 +101,7 @@ public class ProjectSection extends BaseEntity implements Serializable {
|
||||
/**
|
||||
* 评审规则(合格制|数量有限制)
|
||||
*/
|
||||
@ApiModelProperty(value = "评审规则(合格制|数量有限制)")
|
||||
@ApiModelProperty(value = "招募方式评审规则(合格制|数量有限制)")
|
||||
private String reviewRules;
|
||||
|
||||
/**
|
||||
|
@ -137,6 +137,13 @@ public interface IProjectSectionService extends IBaseService<ProjectSection>{
|
||||
*/
|
||||
boolean calibrationToEvaluation(String sectionId);
|
||||
|
||||
/**
|
||||
*标段修改业务模块 定标到招标
|
||||
* @param sectionId 标段ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
boolean calibrationToTender(String sectionId);
|
||||
|
||||
/**
|
||||
* 获取集合信息
|
||||
* @param projectSection 查询标段集合条件
|
||||
@ -166,4 +173,5 @@ public interface IProjectSectionService extends IBaseService<ProjectSection>{
|
||||
* @return 返回结果
|
||||
*/
|
||||
ProjectSectionVO selectByPlanId(String planId);
|
||||
|
||||
}
|
||||
|
@ -137,6 +137,8 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
|
||||
if(ProjectCommonUtil.SECTION_STATUS_0 == projectSection.getStatus()){
|
||||
projectSection.setStatus(ProjectCommonUtil.SECTION_STATUS_1);
|
||||
//判断流程是否选择
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_UPDATE_CHOOSE_PROCESS.customValid(StringUtils.isEmpty(projectSection.getChooseProcess()));
|
||||
}
|
||||
boolean result = this.update(projectSection,updateWrapper);
|
||||
|
||||
@ -268,14 +270,15 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean bidToTender(List<String> sectionIds) {
|
||||
log.info("xid 2021-02-07:"+ RootContext.getXID());
|
||||
|
||||
log.info("xid:"+ RootContext.getXID());
|
||||
UpdateWrapper<ProjectSection> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.in("id",sectionIds);
|
||||
updateWrapper.eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_7);
|
||||
updateWrapper.set("business_module",ProjectCommonUtil.BUSINESS_MODULE_8);
|
||||
|
||||
boolean result = this.update(updateWrapper);
|
||||
|
||||
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_UPDATE_MODULE.customValid(!result);
|
||||
|
||||
sectionFlowService.saveSectionList(sectionIds,ProjectCommonUtil.BUSINESS_MODULE_7,ProjectCommonUtil.BUSINESS_MODULE_8);
|
||||
@ -340,7 +343,6 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
public boolean calibrationToArchive(String sectionId) {
|
||||
UpdateWrapper<ProjectSection> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.eq("id",sectionId);
|
||||
updateWrapper.eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_11);
|
||||
updateWrapper.set("business_module",ProjectCommonUtil.BUSINESS_MODULE_12);
|
||||
|
||||
boolean result = this.update(updateWrapper);
|
||||
@ -368,6 +370,22 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean calibrationToTender(String sectionId) {
|
||||
UpdateWrapper<ProjectSection> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.eq("id",sectionId);
|
||||
updateWrapper.eq("business_module", ProjectCommonUtil.BUSINESS_MODULE_11);
|
||||
updateWrapper.set("business_module",ProjectCommonUtil.BUSINESS_MODULE_8);
|
||||
|
||||
boolean result = this.update(updateWrapper);
|
||||
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_UPDATE_MODULE.customValid(!result);
|
||||
|
||||
saveSectionFlow(sectionId,ProjectCommonUtil.BUSINESS_MODULE_11,ProjectCommonUtil.BUSINESS_MODULE_8);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ProjectSectionVO> selectAllBatchIds(ProjectSectionVO projectSection) {
|
||||
return projectSectionMapper.selectAllBatchIds(projectSection);
|
||||
@ -393,9 +411,8 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
sectionVO.setProjectPlanId(planId);
|
||||
sectionVO.setNotStatus(ProjectCommonUtil.SECTION_STATUS_9);
|
||||
QueryWrapper<ProjectSection> query = getQueryWrapper(sectionVO);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == query);
|
||||
ProjectSection section = this.list(query).get(0);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == section);
|
||||
|
||||
ProjectRecord projectRecord = recordService.getById(section.getProjectId());
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_RECORD_NOT_FIND.customValid(null == projectRecord);
|
||||
DictProjectConfig projectConfig = new DictProjectConfig();
|
||||
|
Reference in New Issue
Block a user