项目管理列表添加开标时间字段
This commit is contained in:
@ -0,0 +1,37 @@
|
|||||||
|
package com.chinaunicom.mall.ebtp.project.feign;
|
||||||
|
|
||||||
|
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||||
|
import com.chinaunicom.mall.ebtp.project.feign.entity.BizBidOroomInitVo;
|
||||||
|
import com.chinaunicom.mall.ebtp.project.feign.fallback.EbtpMallOpenClientFallback;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiParam;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标段出始化流程
|
||||||
|
*
|
||||||
|
* @author daixc
|
||||||
|
* @date 2020/11/25
|
||||||
|
*/
|
||||||
|
@FeignClient(value = "${mconfig.service-name-open}", fallbackFactory = EbtpMallOpenClientFallback.class)
|
||||||
|
public interface EbtpMallOpenApi {
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据标段ID查询开标时间
|
||||||
|
*
|
||||||
|
* @param invo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation("根据标段ID查询开标时间")
|
||||||
|
@PostMapping("/v1/bizbidopenroom//selectOpenTimeByBsIds")
|
||||||
|
public BaseResponse<Map<String, LocalDateTime>> updateOpenTime(@ApiParam(value = "开标室对象", required = false)
|
||||||
|
@RequestBody BizBidOroomInitVo invo);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -92,4 +92,13 @@ public interface EbtpMallProcessApi {
|
|||||||
@PostMapping("/v1/bizassessroom/simple/initialize")
|
@PostMapping("/v1/bizassessroom/simple/initialize")
|
||||||
BaseResponse<Boolean> simpleInitialize(@ApiParam(value = "项目Id", required = true) @RequestParam(name = "tpId") String tpId,
|
BaseResponse<Boolean> simpleInitialize(@ApiParam(value = "项目Id", required = true) @RequestParam(name = "tpId") String tpId,
|
||||||
@ApiParam(value = "标包Id", required = true) @RequestParam(name = "sectionIds") List<String> sectionId);
|
@ApiParam(value = "标包Id", required = true) @RequestParam(name = "sectionIds") List<String> sectionId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据包ids查询未开启的评审时信息,如不存在则查询最后一轮
|
||||||
|
*
|
||||||
|
* @param sectionIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/v1/bizassessroom/selectListByIds")
|
||||||
|
public BaseResponse<List<BizAssessRoom>> selectListByIds(@ApiParam(value = "项目标段ID集合", required = true) @RequestParam(name = "sectionIds") List<String> sectionIds);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,92 @@
|
|||||||
|
package com.chinaunicom.mall.ebtp.project.feign.entity;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实体类 BizBidOpenroom
|
||||||
|
*
|
||||||
|
* @auto.generated
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
public class BizBidOroomInitVo implements Serializable {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 评审室id
|
||||||
|
*/
|
||||||
|
private String assessRoomId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 评审轮次id
|
||||||
|
*/
|
||||||
|
private String turnId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 轮次
|
||||||
|
*/
|
||||||
|
private String turnSort;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目id
|
||||||
|
*/
|
||||||
|
private String projectId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目名称
|
||||||
|
*/
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 项目编号
|
||||||
|
*/
|
||||||
|
private String projectNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标段id
|
||||||
|
*/
|
||||||
|
private String sectionId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标段名称
|
||||||
|
*/
|
||||||
|
private String sectionName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标段编号
|
||||||
|
*/
|
||||||
|
private String sectionNo;
|
||||||
|
/**
|
||||||
|
* 开标时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private String opingTime;
|
||||||
|
/**
|
||||||
|
* 评审室类型 1、资审 2、评审
|
||||||
|
*/
|
||||||
|
private String roomType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标段ids
|
||||||
|
*/
|
||||||
|
private List<String> sectionIds;
|
||||||
|
/**
|
||||||
|
* 实际开标时间
|
||||||
|
*/
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime actualOpingTime;
|
||||||
|
/**
|
||||||
|
* 时间秘文
|
||||||
|
*/
|
||||||
|
private String timeKey;
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
package com.chinaunicom.mall.ebtp.project.feign.fallback;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||||
|
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
|
||||||
|
import com.chinaunicom.mall.ebtp.project.feign.EbtpMallOpenApi;
|
||||||
|
import com.chinaunicom.mall.ebtp.project.feign.entity.BizBidOroomInitVo;
|
||||||
|
import feign.hystrix.FallbackFactory;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yuzining
|
||||||
|
* @version 1.0
|
||||||
|
* @date 2020-10-05 14:57:11
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class EbtpMallOpenClientFallback implements FallbackFactory<EbtpMallOpenApi> {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EbtpMallOpenApi create(Throwable throwable) {
|
||||||
|
log.info(ExceptionUtil.stacktraceToString(throwable));
|
||||||
|
return new EbtpMallOpenApi() {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据标段ID查询开标时间
|
||||||
|
*
|
||||||
|
* @param invo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BaseResponse<Map<String, LocalDateTime>> updateOpenTime(BizBidOroomInitVo invo) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
@ -66,6 +66,17 @@ public class EbtpMallProcessClientFallback implements FallbackFactory<EbtpMallPr
|
|||||||
public BaseResponse<Boolean> simpleInitialize(String tpId, List<String> sectionId) {
|
public BaseResponse<Boolean> simpleInitialize(String tpId, List<String> sectionId) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据包ids查询未开启的评审时信息,如不存在则查询最后一轮
|
||||||
|
*
|
||||||
|
* @param sectionIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BaseResponse<List<BizAssessRoom>> selectListByIds(List<String> sectionIds) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,6 @@ import io.seata.spring.annotation.GlobalTransactional;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -1065,12 +1064,21 @@ public class ProjectRecordServiceImpl extends BaseServiceImpl<ProjectRecordMappe
|
|||||||
//分组排序 获取第一条
|
//分组排序 获取第一条
|
||||||
Map<String,List<ProjectSection>> conversionMap = sectionList.stream().collect(Collectors.groupingBy(ProjectSection::getProjectId));
|
Map<String,List<ProjectSection>> conversionMap = sectionList.stream().collect(Collectors.groupingBy(ProjectSection::getProjectId));
|
||||||
List<ProjectSectionVO> sectionVOList = new ArrayList<>();
|
List<ProjectSectionVO> sectionVOList = new ArrayList<>();
|
||||||
|
|
||||||
|
//20220402 新增:查询开标时间或者评审时间
|
||||||
|
Map<String, LocalDateTime> timeMap = projectSectionService.getOpenTime(sectionList.stream().map(ProjectSection::getId).collect(Collectors.toList()));
|
||||||
|
|
||||||
//拼装标段总条数
|
//拼装标段总条数
|
||||||
for (String key: conversionMap.keySet()) {
|
for (String key: conversionMap.keySet()) {
|
||||||
List<ProjectSection> tempList = conversionMap.get(key);
|
List<ProjectSection> tempList = conversionMap.get(key);
|
||||||
if(!CollectionUtils.isEmpty(tempList)){
|
if(!CollectionUtils.isEmpty(tempList)){
|
||||||
tempList = tempList.stream().sorted(Comparator.comparing(ProjectSection::getBidSectCode)).collect(Collectors.toList());
|
tempList = tempList.stream().sorted(Comparator.comparing(ProjectSection::getBidSectCode)).collect(Collectors.toList());
|
||||||
ProjectSectionVO vo = BeanUtil.toBean(tempList.get(0),ProjectSectionVO.class);
|
ProjectSectionVO vo = BeanUtil.toBean(tempList.get(0),ProjectSectionVO.class);
|
||||||
|
|
||||||
|
if (timeMap.containsKey(vo.getId())) {
|
||||||
|
vo.setSectionOpenTime(timeMap.get(vo.getId()));
|
||||||
|
}
|
||||||
|
|
||||||
vo.setSectionCount(tempList.size());
|
vo.setSectionCount(tempList.size());
|
||||||
sectionVOList.add(vo);
|
sectionVOList.add(vo);
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,21 @@
|
|||||||
package com.chinaunicom.mall.ebtp.project.projectsection.entity;
|
package com.chinaunicom.mall.ebtp.project.projectsection.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
|
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
|
||||||
|
import com.chinaunicom.mall.ebtp.common.config.CustomLocalDateTimeTypeHandler;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -116,4 +121,13 @@ public class ProjectSectionVO extends ProjectSection implements Serializable {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "采购方式字典回显")
|
@ApiModelProperty(value = "采购方式字典回显")
|
||||||
private String bidMethodDictValue;
|
private String bidMethodDictValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开标时间或者评审室开启时间,用于项目列表展示
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "开标时间或者评审室开启时间,用于项目列表展示")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@TableField(typeHandler = CustomLocalDateTimeTypeHandler.class)
|
||||||
|
private LocalDateTime sectionOpenTime;
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import com.chinaunicom.mall.ebtp.project.feign.entity.SectionFlowVO;
|
|||||||
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
|
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSection;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSectionVO;
|
import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSectionVO;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -237,4 +238,12 @@ public interface IProjectSectionService extends IBaseService<ProjectSection>{
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
boolean getSectionIsAnnounce(String planId);
|
boolean getSectionIsAnnounce(String planId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据包ids查询开标时间或者评审开始时间
|
||||||
|
*
|
||||||
|
* @param sectionIds 项目标段ID,可以是不同项目的包
|
||||||
|
* @return 返回结果
|
||||||
|
*/
|
||||||
|
Map<String, LocalDateTime> getOpenTime(List<String> sectionIds);
|
||||||
}
|
}
|
||||||
|
@ -19,14 +19,8 @@ import com.chinaunicom.mall.ebtp.project.dict.entity.DictProject;
|
|||||||
import com.chinaunicom.mall.ebtp.project.dict.service.IDictProjectService;
|
import com.chinaunicom.mall.ebtp.project.dict.service.IDictProjectService;
|
||||||
import com.chinaunicom.mall.ebtp.project.dictchooseprocess.entity.DictChooseProcess;
|
import com.chinaunicom.mall.ebtp.project.dictchooseprocess.entity.DictChooseProcess;
|
||||||
import com.chinaunicom.mall.ebtp.project.dictchooseprocess.service.IDictChooseProcessService;
|
import com.chinaunicom.mall.ebtp.project.dictchooseprocess.service.IDictChooseProcessService;
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.EbtpArchiveApi;
|
import com.chinaunicom.mall.ebtp.project.feign.*;
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.EbtpMallProcessApi;
|
import com.chinaunicom.mall.ebtp.project.feign.entity.*;
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.EbtpRsmsApi;
|
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.EbtpTenderApi;
|
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.entity.BizAssessRoom;
|
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.entity.DictProjectConfig;
|
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.entity.SectionFlowVO;
|
|
||||||
import com.chinaunicom.mall.ebtp.project.feign.entity.WfProjectConfigTask;
|
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
|
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO;
|
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecordVO;
|
||||||
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
|
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
|
||||||
@ -44,10 +38,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.time.LocalDateTime;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -72,6 +64,9 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
|||||||
@Resource
|
@Resource
|
||||||
private EbtpMallProcessApi ebtpMallProcessApi;
|
private EbtpMallProcessApi ebtpMallProcessApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private EbtpMallOpenApi ebtpMallOpenApi;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IDictChooseProcessService chooseProcessService;
|
private IDictChooseProcessService chooseProcessService;
|
||||||
|
|
||||||
@ -531,11 +526,18 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
|||||||
Map<String,Long> resultMap = response.getData();
|
Map<String,Long> resultMap = response.getData();
|
||||||
ProjectRecord record = recordService.getById(projectId);
|
ProjectRecord record = recordService.getById(projectId);
|
||||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == record);
|
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == record);
|
||||||
|
|
||||||
|
//20220402 新增:查询开标时间或者评审时间
|
||||||
|
Map<String, LocalDateTime> timeMap = this.getOpenTime(sectionIds);
|
||||||
|
|
||||||
for (ProjectSection section:sectionList) {
|
for (ProjectSection section:sectionList) {
|
||||||
ProjectSectionVO vo = BeanUtil.toBean(section,ProjectSectionVO.class);
|
ProjectSectionVO vo = BeanUtil.toBean(section,ProjectSectionVO.class);
|
||||||
Long applyCount = (null != resultMap.get(vo.getId()))? resultMap.get(vo.getId()) : 0L;
|
Long applyCount = (null != resultMap.get(vo.getId()))? resultMap.get(vo.getId()) : 0L;
|
||||||
vo.setApplyCount(applyCount);
|
vo.setApplyCount(applyCount);
|
||||||
recordService.getLinkPercentage(vo,BeanUtil.toBean(record, ProjectRecordVO.class));
|
recordService.getLinkPercentage(vo,BeanUtil.toBean(record, ProjectRecordVO.class));
|
||||||
|
if (timeMap.containsKey(vo.getId())) {
|
||||||
|
vo.setSectionOpenTime(timeMap.get(vo.getId()));
|
||||||
|
}
|
||||||
resultList.add(vo);
|
resultList.add(vo);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -657,6 +659,36 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
|||||||
vo.getBusinessModule() > ProjectCommonUtil.BUSINESS_MODULE_7;
|
vo.getBusinessModule() > ProjectCommonUtil.BUSINESS_MODULE_7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据包ids查询开标时间或者评审开始时间
|
||||||
|
*
|
||||||
|
* @param sectionIds 项目标段ID,可以是不同项目的包
|
||||||
|
* @return 返回结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Map<String, LocalDateTime> getOpenTime(List<String> sectionIds) {
|
||||||
|
return Optional.ofNullable(sectionIds)
|
||||||
|
.map(ids -> {
|
||||||
|
//查询评标服务
|
||||||
|
BaseResponse<Map<String, LocalDateTime>> opening = ebtpMallOpenApi.updateOpenTime(new BizBidOroomInitVo().setSectionIds(ids));
|
||||||
|
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName("评审时间查询失败", !opening.isSuccess());
|
||||||
|
Map<String, LocalDateTime> map = opening.getData();
|
||||||
|
if (ids.size() != map.size()) {
|
||||||
|
//查询流程服务
|
||||||
|
BaseResponse<List<BizAssessRoom>> process = ebtpMallProcessApi.selectListByIds(ids);
|
||||||
|
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName("评审时间查询失败", !process.isSuccess());
|
||||||
|
process.getData().forEach(room -> {
|
||||||
|
//如果无评标时间,记录评审时间
|
||||||
|
if (!map.containsKey(room.getSectionId())) {
|
||||||
|
map.put(room.getSectionId(), room.getOpenTime());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
})
|
||||||
|
.orElse(new HashMap<>());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拼装标段模块修改流程实体并插入数据
|
* 拼装标段模块修改流程实体并插入数据
|
||||||
* @param sectionId 标段ID
|
* @param sectionId 标段ID
|
||||||
|
Reference in New Issue
Block a user