Merge branch 'master' into 'pro'
合并请求 See merge request eshop/biz_service_ebtp_project!32
This commit is contained in:
@ -403,6 +403,11 @@ public class ProjectCommonUtil {
|
||||
*/
|
||||
public static final int RE_EVALUATION_STATUS_2 = 2;
|
||||
|
||||
/**
|
||||
* 重新评审 3 重评生效
|
||||
*/
|
||||
public static final int RE_EVALUATION_STATUS_3 = 3;
|
||||
|
||||
/**
|
||||
* 重新评审 9 审批不通过
|
||||
*/
|
||||
|
@ -167,6 +167,8 @@ public enum ProjectExceptionEnum implements BusinessExceptionAssert {
|
||||
FRAME_EXCEPTION_PROJECT_SECTION_NOT_STATUS(110074, "项目标段信息已经异常处理不可以进行操作!"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_SUPP_REL_VO_LIST_EMPTY(110075, "供应商ID不能为空!"),
|
||||
|
||||
FRAME_EXCEPTION_PROJECT_CHECK_STATUS_ERROR(110079, "调用采购系统校验是否可以发起接口错误"),
|
||||
;
|
||||
|
||||
/**
|
||||
|
@ -9,6 +9,9 @@ import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 评审
|
||||
* @author daixc
|
||||
@ -34,4 +37,12 @@ public interface EbtpRsmsApi {
|
||||
@GetMapping("/v1/jury/copy")
|
||||
BaseResponse<Boolean> copyJury(@RequestParam(name = "oldRoomId") String oldRoomId,
|
||||
@RequestParam(name = "newRoomId") String newRoomId);
|
||||
|
||||
/**
|
||||
* 根据标段ID集合查询是否能够发起异常处理
|
||||
* @param bsIds 标段id集合
|
||||
* @return 返回结果
|
||||
*/
|
||||
@PostMapping("/v1/reviewresult/getToExceptionByBsId")
|
||||
BaseResponse<Map<String,Boolean>> getToExceptionByBsId(@RequestBody List<String> bsIds);
|
||||
}
|
||||
|
@ -66,4 +66,17 @@ public class ProjectSectionExceptionController{
|
||||
return BaseResponse.success(projectSectionException);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取标段是否有异常信息
|
||||
* @param sectionId 标段id
|
||||
* @return 返回结果 ture 没有异常信息 false 有异常信息
|
||||
*/
|
||||
@ApiOperation("查询标段是否有异常信息")
|
||||
@GetMapping ("/getBySectionId/{sectionId}")
|
||||
public BaseResponse<Boolean> getBySectionId(@ApiParam(value = "标段ID", required = true) @PathVariable String sectionId){
|
||||
|
||||
return BaseResponse.success(projectSectionExceptionService.getBySectionId(sectionId));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -18,4 +18,12 @@ public interface IProjectSectionExceptionService extends IBaseService<ProjectSec
|
||||
* @return
|
||||
*/
|
||||
boolean deleteByExceptionId(String exceptionId);
|
||||
|
||||
|
||||
/**
|
||||
* 获取标段是否有异常信息
|
||||
* @param sectionId 标段id
|
||||
* @return 返回结果
|
||||
*/
|
||||
boolean getBySectionId(String sectionId);
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.chinaunicom.mall.ebtp.project.projectexception.service.impl;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.chinaunicom.mall.ebtp.common.base.service.impl.BaseServiceImpl;
|
||||
import com.chinaunicom.mall.ebtp.project.projectexception.dao.ProjectSectionExceptionMapper;
|
||||
import com.chinaunicom.mall.ebtp.project.projectexception.entity.ProjectSectionException;
|
||||
@ -24,4 +25,11 @@ public class ProjectSectionExceptionServiceImpl extends BaseServiceImpl<ProjectS
|
||||
public boolean deleteByExceptionId(String exceptionId) {
|
||||
return exceptionMapper.deleteByExceptionId(exceptionId) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getBySectionId(String sectionId) {
|
||||
LambdaQueryWrapper<ProjectSectionException> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ProjectSectionException::getSectionId,sectionId);
|
||||
return this.count(queryWrapper) <= 0;
|
||||
}
|
||||
}
|
||||
|
@ -215,4 +215,17 @@ public class ProjectReEvaluationController {
|
||||
|
||||
return BaseResponse.success(projectReEvaluationService.findTraceDetail(instanceId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目重评生效
|
||||
* @param id 主键ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
@ApiOperation("项目重评生效")
|
||||
@GetMapping("/achieve/{id}")
|
||||
@PreAuthorize("hasAnyAuthority('ebtp-purchase','ebtp-agency-project-manager')")
|
||||
public BaseResponse<Boolean> achieve(@ApiParam(value = "流程实例id", required = true) @PathVariable("id") String id) {
|
||||
|
||||
return BaseResponse.success(projectReEvaluationService.achieve(id));
|
||||
}
|
||||
}
|
||||
|
@ -105,4 +105,11 @@ public interface IProjectReEvaluationService extends IBaseService<ProjectReEvalu
|
||||
* @return 返回结果
|
||||
*/
|
||||
TraceDetail findTraceDetail(String instanceId);
|
||||
|
||||
/**
|
||||
* 项目重评生效
|
||||
* @param id 主键ID
|
||||
* @return 返回结果
|
||||
*/
|
||||
boolean achieve(String id);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.chinaunicom.mall.ebtp.project.projectreevaluation.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
@ -181,20 +182,21 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean submitForApproval(String id) {
|
||||
// boolean result = updateStatus(id,ProjectCommonUtil.RE_EVALUATION_STATUS_0,ProjectCommonUtil.RE_EVALUATION_STATUS_2);
|
||||
// initSection(id);
|
||||
|
||||
//1 去采购系统校验子项目信息是否发生改变 如果发生改变不可以重新评审
|
||||
ProjectReEvaluation evaluation = this.getById(id);
|
||||
ProjectSection section = sectionService.getById(evaluation.getSectionId());
|
||||
log.info("重评校验子项目信息请求参数 子项目ID:{}",section.getSubprojectId());
|
||||
BaseResponse<Boolean> baseResponse = mallResuApi.findStatusByPurpIdForEval(Long.parseLong(section.getSubprojectId()));
|
||||
log.info("重评校验子项目信息返回结果:{}",JsonUtils.objectToJson(baseResponse));
|
||||
if(!baseResponse.isSuccess()){
|
||||
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(baseResponse.getMessage(),!baseResponse.isSuccess());
|
||||
}
|
||||
if(!baseResponse.getData()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_CHECK_STATUS_ERROR.throwException();
|
||||
try {
|
||||
log.info("重评校验子项目信息请求参数 子项目ID:{}",section.getSubprojectId());
|
||||
BaseResponse<Boolean> baseResponse = mallResuApi.findStatusByPurpIdForEval(Long.parseLong(section.getSubprojectId()));
|
||||
log.info("重评校验子项目信息返回结果:{}",JsonUtils.objectToJson(baseResponse));
|
||||
if(!baseResponse.isSuccess()){
|
||||
CommonExceptionEnum.FRAME_EXCEPTION_COMMON_NOT_UPDATE.customValidName(baseResponse.getMessage(),!baseResponse.isSuccess());
|
||||
}
|
||||
if(!baseResponse.getData()){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_EXCEPTION_CHECK_STATUS_ERROR.throwException();
|
||||
}
|
||||
}catch (Exception e){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_CHECK_STATUS_ERROR.throwException();
|
||||
}
|
||||
|
||||
//3、调用流程中心 发起重新评审流程
|
||||
@ -213,12 +215,10 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@GlobalTransactional(rollbackFor = Exception.class,timeoutMills = 60000 * 2)
|
||||
public boolean callbackApproval(WasUpdateBizDTO dto) {
|
||||
boolean result = false;
|
||||
if(StringUtils.equals(EbpProjectCommonUtil.CALLBACK_APPROVAL_STATUS_YES,dto.getAuditState())){
|
||||
result = updateStatus(dto.getId(),ProjectCommonUtil.RE_EVALUATION_STATUS_1,ProjectCommonUtil.RE_EVALUATION_STATUS_2);
|
||||
initSection(dto.getId());
|
||||
}else if(StringUtils.equals(EbpProjectCommonUtil.CALLBACK_APPROVAL_STATUS_NO,dto.getAuditState())){
|
||||
result = updateStatus(dto.getId(),ProjectCommonUtil.RE_EVALUATION_STATUS_1,ProjectCommonUtil.RE_EVALUATION_STATUS_9);
|
||||
}
|
||||
@ -296,7 +296,7 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
|
||||
/**
|
||||
* 校验发起审批的标段所处流程是否正确 状态是否正确
|
||||
* 只有当标段所处定标环节才可以重新评标
|
||||
* 如果重新评审数据有审批中 初始化 不可以新增 只能修改或进行评审
|
||||
* 如果重新评审数据有审批中 初始化 审批通过 不可以新增 只能修改或进行评审
|
||||
* @param sectionId 标段ID
|
||||
*/
|
||||
@Override
|
||||
@ -320,10 +320,11 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_RE_EVAL_SAVE_ERROR.throwException();
|
||||
}
|
||||
|
||||
|
||||
//校验查询状态是 0 初始化 1 提交审批 2 审批通过 则不允许有新增操作
|
||||
Integer[] statusArray = {ProjectCommonUtil.RE_EVALUATION_STATUS_0,ProjectCommonUtil.RE_EVALUATION_STATUS_1,ProjectCommonUtil.RE_EVALUATION_STATUS_2};
|
||||
QueryWrapper<ProjectReEvaluation> evaluationQueryWrapper = new QueryWrapper<>();
|
||||
evaluationQueryWrapper.eq(ProjectReEvaluationField.SECTION_ID,sectionId);
|
||||
evaluationQueryWrapper.and(wrapper -> wrapper.eq(ProjectReEvaluationField.STATUS,ProjectCommonUtil.RE_EVALUATION_STATUS_0).or().eq(ProjectReEvaluationField.STATUS,ProjectCommonUtil.RE_EVALUATION_STATUS_1));
|
||||
evaluationQueryWrapper.in(ProjectReEvaluationField.STATUS, ListUtil.toList(statusArray));
|
||||
int count = this.count(evaluationQueryWrapper);
|
||||
if(count > 0){
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_RE_EVAL_FIND_STATUS_ERROR.throwException();
|
||||
@ -364,6 +365,14 @@ public class ProjectReEvaluationServiceImpl extends BaseServiceImpl<ProjectReEva
|
||||
return response.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
@GlobalTransactional(timeoutMills = 60000 * 2)
|
||||
public boolean achieve(String id) {
|
||||
boolean result = updateStatus(id,ProjectCommonUtil.RE_EVALUATION_STATUS_2,ProjectCommonUtil.RE_EVALUATION_STATUS_3);
|
||||
initSection(id);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化标段信息
|
||||
|
@ -16,6 +16,7 @@ import com.chinaunicom.mall.ebtp.project.common.ProjectExceptionEnum;
|
||||
import com.chinaunicom.mall.ebtp.project.dictchooseprocess.entity.DictChooseProcess;
|
||||
import com.chinaunicom.mall.ebtp.project.dictchooseprocess.service.IDictChooseProcessService;
|
||||
import com.chinaunicom.mall.ebtp.project.feign.EbtpMallProcessApi;
|
||||
import com.chinaunicom.mall.ebtp.project.feign.EbtpRsmsApi;
|
||||
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;
|
||||
@ -29,14 +30,12 @@ import com.chinaunicom.mall.ebtp.project.projectsection.entity.ProjectSectionVO;
|
||||
import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionFlowService;
|
||||
import com.chinaunicom.mall.ebtp.project.projectsection.service.IProjectSectionService;
|
||||
import io.seata.core.context.RootContext;
|
||||
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.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -67,6 +66,9 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
@Resource
|
||||
private IDictChooseProcessService chooseProcessService;
|
||||
|
||||
@Resource
|
||||
private EbtpRsmsApi rsmsApi;
|
||||
|
||||
/**
|
||||
* 默认轮次
|
||||
*/
|
||||
@ -495,6 +497,15 @@ public class ProjectSectionServiceImpl extends BaseServiceImpl<ProjectSectionMap
|
||||
List<ProjectSectionVO> sectionVOList = projectSectionMapper.selectEditSectionBySave(projectId);
|
||||
sectionVOList = sectionVOList.stream().filter(n -> (n.getBusinessModule() > (isReviewMethod ? ProjectCommonUtil.BUSINESS_MODULE_2 : ProjectCommonUtil.BUSINESS_MODULE_7)
|
||||
&& n.getStatus() < ProjectCommonUtil.BUSINESS_MODULE_12)).collect(Collectors.toList());
|
||||
|
||||
//查询接口过滤已推送数据的标段信息
|
||||
List<String> sectionIds = sectionVOList.stream().map(ProjectSectionVO::getId).collect(Collectors.toList());
|
||||
BaseResponse<Map<String,Boolean>> baseResponse = rsmsApi.getToExceptionByBsId(sectionIds);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_SECTION_NOT_FIND.customValidName(baseResponse.getMessage(),!baseResponse.isSuccess());
|
||||
|
||||
Map<String,Boolean> pushResultMap = baseResponse.getData();
|
||||
sectionVOList = sectionVOList.stream().filter(n -> pushResultMap.get(n.getId())).collect(Collectors.toList());
|
||||
|
||||
return sectionVOList;
|
||||
}
|
||||
|
||||
|
@ -112,7 +112,7 @@ mybatis-plus:
|
||||
map-underscore-to-camel-case: true
|
||||
auto-mapping-behavior: full
|
||||
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
mapper-locations: classpath*:com/chinaunicom/mall/ebtp/**/mapper/*Mapper.xml
|
||||
global-config:
|
||||
# 逻辑删除配置
|
||||
|
Reference in New Issue
Block a user