法规清单-studio发布、studio撤回、法规工程师退回接口开发。

This commit is contained in:
wangzhijiang
2023-03-17 16:52:30 +08:00
parent 2ed75c2a5a
commit 67aa00d868
3 changed files with 190 additions and 1 deletions
@@ -472,4 +472,25 @@ public class ProjectLawsInventoryEOController extends JeroController<ProjectLaws
public Result<?> updateFlowInfoByProjectLibraryIds(@RequestParam("projectLibraryIds") String projectLibraryIds){
return this.projectLawsInventoryEOService.updateFlowInfoByProjectLibraryIds(projectLibraryIds);
}
@AutoLog(value = "项目库-法规清单表-studio发布")
@ApiOperation(value="项目库-法规清单表-studio发布", notes="项目库-法规清单表-studio发布")
@PostMapping(value = "/studioPublish")
public Result<?> studioPublish(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.studioPublish(json);
}
@AutoLog(value = "项目库-法规清单表-studio撤回")
@ApiOperation(value="项目库-法规清单表-studio撤回", notes="项目库-法规清单表-studio撤回")
@PostMapping(value = "/studioWithdrew")
public Result<?> studioWithdrew(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.studioWithdrew(json);
}
@AutoLog(value = "项目库-法规清单表-法规工程师退回")
@ApiOperation(value="项目库-法规清单表-法规工程师退回", notes="项目库-法规清单表-法规工程师退回")
@PostMapping(value = "/regulationOwnerReturned")
public Result<?> regulationOwnerReturned(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.regulationOwnerReturned(json);
}
}
@@ -161,4 +161,25 @@ public interface IProjectLawsInventoryEOService extends IService<ProjectLawsInve
Result<?> taskUrg(ProjectTaskUrgVo projectTaskUrgVo);
Result<?> updateFlowInfoByProjectLibraryIds(String projectLibraryIds);
/**
* studio发布,启动清单确认流程
* @param json
* @return
*/
Result<?> studioPublish(JSONObject json);
/**
* studio撤回
* @param json
* @return
*/
Result<?> studioWithdrew(JSONObject json);
/**
* 法规工程师退回
* @param json
* @return
*/
Result<?> regulationOwnerReturned(JSONObject json);
}
@@ -1665,7 +1665,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
}
}
// 处理符合性流程状态
if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignFlowStatus())){
String designFlowStatusName = ComplianceFlowStatusEnum.getTextByValue(projectLawsInventoryEO.getDesignFlowStatus(), cut);
@@ -9909,5 +9909,152 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
return new Result<>().success("操作成功!");
}
@Override
public Result<?> studioPublish(JSONObject json) {
String projectLibraryId = json.getString("projectLibraryId");
String cut = json.getString("cut");
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId);
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// studio信息
SysUser studioUserInfo = this.sysUserMapper.selectOne(
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
);
String ids = json.getString("ids");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//清单确认截止时间
String inventoryAffirmDueDate = json.getString("inventoryAffirmDueDate");
Date endTime = new Date();
try {
endTime = sdf.parse(inventoryAffirmDueDate);
} catch (ParseException e) {
e.printStackTrace();
}
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
if(StringUtils.isNotEmpty(ids)){
queryWrapper.lambda().in(ProjectLawsInventoryEO::getId, Arrays.asList(ids.split(",")));
}
queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper);
List<String> userIdList = new ArrayList<>();
List<ProcessInfoDetailEO> processInfoDetailEOList = new ArrayList<>();
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) {
//未发起或拒绝 可以发起清单确认
boolean checkStatus = (StringUtils.equals(projectLawsInventoryEO.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
||StringUtils.equals(projectLawsInventoryEO.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue()));
//如果该数据的法规工程师不为空
boolean checkUser = (StringUtils.isNotEmpty(projectLawsInventoryEO.getRegulationOwnerId()));
if(checkStatus && checkUser){
if(StringUtils.equals(projectLawsInventoryEO.getDesignFlowStatus(), ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())){
projectLawsInventoryEO.setDesignFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
}
if(StringUtils.equals(projectLawsInventoryEO.getVerifyFlowStatus(), ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())){
projectLawsInventoryEO.setVerifyFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue());
}
userIdList.add(projectLawsInventoryEO.getRegulationOwnerId());
ProcessInfoDetailEO processInfoDetailEO = new ProcessInfoDetailEO();
processInfoDetailEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
processInfoDetailEO.setUserId(projectLawsInventoryEO.getRegulationOwnerId());
processInfoDetailEO.setTaskDefinitionKey(InventoryAffirmNodeEnum.REGULATION_OWNER_AUDIT.getKey());
processInfoDetailEO.setEndTime(endTime);
processInfoDetailEO.setCreateTime(new Date());
processInfoDetailEO.setCreateBy(currentUser.getId());
processInfoDetailEO.setStatus(TaskStatusEnum.NOT_DONE.getValue());
processInfoDetailEOList.add(processInfoDetailEO);
}
}
this.updateBatchById(projectLawsInventoryEOS);
ProcessInfoEO processInfoEO = new ProcessInfoEO();
this.addProcessInfo(processInfoEO,projectLibraryId,endTime);
this.addProcessInfoDetail(processInfoEO.getId(),processInfoDetailEOList,endTime);
return Result.OK("发起清单确认成功!");
}
@Override
public Result<?> studioWithdrew(JSONObject json) {
String projectLibraryId = json.getString("projectLibraryId");
String cut = json.getString("cut");
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId);
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// studio信息
SysUser studioUserInfo = this.sysUserMapper.selectOne(
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
);
String ids = json.getString("ids");
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
if(StringUtils.isNotEmpty(ids)){
queryWrapper.lambda().in(ProjectLawsInventoryEO::getId, Arrays.asList(ids.split(",")));
}
queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper);
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) {
if(StringUtils.equals(projectLawsInventoryEO.getDesignFlowStatus(), ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
projectLawsInventoryEO.setDesignFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
}
if(StringUtils.equals(projectLawsInventoryEO.getVerifyFlowStatus(), ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
projectLawsInventoryEO.setVerifyFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
}
}
this.updateBatchById(projectLawsInventoryEOS);
return Result.OK("撤回成功!");
}
@Override
public Result<?> regulationOwnerReturned(JSONObject json) {
String projectLibraryId = json.getString("projectLibraryId");
String cut = json.getString("cut");
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProjectLibraryBase projectLibraryBase = this.projectLibraryBaseService.selectById(projectLibraryId);
String PRN_EN = projectLibraryBase.getProjectNameEn();//项目名称 英文
String PRN_CN = projectLibraryBase.getProjectNameCn();//项目名称 中文
// studio信息
SysUser studioUserInfo = this.sysUserMapper.selectOne(
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer())
);
String ids = json.getString("ids");
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
if(StringUtils.isNotEmpty(ids)){
queryWrapper.lambda().in(ProjectLawsInventoryEO::getId, Arrays.asList(ids.split(",")));
}
queryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
List<ProjectLawsInventoryEO> projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper);
for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) {
if(StringUtils.equals(projectLawsInventoryEO.getDesignFlowStatus(), ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
projectLawsInventoryEO.setDesignFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
}
if(StringUtils.equals(projectLawsInventoryEO.getVerifyFlowStatus(), ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
projectLawsInventoryEO.setVerifyFlowStatus(ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
}
}
this.updateBatchById(projectLawsInventoryEOS);
return Result.OK("退回成功!");
}
}