重新评审和异常处理问题修改

This commit is contained in:
dxc
2021-03-01 20:00:07 +08:00
parent 0e8937cc3e
commit 7e6f898f14
19 changed files with 350 additions and 42 deletions

View File

@ -175,6 +175,25 @@ public class EbpProjectCommonUtil {
*/
public static final String CALLBACK_APPROVAL_STATUS_NO = "004";
/**
* 标段异常处理 投标人不足3个
*/
public static final String FAIL_STATUS_001 = "001";
/**
* 标段异常处理 购买标书的潜在投标人不足3个
*/
public static final String FAIL_STATUS_002 = "002";
/**
* 标段异常处理 评审委员会否决全部投标
*/
public static final String FAIL_STATUS_003 = "003";
/**
* 标段异常处理 其他
*/
public static final String FAIL_STATUS_004 = "004";
/**
* 组织形式转换 MAP
@ -253,6 +272,17 @@ public class EbpProjectCommonUtil {
put(SCORE_TYPE_002,ProjectCommonUtil.EVAL_METHOD_2);
}};
/**
* 标段异常转换 MAP
*/
public static Map<String,String> FAIL_STATUS_MAP = new HashMap<String,String>(){{
put(FAIL_STATUS_001,ProjectCommonUtil.EXCEPTION_DESC_1);
put(FAIL_STATUS_002,ProjectCommonUtil.EXCEPTION_DESC_2);
put(FAIL_STATUS_003,ProjectCommonUtil.EXCEPTION_DESC_3);
put(FAIL_STATUS_004,ProjectCommonUtil.EXCEPTION_DESC_4);
}};
/**
* 获取map的key
* @param map 集合

View File

@ -170,6 +170,25 @@ public class ProjectCommonUtil {
*/
public static final String SECTION_EXCEPTION_HANDLE_TYPE_2 = "handle_type_2";
/**
* 异常类型 投标人不足三个
*/
public static final String EXCEPTION_DESC_1 = "exception_desc_1";
/**
* 异常类型 购买标书的潜在投标人不足三个
*/
public static final String EXCEPTION_DESC_2 = "exception_desc_2";
/**
* 异常类型 评审委员会否决全部投标
*/
public static final String EXCEPTION_DESC_3 = "exception_desc_3";
/**
* 异常类型 其他
*/
public static final String EXCEPTION_DESC_4 = "exception_desc_4";
/**
* 项目资审方式 资格预审
@ -364,11 +383,6 @@ public class ProjectCommonUtil {
*/
public static final String EXCEPTION_DESC = "exception_desc";
/**
* 项目失败描述 4 其它
*/
public static final String EXCEPTION_DESC_4 = "exception_desc_4";
/**
* 项目异常字典名
*/
@ -412,7 +426,7 @@ public class ProjectCommonUtil {
/**
* internal:用户中心人员; partner:合作方人员
*/
public static final String START_USER_TYPE_PARTNER = "partner";
public static final String START_USER_TYPE_PARTNER = "internal";
/**
* 是否使用客户端工具加解密 0 是

View File

@ -100,7 +100,7 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert {
FRAME_EXCEPTION_PROJECT_ENTRUST_FIND_PUR_ERROR(110041, "查询采购实施项目信息失败!"),
FRAME_EXCEPTION_PROJECT_RE_EVAL_SAVE_ERROR(110042, "标段所处环节不可以进行重新评标"),
FRAME_EXCEPTION_PROJECT_RE_EVAL_SAVE_ERROR(110042, "标段所处环节不可以进行新增操作"),
FRAME_EXCEPTION_PROJECT_RE_EVAL_FIND_STATUS_ERROR(110043, "当前重新评审数据有初始化和申请审批状态,不可以新增!"),

View File

@ -1,6 +1,7 @@
package com.chinaunicom.mall.ebtp.project.feign;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.feign.entity.ProjInvitationFailRequest;
import com.chinaunicom.mall.ebtp.project.feign.fallback.EbtpProjectClientFallback;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO;
import org.springframework.cloud.openfeign.FeignClient;
@ -20,16 +21,10 @@ public interface MallPurpApi {
/**
* 方案招标失败接口
*
* @param purpImplmentId 实施项目id
* @param projIds 方案id集合
* @param failStatus 招标失败code
* @param failCause 招标失败原因
* @param failRequest 实施项目id
*/
@PostMapping("/api/mall-purp/v1/purpImplement/projInvitationFail")
BaseResponse projInvitationFail(@RequestParam("purpImplmentId") String purpImplmentId,
@RequestBody List<String> projIds,
@RequestParam("failStatus") String failStatus,
@RequestParam("failCause") String failCause);
BaseResponse projInvitationFail(@RequestBody ProjInvitationFailRequest failRequest);
/**

View File

@ -0,0 +1,26 @@
package com.chinaunicom.mall.ebtp.project.feign;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.feign.entity.LoginUserDetailVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* 用户服务API
* @author daixc
* @date 2021/02/27
*/
@FeignClient(value = "${mconfig.service-price-usercenter}",url = "http://10.242.31.158:8100/core-service-usercenter-public/")
public interface UsercenterApi {
/**
* 获取用户信息
* @param uid 用户ID
* @return 返回结果
*/
@GetMapping("/v1.0/user/info")
BaseResponse<LoginUserDetailVO> getLoninUserDetail(@RequestParam("uid") String uid);
}

View File

@ -2,6 +2,7 @@ package com.chinaunicom.mall.ebtp.project.feign;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.feign.entity.Approve;
import com.chinaunicom.mall.ebtp.project.feign.entity.ProjectReEvaluationTaskVO;
import com.chinaunicom.mall.ebtp.project.feign.fallback.WfapApiClientFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
@ -22,5 +23,5 @@ public interface WfapApi {
* @return 返回结果
*/
@PostMapping("/api/wfap/v1/approve/auto/audit/start")
BaseResponse start(@RequestBody Approve approve);
BaseResponse<ProjectReEvaluationTaskVO> start(@RequestBody Approve approve);
}

View File

@ -0,0 +1,124 @@
package com.chinaunicom.mall.ebtp.project.feign.entity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* @author 邵智敬
* @date 2019-04-25
* @version: V1.0
* @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "用户名获取用户信息、权限字信息、角色信息")
public class LoginUserDetailVO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "租户ID")
private String tenantId;
@ApiModelProperty(value = "部门编码,根据门户现状位数不规则部分沿用HR原编码")
private String ou;
@ApiModelProperty(value = "部门名称")
private String ouName;
@ApiModelProperty(value = "所属省份ou")
private String province;
@ApiModelProperty(value = "所属城市名称ou")
private String city;
@ApiModelProperty(value = "所属省份名称")
private String provinceName;
@ApiModelProperty(value = "所属城市名称")
private String cityName;
@ApiModelProperty(value = "门户全国目录中的唯一编码 uid")
private String staffId;
@ApiModelProperty(value = "空即可")
private String staffOrgId;
@ApiModelProperty(value = "eshop_portaluser的cn")
private String username;
@ApiModelProperty(value = "用户密码")
private String password;
@ApiModelProperty(value = "公司ID")
private String orgId;
@ApiModelProperty(value = "eshop_portaluser的cn")
private String staffName;
@ApiModelProperty(value = "租户ID")
private String staffType;
@ApiModelProperty(value = "租户ID")
private Boolean enabled;
@ApiModelProperty(value = "权限字列表")
private List<String> authoritiesList;
// @ApiModelProperty(value = "角色对应权限字列表")
// private List<EshopRoleVO> authorityList;
@ApiModelProperty(value = "用户")
private Long userid;
@ApiModelProperty(value = "机构id")
private String partnerId;
@ApiModelProperty(value = "机构名称")
private String partnerName;
// @ApiModelProperty(value = "用户岗位信息")
// private List<UserJobDetailVO> userJobDetailVOList;
@ApiModelProperty("是否前台综合员Y-是, N-否")
private String isSyntheser;
@ApiModelProperty("是否是资产管理员Y-是, N-否")
private String isAsseter;
@ApiModelProperty("是否采购员Y-是, N-否")
private String isCurement;
@ApiModelProperty("身份证号吗")
private String identityCard;
@ApiModelProperty("联系电话")
private String tel;
@ApiModelProperty("公司名称")
private String orgName;
@ApiModelProperty("当前及所有上级组织ou集合")
private List<String> ouList;
@ApiModelProperty("邮箱")
private String cumail;
@ApiModelProperty("当前用户ou")
private String currentOu;
@ApiModelProperty("当前用户岗位名称")
private String currentOuDisplay;
@ApiModelProperty("省份简称")
private String site;
@ApiModelProperty(value = "HR员工编码非正式用户无该信息")
private String employeenumber;
@ApiModelProperty("手机号")
private String mobile;
}

