Commit c39357cc authored by 王果's avatar 王果

修改维保备案bug

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