变更接口完善。

studio编辑法规清单,同步影响设计符合性流程、prehomo确认流程、验证符合性流程。
This commit is contained in:
wangzhijiang
2022-05-25 18:00:52 +08:00
parent 2adcb06fee
commit 1a14907922
6 changed files with 158 additions and 11 deletions
@@ -23,6 +23,8 @@ public enum OperatorTypeEnum {
UPDATE_TASK_INVENTORY_DETAIL("更新法规清单明细信息","updateTaskInventoryDetail"),
UPDATE_DRE_TASK_STATUS("更新法规清单明细信息,dre任务状态","updateDreTaskStatus"),
GET_CURRENT_USER_ID("获取当前登录用户id","getCurrentUserId"),
/**
* 项目库 - 项目详情 统计查询 操作类型枚举
@@ -54,6 +54,9 @@ import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.wkflow.entity.ProcessHistoryEO;
import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
import com.jero.modules.wkflow.feginClient.impl.WorkFlowFeignClientImpl;
import com.jero.modules.wkflow.service.IProcessHistoryEOService;
import com.jero.modules.wkflow.service.impl.ProcessHistoryEOServiceImpl;
import lombok.SneakyThrows;
@@ -187,6 +190,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Autowired
private IConditionAssessmentEOService conditionAssessmentEOService;
@Autowired
private WorkFlowFeignClientImpl workFlowFeignClient;
/**
* 保存
*
@@ -371,11 +377,102 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
//设置更新log
contentLog = setContentLog(infoDiff,contentLog);
projectLawsInventoryLogEOService.updateLog(contentLog, projectLawsInventoryEO.getProjectLibraryId());
//验证用户是否是该法规上级 项目库的studio, 如果是,则同步更新流程
int roleCode = checkUserRole(projectLawsInventoryEO.getProjectLibraryId(), currentUser.getId(), "");
if (StringUtils.equals(String.valueOf(roleCode),ProjectRoleEnum.STUDIO_ENGINEER.getValue())){
//更新流程信息
updateFlowInfo(projectLawsInventoryEO);
}
}else {
throw new JeroBootException("该用户没有权限操作该数据!");
}
}
/**
* 更新流程信息
* @param projectLawsInventoryEO
*/
public void updateFlowInfo(ProjectLawsInventoryEO projectLawsInventoryEO){
//只有法规的 任务确认状态为接受,才能启动 设计、验证、prehomo三个流程。
if(StringUtils.equals(projectLawsInventoryEO.getTaskAffirmStatus(),TaskAffirmStatusEnum.ACCEPTED.getValue())){
QueryWrapper<ProjectTaskInventoryEO> taskInventoryQueryWrapper = new QueryWrapper<>();
taskInventoryQueryWrapper.lambda().eq(ProjectTaskInventoryEO::getProjectLawsInventoryId,projectLawsInventoryEO.getId());
ProjectTaskInventoryEO projectTaskInventoryEO = projectTaskInventoryEOService.getBaseMapper().selectOne(taskInventoryQueryWrapper);
if(projectTaskInventoryEO != null){
String designPId = projectTaskInventoryEO.getDesignPId();
if(StringUtils.isNotEmpty(designPId)){
updateFlowAssignee(projectLawsInventoryEO,projectTaskInventoryEO,designPId, FlowTypeEnum.SJFHXSHLC.getValue());
}
String verifyPId = projectTaskInventoryEO.getVerifyPId();
if(StringUtils.isNotEmpty(verifyPId)){
updateFlowAssignee(projectLawsInventoryEO,projectTaskInventoryEO,verifyPId, FlowTypeEnum.YZFHXSCLC.getValue());
}
String prehomoPId = projectTaskInventoryEO.getPrehomoPId();
if(StringUtils.isNotEmpty(prehomoPId)){
updateFlowAssignee(projectLawsInventoryEO,projectTaskInventoryEO,prehomoPId, FlowTypeEnum.PREHOMOQRLC.getValue());
}
}
}
}
/**
* 更新流程办理人
* @param projectLawsInventoryEO 法规清单数据
* @param projectTaskInventoryEO 任务清单数据
* @param pId 流程实例id
* @param flowType 流程类型
*/
public void updateFlowAssignee(ProjectLawsInventoryEO projectLawsInventoryEO,ProjectTaskInventoryEO projectTaskInventoryEO,String pId,String flowType){
QueryWrapper<ProjectTaskInventoryDetailEO> taskInventoryDetailWrapper = new QueryWrapper<>();
taskInventoryDetailWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getProjectTaskInventoryId,projectTaskInventoryEO.getProjectLawsInventoryId());
taskInventoryDetailWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,pId);
taskInventoryDetailWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getFlowType,flowType);
List<ProjectTaskInventoryDetailEO> taskInventoryDetailList = projectTaskInventoryDetailEOService.getBaseMapper().selectList(taskInventoryDetailWrapper);
if(CollectionUtils.isNotEmpty(taskInventoryDetailList)){
if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : taskInventoryDetailList) {
if(StringUtils.equals(projectTaskInventoryDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())){
//更新责任人的任务
projectTaskInventoryDetailEO.setUserId(projectLawsInventoryEO.getDesignDutyId());
}
if(StringUtils.equals(projectTaskInventoryDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())){
//更新发起人的任务
projectTaskInventoryDetailEO.setUserId(projectLawsInventoryEO.getDesignInitiatorId());
}
this.projectTaskInventoryDetailEOService.updateById(projectTaskInventoryDetailEO);
}
}else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : taskInventoryDetailList) {
if(StringUtils.equals(projectTaskInventoryDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())){
//更新责任人的任务
projectTaskInventoryDetailEO.setUserId(projectLawsInventoryEO.getPrehomoDutyId());
}
if(StringUtils.equals(projectTaskInventoryDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())){
//更新发起人的任务
projectTaskInventoryDetailEO.setUserId(projectLawsInventoryEO.getPrehomoInitiatorId());
}
this.projectTaskInventoryDetailEOService.updateById(projectTaskInventoryDetailEO);
}
}else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : taskInventoryDetailList) {
if(StringUtils.equals(projectTaskInventoryDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey())){
//更新责任人的任务
projectTaskInventoryDetailEO.setUserId(projectLawsInventoryEO.getVerifyDutyId());
}
if(StringUtils.equals(projectTaskInventoryDetailEO.getTaskDefinitionKey(), DesignComplianceNodeEnum.SPONSOR_REVIEW.getKey())){
//更新发起人的任务
projectTaskInventoryDetailEO.setUserId(projectLawsInventoryEO.getVerifyInitiatorId());
}
this.projectTaskInventoryDetailEOService.updateById(projectTaskInventoryDetailEO);
}
}
}
}
/**
* 通过id删除
*
@@ -1210,7 +1307,20 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
if(StringUtils.equals(operatorType,OperatorTypeEnum.QUERY.getValue())){
Result<ProjectLawsInventoryEO> objectResult = new Result<>();
try {
String projectLawsInventoryId = jsonObject.getString("projectLawsInventoryId");
QueryWrapper<ProjectLawsInventoryEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProjectLawsInventoryEO::getId,projectLawsInventoryId);
ProjectLawsInventoryEO projectLawsInventoryEO = this.baseMapper.selectOne(queryWrapper);
objectResult.setResult(projectLawsInventoryEO);
objectResult.setSuccess(true);
}catch (Exception ex){
objectResult.setSuccess(false);
ex.printStackTrace();
log.error("工作流后端查询法规清单失败:" + ex.getMessage());
}
return objectResult;
}
if(StringUtils.equals(operatorType,OperatorTypeEnum.SEND_MSG.getValue())){
workFlowSendMsg(jsonObject);
@@ -1643,17 +1753,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
}
//责任人
if (StringUtils.isBlank(projectLawsInventoryEO.getDesignDutyId())) {
if (StringUtils.isNotBlank(projectLawsInventoryEO.getDesignDutyId())) {
userIdList.add(projectLawsInventoryEO.getDesignDutyId());
}else {
projectLawsInventoryEO.setDesignDutyName("");
}
if (StringUtils.isBlank(projectLawsInventoryEO.getPrehomoDutyId())) {
if (StringUtils.isNotBlank(projectLawsInventoryEO.getPrehomoDutyId())) {
userIdList.add(projectLawsInventoryEO.getPrehomoDutyId());
}else {
projectLawsInventoryEO.setPrehomoDutyName("");
}
if (StringUtils.isBlank(projectLawsInventoryEO.getVerifyDutyId())) {
if (StringUtils.isNotBlank(projectLawsInventoryEO.getVerifyDutyId())) {
userIdList.add(projectLawsInventoryEO.getVerifyDutyId());
}else {
projectLawsInventoryEO.setVerifyDutyName("");
@@ -2406,8 +2516,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
@Override
@Transactional
public Result<?> change(Map<String, Object> parmas) {
List<String> idList = Arrays.asList(parmas.get("ids").toString().split(","));
if(CollectionUtils.isNotEmpty(idList)){
String ids = parmas.get("ids").toString();
if(StringUtils.isNotEmpty(ids)){
List<String> idList = Arrays.asList(ids.split(","));
String projectLawsInventoryIds = ids;
String pIds = "";
QueryWrapper<ProjectLawsInventoryEO> updateLawsInventoryWrapper = new QueryWrapper<>();
updateLawsInventoryWrapper.lambda().in(ProjectLawsInventoryEO::getId,idList);
ProjectLawsInventoryEO projectLawsInventoryEO = new ProjectLawsInventoryEO();
@@ -2437,6 +2551,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
processHistoryDeleteWrapper.lambda().in(ProcessHistoryEO::getActiProcInstId,actiProcInstIdList);
processHistoryEOService.remove(processHistoryDeleteWrapper);
}
pIds = actiProcInstIdList.stream().map(String::valueOf).collect(Collectors.joining(","));
}
List<ProjectTaskInventoryEO> projectTaskInventoryEOList = new ArrayList<>();
@@ -2461,9 +2576,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
queryTaskInventoryFeedbackWrapper.lambda().in(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId,idList);
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = projectTaskInventoryFeedbackEOService.getBaseMapper().selectList(queryTaskInventoryFeedbackWrapper);
List<String> feedbackIdList = projectTaskInventoryFeedbackEOList.stream().map(ProjectTaskInventoryFeedbackEO::getId).distinct().collect(Collectors.toList());
QueryWrapper<FeedbackHistory> deleteFeedbackHistoryWrapper = new QueryWrapper<>();
deleteFeedbackHistoryWrapper.lambda().in(FeedbackHistory::getFeedbackId,feedbackIdList);
feedbackHistoryService.remove(deleteFeedbackHistoryWrapper);
if(CollectionUtils.isNotEmpty(feedbackIdList)){
QueryWrapper<FeedbackHistory> deleteFeedbackHistoryWrapper = new QueryWrapper<>();
deleteFeedbackHistoryWrapper.lambda().in(FeedbackHistory::getFeedbackId,feedbackIdList);
feedbackHistoryService.remove(deleteFeedbackHistoryWrapper);
}
//删除反馈意见数据
QueryWrapper<ProjectTaskInventoryFeedbackEO> deleteTaskInventoryFeedbackWrapper = new QueryWrapper<>();
@@ -2474,6 +2591,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
QueryWrapper<ConditionAssessmentEO> deleteConditionAssessmentWrapper = new QueryWrapper<>();
deleteConditionAssessmentWrapper.lambda().in(ConditionAssessmentEO::getProjectLawsInventoryId,idList);
this.conditionAssessmentEOService.remove(deleteConditionAssessmentWrapper);
Map<String,Object> params = new HashMap<>();
params.put("projectLawsInventoryIds",projectLawsInventoryIds);
params.put("pIds",pIds);
//根据流程实例id 、 法规清单id 删除相关流程。
workFlowFeignClient.deleteProcessInstanceByProjectLawsInventoryIds(params);
}
return Result.OK("变更成功!");
}
@@ -363,7 +363,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
public Map<String, Object> getProjectDetailsStatisticsGroupByTerritory(Map<String, Object> params) {
String operatorType = (String) params.get("operatorType");
String projectLibraryId = (String) params.get("projectLibraryId");
if(org.apache.commons.lang3.StringUtils.isEmpty(projectLibraryId)){
if(StringUtils.isEmpty(projectLibraryId)){
throw new JeroBootException("项目库id不能为空!");
}
String cut = (String) params.get("cut");
@@ -553,7 +553,8 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
if(StringUtils.isNotEmpty(dutyTerritories)){
dutyTerritories = dutyTerritories.substring(0,dutyTerritories.length()-1);
}
data.put("dutyTerritory",dutyTerritories);
// data.put("dutyTerritory",dutyTerritories);
data.put("dutyTerritoryName",dutyTerritories);
}
}
}
@@ -72,6 +72,10 @@ public class workFlowController {
@ApiOperation(value="完成任务", notes="完成任务")
@PostMapping("/completeTask")
public Result<String> completeTaskByUserId(@RequestBody BusMes busMes){
if(StringUtils.isEmpty(busMes.getUserId())){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
busMes.setUserId(currentUser.getId());
}
Result<String> str = workFlowFeignClient.completeTaskByUserId(busMes);
if(str.getCode() == 500){
str.setSuccess(false);
@@ -79,6 +79,14 @@ public interface WorkFlowFeignClient {
@RequestMapping(value = "/bat-wkflow/deleteProcessInstance",method = RequestMethod.GET)
Result<String> deleteProcessInstance(@RequestParam("pId") String pId);
/**
* 根据法规清单id删除流程
* @param params
* @return
*/
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByProjectLawsInventoryIds",method = RequestMethod.GET)
Result<String> deleteProcessInstanceByProjectLawsInventoryIds(@RequestParam Map<String,Object> params);
/**
* 流程实例明细列表
* @param prcNum
@@ -96,6 +96,15 @@ public class WorkFlowFeignClientImpl{
return workFlowFeignClient.deleteProcessInstance(pId);
}
/**
* 根据法规清单id删除流程
* @param params
* @return
*/
public Result<String> deleteProcessInstanceByProjectLawsInventoryIds(@RequestParam Map<String,Object> params){
return workFlowFeignClient.deleteProcessInstanceByProjectLawsInventoryIds(params);
}
/**
* 流程实例明细列表
* @param prcNum