View File

@ -0,0 +1,48 @@
/**
* Copyright (c) 2021, CHINAUNICOM. All rights reserved.
*/
package com.chinaunicom.mall.ebtp.project.feign.entity;
import lombok.Data;
import java.util.List;
/**
* @file: cn.chinaunicom.sdsi.purp.purpimplement.vo.ProjInvitationFailRequest
* @description:
* @author: yucnl
* @date: 2021-02-24
* @version: V1.0
* @update [序号][日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
@Data
public class ProjInvitationFailRequest {
/**
* 实施项目id
*/
private String purpImplmentId;
/**
* 方案id集合
*/
private List<String> projIds;
/**
* 招标失败状态 001投标人不足3个 002购买标书的潜在投标人不足3个
* 003评审委员会否决全部投标 004其他 005竞拍结束 006竞拍中止
*/
private String failStatus;
/**
* 招标/竞拍终止/结束失败原因
*/
private String failCause;
/**
* 竞拍时间
*/
private String auctionTime;
/**
* 是否需要修改处置方案
*/
private String isUpdateProj;
}

View File

@ -0,0 +1,37 @@
package com.chinaunicom.mall.ebtp.project.feign.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 重新评审流程返回实体
* @author daixc
* @date 2021/03/01
*/
@Data
@Accessors(chain = true)
@ApiModel("重新评审流程返回实体")
@TableName(autoResultMap = true)
public class ProjectReEvaluationTaskVO {
/**
* 租户id
*/
@ApiModelProperty(value = "租户id")
private String tenantId;
/**
* 流程实例id
*/
@ApiModelProperty(value = "流程实例id")
private String instanceId;
/**
* 任务id
*/
@ApiModelProperty(value = "任务id")
private String taskUid;
}

