Commit 299ca3bc authored by LiuLin's avatar LiuLin

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

parents a8a57e6f 34ffae7b
...@@ -214,6 +214,12 @@ public class JgMaintenanceContract extends BaseEntity { ...@@ -214,6 +214,12 @@ public class JgMaintenanceContract extends BaseEntity {
private String createUserId; private String createUserId;
/** /**
* 创建人名称
*/
@TableField("create_user_name")
private String createUserName;
/**
* 创建时间 * 创建时间
*/ */
@TableField("create_date") @TableField("create_date")
......
...@@ -25,7 +25,7 @@ public enum WorkFlowStatusEnum { ...@@ -25,7 +25,7 @@ public enum WorkFlowStatusEnum {
/** /**
* 维保流程 * 维保备案
*/ */
MAIN_SUBMIT("使用单位提交", "mainSubmit", "使用单位待提交", "维保单位已驳回", "使用单位已撤回"), MAIN_SUBMIT("使用单位提交", "mainSubmit", "使用单位待提交", "维保单位已驳回", "使用单位已撤回"),
MAIN_RECEIVE("维保单位审核确认", "mainReceive", "维保单位待受理", "监管单位已驳回", "维保单位已撤回"), MAIN_RECEIVE("维保单位审核确认", "mainReceive", "维保单位待受理", "监管单位已驳回", "维保单位已撤回"),
......
...@@ -56,51 +56,6 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -56,51 +56,6 @@ public class JgMaintenanceContractController extends BaseController {
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.saveOrSubmit(submit,model, reginParams)); return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.saveOrSubmit(submit,model, reginParams));
} }
/**
* 更新维保合同和设备对应关系
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateMaintenanceAndEquipment")
@ApiOperation(httpMethod = "POST", value = "更新维保合同和设备对应关系", notes = "更新维保合同和设备对应关系")
public ResponseModel<Object> updateMaintenanceAndEquipment(@RequestBody Map<String , Object> model,
@RequestParam(value = "submit",required = false,defaultValue = "0") String submit) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model), JgMaintenanceContractDto.class);
List<Map<String, Object>> list = (List<Map<String, Object>>) model.get("equipmentLists");
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.updateMaintenanceAndEquipment(submit,dto,list));
}
/**
* 提交
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/submit")
@ApiOperation(httpMethod = "POST", value = "维保合同提交", notes = "维保合同提交")
public ResponseModel<Object> submit(@RequestBody Map<String , Object> model) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model), JgMaintenanceContractDto.class);
String comment = String.valueOf(model.get("comment"));
String operate = String.valueOf(model.get("operate"));
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.submit(dto,comment,operate));
}
/**
* 审批
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/approval")
@ApiOperation(httpMethod = "POST", value = "审批", notes = "审批")
public ResponseModel<Object> approval(@RequestBody Map<String , Object> model) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(model.get("formData")), JgMaintenanceContractDto.class);
String comment = String.valueOf(model.get("comment"));
String operate = String.valueOf(model.get("operate"));
return ResponseHelper.buildResponse(jgMaintenanceContractServiceImpl.approval(dto,comment,operate));
}
/** /**
* 撤回 * 撤回
...@@ -216,8 +171,7 @@ public class JgMaintenanceContractController extends BaseController { ...@@ -216,8 +171,7 @@ public class JgMaintenanceContractController extends BaseController {
public ResponseModel<Page<JgMaintenanceContractVo>> queryForPage(@RequestParam(value = "current") int current, public ResponseModel<Page<JgMaintenanceContractVo>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "phase") int phase, @RequestParam(value = "phase") int phase,
Map<String,Object> map, Map<String,Object> map) {
JgMaintenanceContractDto maintenanceContractDto) {
Page<JgMaintenanceContract> page = new Page<>(); Page<JgMaintenanceContract> page = new Page<>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl; 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.JSON;
import com.alibaba.fastjson.JSONArray;
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;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgMaintenanceContractDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContractEq;
import com.yeejoin.amos.boot.module.jg.api.enums.*; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.MaintenanceEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintenanceContractMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService; import com.yeejoin.amos.boot.module.jg.api.service.IJgMaintenanceContractService;
import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo; import com.yeejoin.amos.boot.module.jg.api.vo.JgMaintenanceContractVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.AjaxResult; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -35,8 +37,10 @@ import org.springframework.http.HttpStatus; ...@@ -35,8 +37,10 @@ import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*; import java.util.*;
...@@ -54,37 +58,29 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -54,37 +58,29 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public static final String SUBMIT_DATA = "0"; public static final String SUBMIT_DATA = "0";
public static final String SUBMIT_TYPE_FLOW = "1"; public static final String SUBMIT_TYPE_FLOW = "1";
public static final String WB_PROCESS_DEFINITION_KEY = "maintenanceFiling"; public static final String WB_PROCESS_DEFINITION_KEY = "maintenanceFiling";
private static final String HANDLING_STATUS_DICTIONARY = "JGGZZZ";
private static final String USE = "使用";
@Autowired @Autowired
TzsServiceFeignClient tzsServiceFeignClient; TzsServiceFeignClient tzsServiceFeignClient;
@Autowired @Autowired
RestHighLevelClient restHighLevelClient; RestHighLevelClient restHighLevelClient;
@Autowired @Autowired
WorkFlowFeignService workFlowFeginService;
@Autowired
private JgMaintenanceContractMapper maintenanceContractMapper; private JgMaintenanceContractMapper maintenanceContractMapper;
@Autowired @Autowired
private JgMaintenanceContractEqMapper maintenanceContractEqMapper; private JgMaintenanceContractEqMapper maintenanceContractEqMapper;
@Autowired @Autowired
private JgMaintenanceContractEqServiceImpl jgMaintenanceContractEqService; private JgMaintenanceContractEqServiceImpl jgMaintenanceContractEqService;
@Autowired @Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired
ICmWorkflowService workflowService;
@Autowired
CommonServiceImpl commonService;
/** /**
* 分页查询 * 分页查询
*/ */
public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, public Page<JgMaintenanceContractVo> queryForPage(Page<JgMaintenanceContract> page, int phase,
int phase, Map<String, Object> map, ReginParams reginParams) {
// JgMaintenanceContractDto dto,
Map<String,Object> map,
ReginParams reginParams) {
// JgMaintenanceContractDto dto = new JgMaintenanceContractDto();
// JgMaintenanceContractDto dto = (JgMaintenanceContractDto)map;
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class); JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map.get("jgMaintenanceContractDto")), JgMaintenanceContractDto.class);
Page<JgMaintenanceContractDto> contractList = new Page<>(); Page<JgMaintenanceContractDto> contractList = new Page<>();
...@@ -117,7 +113,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -117,7 +113,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
BeanUtils.copyProperties(dto, vo); BeanUtils.copyProperties(dto, vo);
vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract())); vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract()));
List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr); List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr);
if (!ObjectUtils.isEmpty(list)){ if (!ObjectUtils.isEmpty(list)) {
vo.setEquipmentLists(list); vo.setEquipmentLists(list);
} }
return vo; return vo;
...@@ -136,9 +132,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -136,9 +132,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update) { public void flowExecute(Long id, String instanceId, String operate, String comment, Boolean update) {
try { try {
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectById(id); JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectById(id);
JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId); String taskId = jgMaintenanceContract.getNextTaskId();
JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
String taskId = taskMessage.getString("id");
//组装信息 //组装信息
TaskResultDTO dto = new TaskResultDTO(); TaskResultDTO dto = new TaskResultDTO();
dto.setResultCode("approvalStatus"); dto.setResultCode("approvalStatus");
...@@ -150,55 +144,30 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -150,55 +144,30 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
map.put("approvalStatus", "提交"); map.put("approvalStatus", "提交");
} }
dto.setVariable(map); dto.setVariable(map);
//执行流程 ProcessTaskDTO complete = workflowService.complete(taskId, dto);
Workflow.taskClient.completeByTask(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);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
// 更新下一步执行人
updateExecuteIds(instanceId, id, operate);
} }
public void updateStatus(Long id , String taskName, String role, Boolean rollBack) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
lambda.eq(JgMaintenanceContract::getSequenceNbr, id);
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectOne(lambda);
if ("流程结束".equals(taskName)) {
jgMaintenanceContract.setStatus(taskName);
jgMaintenanceContract.setApplyStatus("已完成");
} else {
jgMaintenanceContract.setNextExecuteIds(role);
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId());
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) {
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role);
} else {
jgMaintenanceContract.setInstanceStatus(role);
}
UseStatusEnum message = UseStatusEnum.getMessage(taskName);
jgMaintenanceContract.setStatus(message.getPass());
}
if (rollBack){
this.getBaseMapper().update(jgMaintenanceContract, lambda);
this.getBaseMapper().updatePromoter(jgMaintenanceContract.getSequenceNbr());
}else {
this.getBaseMapper().update(jgMaintenanceContract, lambda);
}
}
/** /**
* 批量删除 * 批量删除
*/ */
@Transactional @Transactional
public Boolean deleteForBatch(Long[] ids) { public Boolean deleteForBatch(Long[] ids) {
List<Long> list = Arrays.asList(ids); List<Long> list = Arrays.asList(ids);
list.forEach(x->{ list.forEach(x -> {
QueryWrapper<JgMaintenanceContract> wrapper = new QueryWrapper<>(); QueryWrapper<JgMaintenanceContract> wrapper = new QueryWrapper<>();
wrapper.eq("sequence_nbr", x); wrapper.eq("sequence_nbr", x);
JgMaintenanceContract jgMaintenanceContract = maintenanceContractMapper.selectOne(wrapper); JgMaintenanceContract jgMaintenanceContract = maintenanceContractMapper.selectOne(wrapper);
LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>() LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquipTransferId,jgMaintenanceContract.getApplyNo()) .eq(JgMaintenanceContractEq::getEquipTransferId, jgMaintenanceContract.getApplyNo())
.eq(JgMaintenanceContractEq::getIsDelete, false); .eq(JgMaintenanceContractEq::getIsDelete, false);
List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream() List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream()
.map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList()); .map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList());
...@@ -208,151 +177,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -208,151 +177,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return true; return true;
} }
public String startByVariable() {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
} catch (Exception e) {
e.printStackTrace();
}
return instanceId;
}
/**
* 维保合同提交
*/
@Transactional
public Boolean submit(JgMaintenanceContractDto dto,String comment,String operate) {
String instanceId = "";
try {
AjaxResult ajaxResult;
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO();
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1");
ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId);
// 执行一步
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
taskResultDTO.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
} catch (Exception e) {
e.printStackTrace();
}
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setInstanceId(instanceId);
dto.setReceiveOrgCode(null);
return this.updateBySequenceNbr(dto);
}
@Transactional
public Boolean approval(JgMaintenanceContractDto dto,String comment,String operate) {
String instanceId = dto.getInstanceId();
try {
AjaxResult ajaxResult;
ajaxResult = Workflow.taskClient.getTask(instanceId);
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
//组装信息
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment(comment);
HashMap<String, Object> map = new HashMap<>();
map.put("approvalStatus", operate);
taskResultDTO.setVariable(map);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
} catch (Exception e) {
e.printStackTrace();
}
// if("tongguo"){
// if("weibao"){
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }else {
// if("weibao"){
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }else {
// dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
// }
// }
if ("1".equals(operate)){
}
//审批通过
if ("0".equals(operate)){
}
dto.setApplyStatus(FlowStatusEnum.TO_BE_PROCESSED.getName());
dto.setInstanceId(instanceId);
dto.setReceiveOrgCode(null);
return this.updateBySequenceNbr(dto);
}
/** /**
* 维保合同撤回 * 维保合同撤回
*/ */
@Transactional
public void revocation(String instanceId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String taskCode = "";
JgMaintenanceContract jgMaintenanceContract = new JgMaintenanceContract();
LambdaQueryWrapper<JgMaintenanceContract> lambda = new QueryWrapper<JgMaintenanceContract>().lambda();
lambda.eq(JgMaintenanceContract::getInstanceId, instanceId);
ArrayList<String> roleList = new ArrayList<>();
try {
workFlowFeginService.rollBack(instanceId);
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
taskCode = nextTask.getString("name");
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!ObjectUtils.isEmpty(taskCode)) {
jgMaintenanceContract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack()); public void revocation(String instanceId) {
// 执行流程
JgMaintenanceContract contract = new JgMaintenanceContract();
QueryWrapper<JgMaintenanceContract> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(JgMaintenanceContract::getInstanceId, instanceId);
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
ProcessTaskDTO processTaskDTO = workflowService.rollBack(instanceId);
String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
// 待调整
String taskCode = processTaskDTO.getNextTask().get(0).getKey();
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
contract.setApplyStatus(WorkFlowStatusEnum.getMessage(taskCode).getRollBack());
} }
String join = String.join(",", roleList); contract.setPromoter(RequestContext.getExeUserId());
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId()); contract.setNextExecuteIds(String.join(",", roleListNext));
jgMaintenanceContract.setNextExecuteIds(join); contract.setNextTaskId(nextTaskId);
this.update(jgMaintenanceContract, lambda); this.update(contract, queryWrapper);
// 删除待办
commonService.deleteTaskModel(contract.getInstanceId());
commonService.rollbackTask(contract.getInstanceId());
} }
/** /**
...@@ -360,12 +210,13 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -360,12 +210,13 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) { public Boolean saveOrSubmit(String submit, Map<String, Object> map, ReginParams reginParams) {
JgMaintenanceContractDto dto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class); JgMaintenanceContractDto contractDto = JSON.parseObject(JSON.toJSONString(map), JgMaintenanceContractDto.class);
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists"); List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
JgMaintenanceContract contract = new JgMaintenanceContract(); // JgMaintenanceContract contract = new JgMaintenanceContract();
BeanUtils.copyProperties(dto, contract); // BeanUtils.copyProperties(contractDto, contract);
contract.setCreateDate(new Date()); contractDto.setCreateDate(new Date());
contractDto.setPromoter(reginParams.getUserModel().getUserId());
//获取维保备案编号 //获取维保备案编号
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1); ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WBBA.getCode(), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) { if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
...@@ -373,36 +224,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -373,36 +224,32 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
return false; return false;
} }
String wbApplyNo = listResponseModel.getResult().get(0); String wbApplyNo = listResponseModel.getResult().get(0);
contract.setApplyNo(wbApplyNo); contractDto.setApplyNo(wbApplyNo);
contract.setUseUnitCode(company.getCompanyCode()); contractDto.setUseUnitCode(company.getCompanyCode());
contract.setUseUnitName(company.getCompanyName()); contractDto.setUseUnitName(company.getCompanyName());
//管理员信息 //管理员信息
String[] MaintenanceManager = dto.getMaintenanceManagerId().split("_"); String[] MaintenanceManager = contractDto.getMaintenanceManagerId().split("_");
contract.setMaintenanceManagerId(MaintenanceManager[0]); contractDto.setMaintenanceManagerId(MaintenanceManager[0]);
contract.setMaintenanceManagerName(MaintenanceManager[1]); contractDto.setMaintenanceManagerName(MaintenanceManager[1]);
//接收机构信息 //接收机构信息
String[] splitReceiveOrgCode = dto.getReceiveOrgCode().split("_"); String[] splitReceiveOrgCode = contractDto.getReceiveOrgCode().split("_");
contract.setReceiveOrgCode(splitReceiveOrgCode[0]); contractDto.setReceiveOrgCode(splitReceiveOrgCode[0]);
contract.setReceiveOrgName(splitReceiveOrgCode[1]); contractDto.setReceiveOrgName(splitReceiveOrgCode[1]);
//维保单位信息 //维保单位信息
String[] splitMaintenanceUnitCode = dto.getMaintenanceUnitCode().split("_"); String[] splitMaintenanceUnitCode = contractDto.getMaintenanceUnitCode().split("_");
contract.setMaintenanceUnitCode(splitMaintenanceUnitCode[0]); contractDto.setMaintenanceUnitCode(splitMaintenanceUnitCode[0]);
contract.setMaintenanceUnitName(splitMaintenanceUnitCode[1]); contractDto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]);
contractDto.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName());
contract.setApplyStatus(FlowStatusEnum.TO_BE_SUBMITTED.getName()); contractDto.setEquNum(equipmentLists.size());
contract.setEquNum(equipmentLists.size()); JgMaintenanceContract contract = getById(contractDto.getSequenceNbr());
BeanUtils.copyProperties(contractDto, contract);
// 新增编辑 if (!"add".equals(String.valueOf(map.get("pageType")))) {
if ("add".equals(String.valueOf(map.get("pageType")))) { //编辑
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
this.save(contract);
} else {
this.getBaseMapper().updateById(contract); this.getBaseMapper().updateById(contract);
LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda(); LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda();
lambda.eq(JgMaintenanceContractEq::getEquipTransferId, contract.getSequenceNbr()); lambda.eq(JgMaintenanceContractEq::getEquipTransferId, contract.getSequenceNbr());
jgMaintenanceContractEqService.getBaseMapper().delete(lambda); jgMaintenanceContractEqService.getBaseMapper().delete(lambda);
} }
//关联设备信息 //关联设备信息
List<JgMaintenanceContractEq> equipList = new ArrayList<>(); List<JgMaintenanceContractEq> equipList = new ArrayList<>();
equipmentLists.forEach(x -> { equipmentLists.forEach(x -> {
...@@ -413,162 +260,198 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC ...@@ -413,162 +260,198 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
}); });
// 保存维保关联设备信息 // 保存维保关联设备信息
jgMaintenanceContractEqService.saveBatch(equipList); jgMaintenanceContractEqService.saveBatch(equipList);
// 判断当前是否为提交
List<String> roleListNext = new ArrayList<>();
List<String> roleListAll = new ArrayList<>();
if (SUBMIT_TYPE_FLOW.equals(submit)) { if (SUBMIT_TYPE_FLOW.equals(submit)) {
String instanceId = null; if (!StringUtils.isEmpty(contract.getInstanceId())) {
// 提交启动流程 // 发起流程
if (map.containsKey("instanceId") && !ObjectUtils.isEmpty(map.get("instanceId"))) { try {
instanceId = String.valueOf(map.get("instanceId")); List<ProcessTaskDTO> processTasks = new ArrayList<>();
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
dto.setBusinessKey(contract.getApplyNo());
dto.setCompleteFirstTask(true);
list.add(dto);
actWorkflowBatchDTO.setProcess(list);
processTasks = workflowService.startBatch(actWorkflowBatchDTO);
String instanceId = processTasks.get(0).getProcessInstance().getId();
String nextTaskId = processTasks.get(0).getNextTask().get(0).getId();
String taskName = processTasks.get(0).getNextTask().get(0).getName();
this.buildRoleList(processTasks, roleListNext, roleListAll);
List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(processTasks);
String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
contract.setInstanceStatus(String.join(",", roleListAll));
contract.setInstanceId(instanceId);
contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setNextTaskId(nextTaskId);
// 创建待办
JgMaintenanceContract bean = new JgMaintenanceContract();
BeanUtil.copyProperties(contract, bean);
createTaskModel(bean, taskName, "1", nextUserIds);
} catch (Exception e) {
log.error("提交失败:{}", e);
throw new BadRequest("提交失败" + e.getMessage());
}
} else { } else {
instanceId = startByVariable(); // 执行一步
} ProcessTaskDTO processTaskDTO = this.submit("0", contract.getNextTaskId());
if (!ObjectUtils.isEmpty(instanceId)) { String nextTaskId = processTaskDTO.getNextTask().get(0).getId();
// 修改数据信息 String taskName = processTaskDTO.getNextTask().get(0).getName();
updateExecuteIds(instanceId, contract.getSequenceNbr(), "0"); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
// 默认执行流程 List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
flowExecute(contract.getSequenceNbr(), instanceId, "0", "", false); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
// 查询下节点任务
if (!ObjectUtils.isEmpty(contract.getInstanceStatus())) {
contract.setInstanceStatus(contract.getInstanceStatus() + "," + String.join("", roleListNext));
} else {
contract.setInstanceStatus(String.join(",", roleListAll));
}
contract.setPromoter(RequestContext.getExeUserId());
contract.setNextExecuteIds(String.join(",", roleListNext));
contract.setApplyStatus(String.valueOf(WorkFlowStatusEnum.MAIN_RECEIVE.getPass()));
contract.setNextTaskId(nextTaskId);
executeOneStep(contract, taskName, nextUserIds);
} }
updateById(contract);
} else {
// 新增
contract.setStatus(SUBMIT_DATA.equals(submit) ? WorkFlowStatusEnum.MAIN_SUBMIT.getPass() : WorkFlowStatusEnum.MAIN_RECEIVE.getPass());
this.save(contract);
} }
return true; return true;
} }
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate){ public ProcessTaskDTO submit(String op, String taskId) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); //组装信息
String role = ""; TaskResultDTO dto = new TaskResultDTO();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName(); dto.setResultCode("approvalStatus");
ArrayList<String> roleList = new ArrayList<>(); dto.setTaskId(taskId);
JgMaintenanceContract jgMaintenanceContract = this.getBaseMapper().selectById(sequenceNbr); dto.setComment("提交流程");
try { HashMap<String, Object> map = new HashMap<>();
// 查询下节点任务 map.put("approvalStatus", op);
dto.setVariable(map);
return workflowService.complete(taskId, dto);
}
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); private void buildRoleList(List<ProcessTaskDTO> processTasks, List<String> roleListNext, List<String> roleListAll) {
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) { processTasks.forEach(p -> {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data"))); p.getNextCandidateGroups().values().forEach(e -> {
String nextTaskId = nextTask.getString("id"); roleListNext.addAll(e);
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(nextTaskId); roleListAll.addAll(e);
JSONObject result = nodeInfo.getResult(); });
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo"); roleListAll.addAll(p.getCandidateGroups());
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey")); });
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId); }
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) { public void updateExecuteIds(ProcessTaskDTO processTaskDTO, Long sequenceNbr, String operate) {
if (((Map) datum).containsKey("groupId")) { List<String> roleListNext = new ArrayList<>();
roleList.add(((Map) datum).get("groupId").toString()); List<String> roleListAll = new ArrayList<>();
} String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
} String taskName = "";
} String nextTaskId = "";
} catch (Exception e) { JgMaintenanceContract contract = this.getBaseMapper().selectById(sequenceNbr);
e.printStackTrace(); if (processTaskDTO != null && processTaskDTO.getNextTask() != null && processTaskDTO.getNextTask().size() > 0) {
taskCode = processTaskDTO.getNextTask().get(0).getKey();
taskName = processTaskDTO.getNextTask().get(0).getName();
nextTaskId = processTaskDTO.getNextTask().get(0).getId();
} }
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)){ if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
role= String.join(",", roleList); this.buildRoleList(Collections.singletonList(processTaskDTO), roleListNext, roleListAll);
jgMaintenanceContract.setNextExecuteIds(role); List<WorkflowResultDto> workflowResultDtos = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO));
jgMaintenanceContract.setPromoter(reginParams.getUserModel().getUserId()); String nextUserIds = workflowResultDtos.get(0).getNextExecutorUserIds();
jgMaintenanceContract.setInstanceId(instanceId); contract.setNextExecuteIds(String.join(",", roleListNext));
if (!ObjectUtils.isEmpty(jgMaintenanceContract.getInstanceStatus())) { contract.setPromoter(RequestContext.getExeUserId());
jgMaintenanceContract.setInstanceStatus(jgMaintenanceContract.getInstanceStatus() + "," + role); contract.setInstanceId(processTaskDTO.getProcessInstance().getId());
contract.setNextTaskId(nextTaskId);
if (!ObjectUtils.isEmpty(contract.getInstanceStatus())) {
contract.setInstanceStatus(contract.getInstanceStatus() + "," + String.join(",", roleListNext));
} else { } else {
jgMaintenanceContract.setInstanceStatus(role); contract.setInstanceStatus(String.join(",", roleListNext));
} }
if ("0".equals(operate)){ if ("0".equals(operate)) {
// 通过操作 // 通过操作
jgMaintenanceContract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass()); contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
}else { } else {
// 驳回操作 // 驳回操作
jgMaintenanceContract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); contract.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgMaintenanceContract.setPromoter(null); contract.setPromoter(null);
} }
executeOneStep(contract, taskName, nextUserIds);
}else { } else {
jgMaintenanceContract.setApplyDate(new Date()); contract.setApplyDate(new Date());
jgMaintenanceContract.setStatus(taskCode); contract.setStatus(taskCode);
updateTaskModel(contract);
} }
this.getBaseMapper().updateById(jgMaintenanceContract); this.getBaseMapper().updateById(contract);
}
private void executeOneStep(JgMaintenanceContract contract, String taskName, String nextUserIds) {
// 先更新之前的待办
TaskV2Model taskV2Model = updateTaskModel(contract);
// 再插入新代办、数据待定
taskV2Model.setTaskName(taskName);
taskV2Model.setExecuteUserIds(nextUserIds);
taskV2Model.setTaskStatus(this.getTaskStatusByName(contract.getApplyStatus()));
taskV2Model.setTaskStatusLabel(contract.getApplyStatus());
TaskModelDto modelDto = new TaskModelDto();
BeanUtil.copyProperties(taskV2Model, modelDto);
modelDto.setNextExecuteUser(contract.getNextExecuteIds());
modelDto.setModel(contract);
commonService.buildTaskModel(Collections.singletonList(modelDto));
} }
private void extracted(String instanceId, ArrayList<String> roleList, JgMaintenanceContract contract) {
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId); private TaskV2Model updateTaskModel(JgMaintenanceContract contract) {
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) { Map<String, Object> params = new HashMap<>();
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data"))); params.put("relationId", contract.getInstanceId());
String nextTaskId = nextTask.getString("id"); params.put("taskStatus", this.getTaskStatusByName(contract.getApplyStatus()));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId); params.put("taskStatusLabel", contract.getApplyStatus());
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data"))); return commonService.updateTaskModel(params);
for (Object datum : data) {
if (((Map<?, ?>) datum).containsKey("groupId")) {
roleList.add(((Map<?, ?>) datum).get("groupId").toString());
}
}
}
contract.setInstanceStatus(String.join(",", roleList));
} }
/** private Integer getTaskStatusByName(String auditStatus) {
* 更新维保合同和设备对应关系 return commonService.getDictionaryCodeByName(auditStatus);
*/ }
@Transactional
public Boolean updateMaintenanceAndEquipment(String submit,JgMaintenanceContractDto dto, List<Map<String, Object>> list) {
String instanceId = null;
//更新维保合同表 private void createTaskModel(JgMaintenanceContract dto, String taskName, String submitType, String nextUserIds) {
String[] MaintenanceManager = dto.getMaintenanceManagerId().split("_"); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
dto.setMaintenanceManagerId(dto.getMaintenanceManagerId()); if ("1".equals(submitType)) {
dto.setMaintenanceManagerName(MaintenanceManager[1]); TaskModelDto taskModelDto = new TaskModelDto();
taskModelDto.setFlowCreateDate(dto.getApplyDate());
taskModelDto.setTaskName(taskName);
taskModelDto.setTaskCode(dto.getApplyNo());
taskModelDto.setTaskContent(this.buildTaskContent(dto));
taskModelDto.setTaskDesc("");
taskModelDto.setTaskType(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getCode());
taskModelDto.setTaskTypeLabel(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getName());
taskModelDto.setRelationId(dto.getInstanceId());
taskModelDto.setExecuteUserIds(nextUserIds);
taskModelDto.setTaskStatus(this.getTaskCodeByName(dto.getApplyStatus()));
taskModelDto.setTaskStatusLabel(dto.getApplyStatus());
taskModelDto.setStartUserId(dto.getCreateUserId());
taskModelDto.setStartUser(reginParams.getUserModel().getRealName());
taskModelDto.setStartUserCompanyName(dto.getUseUnitName());
taskModelDto.setNextExecuteUser(dto.getNextExecuteIds());
taskModelDto.setStartDate(dto.getCreateDate());
taskModelDto.setModel(dto);
commonService.buildTaskModel(Collections.singletonList(taskModelDto));
}
}
String[] splitReceiveOrgCode = dto.getReceiveOrgCode().split("_"); private Integer getTaskCodeByName(String auditStatus) {
dto.setReceiveOrgCode(splitReceiveOrgCode[0]); return commonService.getDictionaryCodeByName(auditStatus);
dto.setReceiveOrgName(splitReceiveOrgCode[1]); }
String[] splitMaintenanceUnitCode = dto.getMaintenanceUnitCode().split("_"); /**
dto.setMaintenanceUnitCode(dto.getMaintenanceUnitCode()); * 摘要构建
dto.setMaintenanceUnitName(splitMaintenanceUnitCode[1]); *
// 判断当前是否为提交 * @param dto 业务
if (SUBMIT_TYPE_FLOW.equals(submit)) { * @return 摘要
// 发起流程 */
try { private String buildTaskContent(JgMaintenanceContract dto) {
ActWorkflowStartDTO flowDto = new ActWorkflowStartDTO(); return "申请单号:" + dto.getApplyNo() + "的业务办理";
flowDto.setProcessDefinitionKey(WB_PROCESS_DEFINITION_KEY);
flowDto.setBusinessKey("1");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(flowDto);
instanceId = ((Map<?, ?>) ajaxResult.get("data")).get("id").toString();
ajaxResult = Workflow.taskClient.getTask(instanceId);
// 执行一步
JSONObject dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
String taskId = dataObject.getString("id");
TaskResultDTO taskResultDTO = new TaskResultDTO();
taskResultDTO.setResultCode("approvalStatus");
taskResultDTO.setTaskId(taskId);
taskResultDTO.setComment("提交流程");
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("approvalStatus", "0");
taskResultDTO.setVariable(hashMap);
//执行流程
Workflow.taskClient.completeByTask(taskId, taskResultDTO);
// dto.setApplyFlow(MaintenanceEnum.SHIYONG.getMsg()+","+MaintenanceEnum.WEIBAO.getMsg());
dto.setInstanceId(instanceId);
} catch (Exception e) {
log.error("维保使用单位提交流程启动失败:{}", e);
}
}
this.updateBySequenceNbr(dto);
//更新对应设备表
if (!list.isEmpty()) {
//先删除原先设备对应关系
LambdaQueryWrapper<JgMaintenanceContractEq> queryWrapper = new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquId,list.get(0).get("SEQUENCE_NBR"))
.eq(JgMaintenanceContractEq::getIsDelete, false);
List<Long> listSeq = jgMaintenanceContractEqService.list(queryWrapper).stream()
.map(JgMaintenanceContractEq::getSequenceNbr).collect(Collectors.toList());
jgMaintenanceContractEqService.deleteBatchSeq(listSeq);
//重新生成关系表
List<JgMaintenanceContractEq> equipList = new ArrayList<>();
list.forEach(x -> {
JgMaintenanceContractEq equip = new JgMaintenanceContractEq();
equip.setEquId(String.valueOf(x.get("SEQUENCE_NBR")));
equip.setEquipTransferId(dto.getApplyNo());
equipList.add(equip);
});
return jgMaintenanceContractEqService.saveBatch(equipList);
}
return true;
} }
} }
\ No newline at end of file
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