Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH

This commit is contained in:
cuijiaming
2023-03-09 14:28:00 +08:00
4 changed files with 80 additions and 3 deletions
@@ -220,4 +220,11 @@ public class ProjectCertificationInventoryEOController extends JeroController<Pr
public Result<?> saveBatch(@RequestBody JSONObject json) {
return this.projectCertificationInventoryEOService.saveBatch(json);
}
@AutoLog(value = "项目库-认证清单表-流程重置")
@ApiOperation(value="项目库-认证清单表-流程重置", notes="项目库-认证清单表-流程重置")
@PostMapping(value = "/resetFlow")
public Result<?> resetFlow(@RequestBody JSONObject json) {
return this.projectCertificationInventoryEOService.resetFlow(json);
}
}
@@ -135,4 +135,11 @@ public interface IProjectCertificationInventoryEOService extends IService<Projec
* @return
*/
Result<?> saveBatch(JSONObject json);
/**
* 流程重置
* @param json
* @return
*/
Result<?> resetFlow(JSONObject json);
}
@@ -339,7 +339,11 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
}
String certificationEngineer = projectLibraryBase.getCertificationEngineer();
if(StringUtils.isEmpty(certificationEngineer)){
throw new JeroBootException("该项目中认证工程师为空,请先维护认证工程师!");
if(StringUtils.equals(cut,CutEnum.EN.getValue())){
throw new JeroBootException("There is no certified engineer in this project. Please maintain the certified engineer first!");
}else {
throw new JeroBootException("该项目中认证工程师为空,请先维护认证工程师!");
}
}
List<String> certificationEngineerList = Arrays.asList(certificationEngineer.split(","));
@@ -645,6 +649,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> flowStatusList = new ArrayList<>();
flowStatusList.add(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
flowStatusList.add(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
queryWrapper.lambda().and(queryWrap -> {
queryWrap.and(query -> {
@@ -853,6 +858,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> flowStatusList = new ArrayList<>();
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
flowStatusList.add(CertificationInventoryFlowStatusEnum.REVIEW_AND_RETURN.getValue());
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
@@ -860,7 +866,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
if(CollectionUtils.isEmpty(projectCertificationInventoryEOList)){
throw new JeroBootException("至少选择一条数据流程状态为'结果待提交'的数据!");
throw new JeroBootException("至少选择一条数据流程状态为'结果待提交 或 审查退回'的数据!");
}
ProjectLibraryBase projectLibraryBase = JSONObject.parseObject(JSONObject.toJSONString(json.get("projectLibraryBase")), ProjectLibraryBase.class);
@@ -1194,4 +1200,61 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
return Result.OK("保存成功!");
}
@Override
public Result<?> resetFlow(JSONObject json) {
String ids = json.getString("ids");
if(StringUtils.isEmpty(ids)){
throw new JeroBootException("至少选择一条数据进行流程重置!");
}
String projectLibraryId = json.getString("projectLibraryId");
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.getBaseMapper().selectById(projectLibraryId);
if(ObjectUtils.isEmpty(projectLibraryBase)){
throw new JeroBootException("无法获取项目库信息,项目库id为:" + projectLibraryId + " 请联系管理员!");
}
List<String> idList = Arrays.asList(ids.split(","));
QueryWrapper<ProjectCertificationInventoryEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(ProjectCertificationInventoryEO::getId,idList);
List<ProjectCertificationInventoryEO> projectCertificationInventoryEOList = this.list(queryWrapper);
try {
// 处理待办中心相关数据
// 更新该项目认证流程中,认证工程师的任务状态。
// 认证工程师接受任务节点
List<String> rzgcsjsrwFlowStatusList = new ArrayList<>();
rzgcsjsrwFlowStatusList.add(CertificationInventoryFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
rzgcsjsrwFlowStatusList.add(CertificationInventoryFlowStatusEnum.REFUSAL_OF_RESPONSIBLE_PERSON.getValue());
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSJSRW.getKey(),rzgcsjsrwFlowStatusList);
// 认证工程师审查节点 如果还有 结果待审查 的数据,不做操作,如果没有 将这个项目认证流程的所有认证工程师待办任务转为已办
List<String> rzgcsscFlowStatusList = new ArrayList<>();
rzgcsscFlowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_REVIEWED.getValue());
this.updateProcessInfoDetailStatus(projectLibraryBase,CertificationFlowNodeEnum.RZGCSSC.getKey(),rzgcsscFlowStatusList);
// 删除其它用户的待办任务
QueryWrapper<ProcessInfoDetailEO> detailRemoveWrap = new QueryWrapper<>();
detailRemoveWrap.lambda().eq(ProcessInfoDetailEO::getProcessInfoId,projectLibraryBase.getId());
detailRemoveWrap.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.CERTIFICATION_LC.getValue());
detailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProjectLawsInventoryId,idList);
this.processInfoDetailEOService.remove(detailRemoveWrap);
for (ProjectCertificationInventoryEO projectCertificationInventoryEO : projectCertificationInventoryEOList) {
// 把交付结果、截止日期清空,流程状态 设置为 清单待发布
LambdaUpdateWrapper<ProjectCertificationInventoryEO> updateWrap = new LambdaUpdateWrapper<>();
updateWrap.set(ProjectCertificationInventoryEO::getDeliveryResult,null);
updateWrap.set(ProjectCertificationInventoryEO::getEndTime,null);
updateWrap.set(ProjectCertificationInventoryEO::getFlowStatus,CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
updateWrap.eq(ProjectCertificationInventoryEO::getId,projectCertificationInventoryEO.getId());
this.update(updateWrap);
}
}catch (Exception ex){
ex.printStackTrace();
log.error("studio-流程重置失败:" + ex.getMessage());
throw new JeroBootException("流程重置失败!");
}
return Result.OK("流程重置成功!");
}
}
@@ -864,7 +864,7 @@
content: _this.$t('confirmResetProcess'),
onOk() {
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
postAction(_this.url.deleteBatch, {
postAction('/project/projectCertificationInventoryEO/resetFlow', {
ids: idList.join(','),
projectLibraryId: _this.$route.query.id
}).then((res) => {