View File

@ -3,6 +3,7 @@ package com.chinaunicom.mall.ebtp.project.feign.fallback;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.project.feign.MallPurpApi;
import com.chinaunicom.mall.ebtp.project.feign.entity.ProjInvitationFailRequest;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.ebpentity.PurpImplementSendVO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
@ -27,9 +28,8 @@ public class EbtpProjectClientFallback implements FallbackFactory<MallPurpApi> {
public MallPurpApi create(Throwable throwable) {
throwable.printStackTrace();
return new MallPurpApi() {
@Override
public BaseResponse projInvitationFail(String purpImplmentId, List<String> projIds, String failStatus, String failCause) {
public BaseResponse projInvitationFail(ProjInvitationFailRequest failRequest) {
return null;
}

View File

@ -43,4 +43,6 @@ public class ProjectExceptionVO extends ProjectException implements Serializable
@ApiModelProperty(value = "异常失败公告状态 0 未编辑 1 已编辑 2 已提交 3 已审批 4 已拒绝 5 已发布 6 发布失败 7 无需发送公告 9 异常")
private Integer sendMessageStatus;
@ApiModelProperty(value = "异常信息ID")
private String sendMessageId;
}

View File

@ -12,6 +12,7 @@ import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
import com.chinaunicom.mall.ebtp.common.exception.common.CommonExceptionEnum;
import com.chinaunicom.mall.ebtp.common.util.JsonUtils;
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
import com.chinaunicom.mall.ebtp.project.dict.entity.DictProject;
@ -19,6 +20,7 @@ import com.chinaunicom.mall.ebtp.project.dict.service.IDictProjectService;
import com.chinaunicom.mall.ebtp.project.feign.EbtpMallBidApi;
import com.chinaunicom.mall.ebtp.project.feign.MallPurpApi;
import com.chinaunicom.mall.ebtp.project.feign.entity.AnnoVO;
import com.chinaunicom.mall.ebtp.project.feign.entity.ProjInvitationFailRequest;
import com.chinaunicom.mall.ebtp.project.projectentrust.entity.inquiryentity.InquiryNoticeVO;
import com.chinaunicom.mall.ebtp.project.projectexception.dao.ProjectExceptionMapper;
import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectException;
@ -372,11 +374,17 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
ProjectRecord projectRecord = projectRecordService.getById(projectException.getProjectId());
//获取项目方案ID
List<String> projIds = sectionList.stream().map(ProjectSection::getProjectPlanId).collect(Collectors.toList());
//获取异常原因对应字典的名称解释
DictProject dictProject = projectService.getDict(projectException.getExceptionDesc(),ProjectCommonUtil.EXCEPTION_DESC,ProjectCommonUtil.EXCEPTION);
ProjInvitationFailRequest failRequest = new ProjInvitationFailRequest();
failRequest.setPurpImplmentId(projectRecord.getEbpProjectId());
failRequest.setProjIds(projIds);
failRequest.setFailStatus(EbpProjectCommonUtil.FAIL_STATUS_MAP.get(projectException.getExceptionDesc()));
failRequest.setFailCause(dictProject.getDicName());
//调用接口
boolean isSuccess = mallPurpApi.projInvitationFail(projectRecord.getEbpProjectId(),
projIds,projectException.getExceptionDesc(),dictProject.getDicName()).isSuccess();
boolean isSuccess = mallPurpApi.projInvitationFail(failRequest).isSuccess();
if(!isSuccess){
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_INVITATION_FAIL_ERROR.throwException();
@ -493,6 +501,7 @@ public class ProjectExceptionServiceImpl extends BaseServiceImpl<ProjectExceptio
List<AnnoVO> annoVOList = resultMap.get(vo.getId());
if(null != annoVOList && annoVOList.size() > 0){
vo.setSendMessageStatus(annoVOList.get(0).getStatus());
vo.setSendMessageId(annoVOList.get(0).getId());
}else{
vo.setSendMessageStatus(ProjectCommonUtil.SEND_MESSAGE_STATUS_0);
}

View File

@ -78,5 +78,9 @@ public class ProjectReEvaluationField {
*/
public static final String ASSESS_ID = "assess_id";
/**
* 流程ID
*/
public static final String INSTANCE_ID = "instanceId";
}

View File

@ -15,6 +15,7 @@
<result column="upload_file_id" jdbcType="VARCHAR" property="uploadFileId"/>
<result column="assess_id" jdbcType="VARCHAR" property="assessId"/>
<result column="status" jdbcType="INTEGER" property="status"/>
<result column="instanceId" jdbcType="VARCHAR" property="instance_id"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>

View File

@ -90,4 +90,7 @@ public class ProjectReEvaluation extends BaseEntity implements Serializable {
@ApiModelProperty(value = "评审室ID")
private String assessId;
@ApiModelProperty(value = "流程实例id")
private String instanceId;
}

View File

@ -21,10 +21,7 @@ import com.chinaunicom.mall.ebtp.project.common.EbpProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectCommonUtil;
import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
import com.chinaunicom.mall.ebtp.project.feign.*;
import com.chinaunicom.mall.ebtp.project.feign.entity.AgainRoomVO;
import com.chinaunicom.mall.ebtp.project.feign.entity.Approve;
import com.chinaunicom.mall.ebtp.project.feign.entity.BizAgainSection;
import com.chinaunicom.mall.ebtp.project.feign.entity.WasUpdateBizDTO;
import com.chinaunicom.mall.ebtp.project.feign.entity.*;
import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
import com.chinaunicom.mall.ebtp.project.projectreevaluation.column.ProjectReEvaluationField;
@ -99,6 +96,9 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
@Resource
private MallResuApi mallResuApi;
@Resource
private UsercenterApi usercenterApi;
@Resource
private ProjectReEvaluationMapper reEvaluationMapper;
@ -192,12 +192,17 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_CHECK_STATUS_ERROR.throwException();
}
//修改异常信息进行提交
boolean result = updateStatus(id,ProjectCommonUtil.RE_EVALUATION_STATUS_0,ProjectCommonUtil.RE_EVALUATION_STATUS_1);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValid(!result);
//3、调用流程中心 发起重新评审流程
reEvalStart(id);
ProjectReEvaluationTaskVO reEvaluationTaskVO = reEvalStart(id);
//修改异常信息进行提交
UpdateWrapper<ProjectReEvaluation> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq(ProjectReEvaluationField.ID,id);
updateWrapper.eq(ProjectReEvaluationField.STATUS, ProjectCommonUtil.RE_EVALUATION_STATUS_0);
updateWrapper.set(ProjectReEvaluationField.STATUS,ProjectCommonUtil.RE_EVALUATION_STATUS_1);
updateWrapper.set(ProjectReEvaluationField.INSTANCE_ID,reEvaluationTaskVO.getInstanceId());
boolean result = this.update(updateWrapper);
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValid(!result);
return result;
}
@ -227,7 +232,7 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
* 发送审批信息
* @param id 主键
*/
private void reEvalStart(String id) {
private ProjectReEvaluationTaskVO reEvalStart(String id) {
ProjectReEvaluation evaluation = this.getById(id);
ProjectRecord record = recordService.getById(evaluation.getProjectId());
@ -236,20 +241,26 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
approve.setDataPrimarykeyId(Long.parseLong(id));
approve.setProFormNo(record.getProjectBizNum());
approve.setProFormName(record.getProjectName());
BaseResponse<LoginUserDetailVO> baseResponse = usercenterApi.getLoninUserDetail(record.getOwnerContactId());
if(!baseResponse.isSuccess()){
}
LoginUserDetailVO loginUserDetailVO = baseResponse.getData();
approve.setOrgOu(loginUserDetailVO.getOu());
approve.setCumail(record.getOwnerContactId());
approve.setWfSectionNo(wfSectionNo);
approve.setWfSectionName(wfSectionName);
BaseCacheUser cacheUser = cacheUserService.getCacheUser();
approve.setOrgOu(cacheUser.getOrganizationId());
approve.setCumail(cacheUser.getUserId());
approve.setBusinessType(record.getBidMethodSubDict());
approve.setSubBusinessType(EbpProjectCommonUtil.SUB_BUSINESS_TYPE);
approve.setStartUserType(ProjectCommonUtil.START_USER_TYPE_PARTNER);
log.info("访问重新评审流程初始化接口参数:"+ JsonUtils.objectToJson(approve));
BaseResponse response = wfapApi.start(approve);
BaseResponse<ProjectReEvaluationTaskVO> response = wfapApi.start(approve);
log.info("访问重新评审流程初始化接口返回结果:"+ JsonUtils.objectToJson(response));
if(!response.isSuccess()){
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.throwException();
}
return response.getData();
}
/**

View File

@ -412,8 +412,9 @@ 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);
List<ProjectSection> sectionList = this.list(query);
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValid(null == sectionList || sectionList.size() == 0);
ProjectSection section = sectionList.get(0);
ProjectRecord projectRecord = recordService.getById(section.getProjectId());
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_RECORD_NOT_FIND.customValid(null == projectRecord);
DictProjectConfig projectConfig = new DictProjectConfig();

View File

@ -151,6 +151,7 @@ mconfig:
service-name-wfap: mall-wfap #重新评审 流程微服务
service-name-resu: mall-resu #重新评审 项目中心查询服务
service-price-query: biz-service-price-query #商城询价服务
service-price-usercenter: core-service-usercenter-public #用户中心服务
#内部服务
service-name-auction: biz-service-ebtp-auction #竞拍服务API
service-name-calibration: biz-service-ebtp-calibration #标段定标接口

View File

@ -145,18 +145,19 @@ mconfig:
work-id: 1 #终端ID
datacenter-id: 1 #数据中心ID
host-name: http://10.242.31.158/
service-name-purp: mall-purp-purp #采购系统委托项目微服务
service-name-purp: mall-purp #采购系统委托项目微服务
service-name-wfap: mall-wfap #重新评审 流程微服务
service-name-resu: mall-resu #重新评审 项目中心查询服务
service-price-query : biz-service-price-query #商城询价服务
service-price-usercenter: core-service-usercenter-public #用户中心服务
#内部服务
service-name-auction: biz-service-ebtp-auction-dev #竞拍服务API
service-name-calibration: biz-service-ebtp-calibration-dev #标段定标接口
service-name-bid: biz-service-ebtp-bid-dev #标段出始化流程
service-name-auction: biz-service-ebtp-auction #竞拍服务API
service-name-calibration: biz-service-ebtp-calibration #标段定标接口
service-name-bid: biz-service-ebtp-bid #标段出始化流程
service-name-process: biz-service-ebtp-process #标段出始化流程
service-name-resps : biz-service-ebtp-resps-dev #标段应答文件
service-name-rsms : biz-service-ebtp-rsms-dev #评审微服务
service-name-tender : biz-service-ebtp-tender-dev #标段投标微服务
service-name-resps : biz-service-ebtp-resps #标段应答文件
service-name-rsms : biz-service-ebtp-rsms #评审微服务
service-name-tender : biz-service-ebtp-tender #标段投标微服务
wfSectionNo: '080'
wfSectionName: 标段重新评审审批单