Commit c39357cc authored by 王果's avatar 王果

修改维保备案bug

parent 4a3c86f3
...@@ -696,7 +696,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -696,7 +696,7 @@ public class CommonServiceImpl implements ICommonService {
/** /**
* 待办 撤回 * 待办 撤回
* @param id 工作流实例id * @param id 工作流实例id
* @param obj 自己的实体 * @param obj 自己的实体:taskType为BusinessTypeEnum code;nextExecuteUser
*/ */
public void rollbackTask(String id, JSONObject obj) { public void rollbackTask(String id, JSONObject obj) {
List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult(); List<TaskV2Model> result = Systemctl.taskV2Client.selectListByRelationId(id).getResult();
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -148,11 +149,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -148,11 +149,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
} }
dto.setVariable(map); dto.setVariable(map);
ProcessTaskDTO complete = workflowService.complete(taskId, dto); ProcessTaskDTO complete = workflowService.complete(taskId, dto);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(complete)); // 更新下一步执行人、创建待办
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds(); updateExecuteIds(instanceId, id, operate, complete);
createTaskModel(jgMaintenanceContract, complete.getNextTask().get(0).getName(), operate, nextUserIds);
// 更新下一步执行人
updateExecuteIds(complete, id, operate);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -183,12 +181,12 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -183,12 +181,12 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
/** /**
* 维保合同撤回 * 维保合同撤回
*/ */
@Transactional
public void revocation(String instanceId) { public void revocation(String instanceId) {
// 执行流程 // 执行流程
JgMaintenanceContract contract = new JgMaintenanceContract(); JgMaintenanceContract contract = new JgMaintenanceContract();
QueryWrapper<JgMaintenanceContract> queryWrapper = new QueryWrapper<>(); LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
queryWrapper.lambda().eq(JgMaintenanceContract::getInstanceId, instanceId); lambda.eq(JgMaintenanceContract::getInstanceId, instanceId);
List<String> roleListNext = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>(); List<String> roleListAll = new ArrayList<>();
ProcessTaskDTO processTaskDTO = workflowService.rollBack(instanceId); ProcessTaskDTO processTaskDTO = workflowService.rollBack(instanceId);
...@@ -202,12 +200,14 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -202,12 +200,14 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setPromoter(RequestContext.getExeUserId()); contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext)); contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setNextTaskId(nextTaskId); contract.setNextTaskId(nextTaskId);
this.update(contract, queryWrapper); this.update(contract, lambda);
// 删除待办 // 删除待办
commonService.deleteTaskModel(contract.getInstanceId()); JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(contract));
commonService.rollbackTask(contract.getInstanceId()); jsonObject.put("nextTaskId", contract.getNextTaskId());
jsonObject.put("nextExecuteUser", contract.getNextExecuteIds());
jsonObject.put("taskType",BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode());
commonService.rollbackTask(instanceId, jsonObject);
} }
/** /**
* 新增维保合同 * 新增维保合同
*/ */
...@@ -264,7 +264,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -264,7 +264,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
} }
// 更新关联设备信息 // 更新关联设备信息
if (!CollectionUtils.isEmpty(equipmentLists)) { if (!CollectionUtils.isEmpty(equipmentLists)) {
contractDto.setEquNum(equipmentLists.size()); contract.setEquNum(equipmentLists.size());
List<JgMaintenanceContractEq> equipList = new ArrayList<>(); List<JgMaintenanceContractEq> equipList = new ArrayList<>();
equipmentLists.forEach(x -> { equipmentLists.forEach(x -> {
JgMaintenanceContractEq equip = new JgMaintenanceContractEq(); JgMaintenanceContractEq equip = new JgMaintenanceContractEq();
...@@ -329,7 +329,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -329,7 +329,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setNextExecuteIds(String.join(",", roleListNext)); contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass())); contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setNextTaskId(nextTaskId); contract.setNextTaskId(nextTaskId);
executeOneStep(contract, taskName, nextUserIds); executeOneStep(contract, taskName, nextUserIds,"0");
} }
} }
updateById(contract); updateById(contract);
...@@ -357,8 +357,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -357,8 +357,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
roleListAll.addAll(p.getCandidateGroups()); roleListAll.addAll(p.getCandidateGroups());
}); });
} }
@Transactional
public void updateExecuteIds(ProcessTaskDTO processTaskDTO, Long sequenceNbr, String operate) { public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate, ProcessTaskDTO processTaskDTO) {
List<String> roleListNext = new ArrayList<>(); List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>(); List<String> roleListAll = new ArrayList<>();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
...@@ -376,7 +376,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -376,7 +376,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds(); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
contract.setNextExecuteIds(String.join(",", roleListNext)); contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setPromoter(RequestContext.getExeUserId()); contract.setPromoter(RequestContext.getExeUserId());
contract.setInstanceId(processTaskDTO.getProcessInstance().getId()); contract.setInstanceId(instanceId);
contract.setNextTaskId(nextTaskId); contract.setNextTaskId(nextTaskId);
if (!ObjectUtils.isEmpty(contract.getInstanceStatus())) { if (!ObjectUtils.isEmpty(contract.getInstanceStatus())) {
contract.setInstanceStatus(contract.getInstanceStatus() + "," + String.join(",", roleListNext)); contract.setInstanceStatus(contract.getInstanceStatus() + "," + String.join(",", roleListNext));
...@@ -391,18 +391,18 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -391,18 +391,18 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
contract.setPromoter(null); contract.setPromoter(null);
} }
executeOneStep(contract, taskName, nextUserIds); executeOneStep(contract, taskName, nextUserIds,operate);
} else { } else {
contract.setApplyDate(new Date()); contract.setApplyDate(new Date());
contract.setStatus(taskCode); contract.setStatus(taskCode);
updateTaskModel(contract); updateTaskModel(contract,operate);
} }
this.getBaseMapper().updateById(contract); this.getBaseMapper().updateById(contract);
} }
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds) { private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds, String operate) {
// 先更新之前的待办 // 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract); TaskV2Model taskV2Model = updateTaskModel(contract,operate);
// 再插入新代办、数据待定 // 再插入新代办、数据待定
taskV2Model.setTaskName(taskName); taskV2Model.setTaskName(taskName);
taskV2Model.setExecuteUserIds(nextUserIds); taskV2Model.setExecuteUserIds(nextUserIds);
...@@ -415,14 +415,23 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -415,14 +415,23 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
commonService.buildTaskModel(Collections.singletonList(modelDto)); commonService.buildTaskModel(Collections.singletonList(modelDto));
} }
private TaskV2Model updateTaskModel(JgMaintenanceContract contract) { private TaskV2Model updateTaskModel(JgMaintenanceContract contract, String operate) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("relationId", contract.getInstanceId()); FlowStatusEnum flowStatusEnum = this.getTaskStatus(operate);
params.put("taskStatus", this.getTaskStatusByName(contract.getApplyStatus())); params.put("relationId",contract.getInstanceId());
params.put("taskStatusLabel", contract.getApplyStatus()); params.put("taskStatus", flowStatusEnum.getCode());
params.put("taskStatusLabel", flowStatusEnum.getName());
params.put("flowStatus",this.getTaskStatusByName(contract.getApplyStatus()));
params.put("flowStatusLabel",contract.getApplyStatus());
return commonService.updateTaskModel(params); return commonService.updateTaskModel(params);
} }
private FlowStatusEnum getTaskStatus(String operate) {
if("0".equals(operate)){
return FlowStatusEnum.TO_BE_FINISHED;
} else {
return FlowStatusEnum.REJECTED;
}
}
private Integer getTaskStatusByName(String auditStatus) { private Integer getTaskStatusByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus); return commonService.getDictionaryCodeByName(auditStatus);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment