认证清单-认证工程师审查退回、认证工程师审查通过。
This commit is contained in:
+1
-1
@@ -17,7 +17,7 @@ public enum CertificationInventoryFlowStatusEnum {
|
||||
* 任务待确认 认证工程师发起责任人待确认
|
||||
* 责任人拒绝 责任人拒绝
|
||||
* 结果待提交 责任人接受后 未提交交付物
|
||||
* 工程师退回 责任人分发后被第二位责任人退回
|
||||
* 工程师退回 责任人分发后被第二位责任人退回 (没有该状态。)
|
||||
* 结果待审查 责任人提交后认证工程师未审查
|
||||
* 审查通过 责任人提交后认证工程师审查通过
|
||||
* 审查退回 责任人提交后认证工程师审查退回
|
||||
|
||||
+1
-1
@@ -131,7 +131,7 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
|
||||
|
||||
/**
|
||||
* 批量保存
|
||||
* @param projectCertificationInventoryEOList
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
Result<?> saveBatch(JSONObject json);
|
||||
|
||||
+134
-32
@@ -697,6 +697,10 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
case RZGCSSC:
|
||||
|
||||
break;
|
||||
case RZGCSSC_TG:
|
||||
return this.certificationReviewThrough(json);
|
||||
case RZGCSSC_TH:
|
||||
return this.certificationReviewReturned(json);
|
||||
default:
|
||||
throw new JeroBootException(nodeKey + " 的操作节点传递有误,请联系管理员!");
|
||||
}
|
||||
@@ -704,6 +708,134 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
return Result.OK("提交任务成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 认证工程师审查退回
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
private Result<?> certificationReviewReturned(JSONObject json) {
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
String ids = json.getString("ids");
|
||||
if(StringUtils.isEmpty(ids)){
|
||||
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||
}
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
|
||||
List<String> flowStatusList = new ArrayList<>();
|
||||
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||
|
||||
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||
|
||||
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||
throw new JeroBootException("至少选择一条数据流程状态为'结果待审查'的数据!");
|
||||
}
|
||||
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
|
||||
}
|
||||
|
||||
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||
|
||||
try {
|
||||
// 更新数据状态为 审查退回
|
||||
this.updateBatchById(projectCertificationInventoryEOList);
|
||||
|
||||
List<String> flowStatus = new ArrayList<>();
|
||||
flowStatus.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||
|
||||
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||
// 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办 flowStatus
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),flowStatus);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("认证工程师-审批退回失败:" + ex.getMessage());
|
||||
throw new JeroBootException("审批退回失败!");
|
||||
}
|
||||
|
||||
return Result.OK("审批退回成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 认证工程师审查通过
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
private Result<?> certificationReviewThrough(JSONObject json) {
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
String ids = json.getString("ids");
|
||||
if(StringUtils.isEmpty(ids)){
|
||||
throw new JeroBootException("至少选择一条数据进行操作!");
|
||||
}
|
||||
List<String> idList = Arrays.asList(ids.split(","));
|
||||
|
||||
List<String> flowStatusList = new ArrayList<>();
|
||||
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||
|
||||
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
|
||||
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
|
||||
|
||||
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
|
||||
throw new JeroBootException("至少选择一条数据流程状态为'结果待审查'的数据!");
|
||||
}
|
||||
|
||||
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
|
||||
projectCertificationInventoryEO.setFlowStatus(CertificationInventoryFlowStatusEnum.REVIEW_AND_PASS.getValue());
|
||||
}
|
||||
|
||||
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
|
||||
|
||||
try {
|
||||
// 更新数据状态为 审查通过
|
||||
this.updateBatchById(projectCertificationInventoryEOList);
|
||||
|
||||
List<String> flowStatus = new ArrayList<>();
|
||||
flowStatus.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
|
||||
|
||||
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||
// 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办 flowStatus
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),flowStatus);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("认证工程师-审批通过失败:" + ex.getMessage());
|
||||
throw new JeroBootException("审批通过失败!");
|
||||
}
|
||||
|
||||
|
||||
return Result.OK("审批通过成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新任务状态为已办
|
||||
* @param projectLibraryBase
|
||||
*/
|
||||
private void updateProcessInfoDetailStatus(ProjectLibraryBase projectLibraryBase,String taskDefinitionKey,List<String> flowStatusList) {
|
||||
|
||||
QueryWrapper<ProjectCertificationInventoryEO> queryCountWrap = new QueryWrapper<>();
|
||||
queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId, projectLibraryBase.getId());
|
||||
queryCountWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||
int notDoneCount = this.count(queryCountWrap);
|
||||
|
||||
if(notDoneCount == 0){
|
||||
QueryWrapper<ProcessInfoDetailEO> detailQueryWrapper = new QueryWrapper<>();
|
||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProcessInfoId, projectLibraryBase.getId());
|
||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,taskDefinitionKey);
|
||||
List<ProcessInfoDetailEO> detailEOList = this.processInfoDetailEOService.list(detailQueryWrapper);
|
||||
|
||||
for (ProcessInfoDetailEO processInfoDetailEO : detailEOList) {
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
||||
}
|
||||
|
||||
this.processInfoDetailEOService.updateBatchById(detailEOList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 责任人提交任务
|
||||
@@ -971,23 +1103,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
this.updateBatchById(projectCertificationInventoryEOList);
|
||||
|
||||
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||
QueryWrapper<ProjectCertificationInventoryEO> queryCountWrap = new QueryWrapper<>();
|
||||
queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId,projectLibraryBase.getId());
|
||||
queryCountWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||
int notDoneCount = this.count(queryCountWrap);
|
||||
// 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
|
||||
if(notDoneCount == 0){
|
||||
QueryWrapper<ProcessInfoDetailEO> detailQueryWrapper = new QueryWrapper<>();
|
||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
||||
List<ProcessInfoDetailEO> detailEOList = this.processInfoDetailEOService.list(detailQueryWrapper);
|
||||
|
||||
for (ProcessInfoDetailEO detailEO : detailEOList) {
|
||||
detailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
||||
}
|
||||
|
||||
this.processInfoDetailEOService.updateBatchById(detailEOList);
|
||||
}
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),flowStatusList);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("认证工程师-退回认证清单任务失败:" + ex.getMessage());
|
||||
@@ -1047,23 +1164,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
this.updateBatchById(projectCertificationInventoryEOList);
|
||||
|
||||
// 更新该项目认证流程中,认证工程师的任务状态。
|
||||
QueryWrapper<ProjectCertificationInventoryEO> queryCountWrap = new QueryWrapper<>();
|
||||
queryCountWrap.lambda().eq(ProjectCertificationInventoryEO::getProjectLibraryId,projectLibraryBase.getId());
|
||||
queryCountWrap.lambda().in(ProjectCertificationInventoryEO::getFlowStatus,flowStatusList);
|
||||
int notDoneCount = this.count(queryCountWrap);
|
||||
// 如果还有 清单待校核、责任人拒绝 状态的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
|
||||
if(notDoneCount == 0){
|
||||
QueryWrapper<ProcessInfoDetailEO> detailQueryWrapper = new QueryWrapper<>();
|
||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
|
||||
detailQueryWrapper.lambda().eq(ProcessInfoDetailEO::getTaskDefinitionKey,CertificationFlowNodeEnum.RZGCSJSRW.getKey());
|
||||
List<ProcessInfoDetailEO> detailEOList = this.processInfoDetailEOService.list(detailQueryWrapper);
|
||||
|
||||
for (ProcessInfoDetailEO processInfoDetailEO : detailEOList) {
|
||||
processInfoDetailEO.setStatus(TaskStatusEnum.HAVE_DONE.getValue());
|
||||
}
|
||||
|
||||
this.processInfoDetailEOService.updateBatchById(detailEOList);
|
||||
}
|
||||
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),flowStatusList);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
log.error("认证工程师-发起认证清单任务失败:" + ex.getMessage());
|
||||
|
||||
Reference in New Issue
Block a user