Commit 5c01536e authored by suhuiguang's avatar suhuiguang

1.设备移交并发修改

parent 7995e161
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -19,10 +19,10 @@ import java.util.Map;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="JgEquipTransferDto", description="设备移交")
public class JgEquipTransferDto extends BaseDto {
@ApiModel(value = "JgEquipTransferDto", description = "设备移交")
public class JgEquipTransferDto extends BaseDto {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "申请编号")
private String applyNo;
......@@ -91,7 +91,6 @@ public class JgEquipTransferDto extends BaseDto {
@ApiModelProperty(value = "流程执行角色")
private String instanceRoles;
@TableField(exist = false)
@ApiModelProperty(value = "告知设备列表")
private List<Map<String, Object>> deviceList;
......@@ -138,5 +137,9 @@ public class JgEquipTransferDto extends BaseDto {
private String nextExecuteUserIds;
@ApiModelProperty(value = "转办人")
private String transferToUserIds;
private String transferToUserIds;
@ApiModelProperty(value = "工作流下一节点任务id")
private String nextTaskId;
}
......@@ -5,12 +5,16 @@ import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
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.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransferEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNotice;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgEquipTransferMapper;
......@@ -22,24 +26,30 @@ import com.yeejoin.amos.boot.module.ymt.api.common.BaseException;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.*;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.util.StringUtils;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
......@@ -66,6 +76,10 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
@Lazy
private final CommonServiceImpl commonService;
@Autowired
private RedissonClient redissonClient;
/**
* 保存和保存并提交
*
......@@ -101,15 +115,15 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
JgEquipTransferEq jgEquipTransferEq = buildJgEquipTransferEq(obj, applyNo);
JgEquipTransfer transfer = buildJgEquipTransfer(model, applyNo, reginParams, submitType, workflowResultList, i);
transfer.setSupervisoryCode(String.valueOf(obj.get("SUPERVISORY_CODE")));
transfer.setEquList(Objects.toString(obj.get("EQU_LIST"),""));
transfer.setEquDefine(Objects.toString(obj.get("EQU_DEFINE"),""));
transfer.setEquCategory(Objects.toString(obj.get("EQU_CATEGORY"),""));
transfer.setProductName(Objects.toString(obj.get("PRODUCT_NAME"),""));
transfer.setUseRegistCode(Objects.toString(obj.get("USE_ORG_CODE"),""));
transfer.setEquList(Objects.toString(obj.get("EQU_LIST"), ""));
transfer.setEquDefine(Objects.toString(obj.get("EQU_DEFINE"), ""));
transfer.setEquCategory(Objects.toString(obj.get("EQU_CATEGORY"), ""));
transfer.setProductName(Objects.toString(obj.get("PRODUCT_NAME"), ""));
transfer.setUseRegistCode(Objects.toString(obj.get("USE_ORG_CODE"), ""));
transfer.setUseInnerCode(Objects.toString(obj.get("USE_INNER_CODE"),""));
transfer.setEquAddress(Objects.toString(obj.get("ADDRESS"),""));
transfer.setEquCode(Objects.toString(obj.get("EQU_CODE"),""));
transfer.setUseRegistCode(Objects.toString(obj.get("USE_ORG_CODE"), ""));
transfer.setUseInnerCode(Objects.toString(obj.get("USE_INNER_CODE"), ""));
transfer.setEquAddress(Objects.toString(obj.get("ADDRESS"), ""));
transfer.setEquCode(Objects.toString(obj.get("EQU_CODE"), ""));
transferList.add(transfer);
equipTransferEqList.add(jgEquipTransferEq);
});
......@@ -117,18 +131,27 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
baseMapper.insertBatchSomeColumn(transferList);
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
this.buildTask(transferList, workflowResultList);
} else{
} else {
//批量暂存
this.saveTempTransfer(transferList);
}
List<JgEquipTransferEq> jgEquipTransferEqList = this.buildJgEquipTransferEqList(equipTransferEqList, transferList);
jgEquipTransferEqMapper.insertBatchSomeColumn(jgEquipTransferEqList);
this.updateRedisBatch(transferList);
return transferList;
}
private void updateRedisBatch(List<JgEquipTransfer> transferList) {
transferList.stream().filter(n -> StringUtil.isNotEmpty(n.getInstanceId())).forEach(jgEquipTransfer -> {
commonService.saveExecuteFlowData2Redis(jgEquipTransfer.getInstanceId(), this.buildInstanceRuntimeData(jgEquipTransfer));
});
}
/**
* 批量暂存
*
* @param transferList 移交信息
*/
private void saveTempTransfer(List<JgEquipTransfer> transferList) {
......@@ -146,7 +169,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
.taskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), Objects.toString(item.getSupervisoryCode(), ""), item.getApplyNo()))
.taskCode(item.getApplyNo())
.taskType(BusinessTypeEnum.JG_EQUIPMENT_HANDOVER.getCode())
.relationId(item.getSequenceNbr()+"")
.relationId(item.getSequenceNbr() + "")
.build();
}
......@@ -163,7 +186,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
.put("flowStatus", statusEnum.getCode())
.put("flowStatusLabel", statusEnum.getName())
.put("relationId", transfer.getInstanceId())
.put("model",transfer)
.put("model", transfer)
.build());
}
......@@ -248,8 +271,9 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
*/
@Transactional(rollbackFor = {Exception.class, BaseException.class})
public JgEquipTransferDto updateEquipTransfer(String submitType, JgEquipTransferDto equipTransferDto, String op) {
if (Objects.isNull(equipTransferDto) || StringUtils.isEmpty(submitType))
if (Objects.isNull(equipTransferDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空");
}
this.convertField(equipTransferDto);
JgEquipTransfer transfer = this.getById(equipTransferDto.getSequenceNbr());
......@@ -284,7 +308,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
updateById(transfer);
//删除暂存
commonService.deleteTaskModel(transfer.getSequenceNbr()+"");
commonService.deleteTaskModel(transfer.getSequenceNbr() + "");
// 如果为保存并提交,则创建代办
this.buildTask(Collections.singletonList(transfer), Collections.singletonList(workflowResultDto));
......@@ -323,6 +347,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
// 创建新的代办
this.createNewTodo(transfer, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_PROCESSED);
}
commonService.saveExecuteFlowData2Redis(transfer.getInstanceId(),this.buildInstanceRuntimeData(transfer));
} else {
JgEquipTransfer equipTransfer = new JgEquipTransfer();
BeanUtils.copyProperties(equipTransferDto, equipTransfer);
......@@ -338,79 +363,105 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* @param op 通过或驳回
*/
public void accept(JgEquipTransferDto jgEquipTransferDto, String op) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgEquipTransfer jgEquipTransfer = baseMapper.selectById(jgEquipTransferDto.getSequenceNbr());
// 检查实际状态是否不等于期望状态
commonService.checkExpectedStatus(jgEquipTransfer.getApplyStatus());
TaskResultDTO workDto = new TaskResultDTO();
workDto.setResultCode("approvalStatus");
workDto.setTaskId(jgEquipTransfer.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (jgEquipTransfer.getApplyStatus().equals("6614") || jgEquipTransfer.getApplyStatus().equals("6615")) {
commMap.put("approvalStatus", "提交");
} else {
commMap.put("approvalStatus", op);
}
workDto.setNextExecuteUserCompanyCode("1".equals(op) ? jgEquipTransfer.getUseUnitCreditCode() : jgEquipTransfer.getInstallUnitCreditCode());
workDto.setVariable(commMap);
workDto.setComment(jgEquipTransferDto.getProcessAdvice());
ProcessTaskDTO processTaskDTO = cmWorkflowService.completeOrReject(jgEquipTransfer.getNextTaskId(), workDto, op);
// 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
jgEquipTransfer.setPromoter(reginParams.getUserModel().getUserId());
jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice());
JgEquipTransferEq jgEquipTransferEq = jgEquipTransferEqMapper.selectOne(Wrappers.<JgEquipTransferEq>lambdaQuery().select(JgEquipTransferEq::getEquId)
.eq(JgEquipTransferEq::getEquipTransferId, jgEquipTransferDto.getSequenceNbr()));
TaskV2Model taskV2Model;
if ("0".equals(op)) {
if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
jgEquipTransfer.setPromoter("");
jgEquipTransfer.setAcceptDate(new Date());
if (jgEquipTransferEq != null) {
Map<String, Map<String, Object>> resultMap = MapBuilder.<String, Map<String, Object>>create()
.put(jgEquipTransferEq.getEquId(), MapBuilder.<String, Object>create()
.put("USC_UNIT_NAME", jgEquipTransfer.getInstallUnitName())
.put("USC_UNIT_CREDIT_CODE", jgEquipTransfer.getInstallUnitCreditCode())
.build())
.build();
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
}
// 上个代办改为已办
this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.TO_BE_FINISHED);
String instanceId = jgEquipTransferDto.getInstanceId();
String nextTaskId = jgEquipTransferDto.getNextTaskId();
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if (!isLocked) {
throw new BadRequest("当前流程已经被执行!");
}
// 流程执行时,状态及权限校验
commonService.checkForExecuteFlow(nextTaskId, instanceId);
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgEquipTransfer jgEquipTransfer = baseMapper.selectById(jgEquipTransferDto.getSequenceNbr());
TaskResultDTO workDto = new TaskResultDTO();
workDto.setResultCode("approvalStatus");
workDto.setTaskId(jgEquipTransfer.getNextTaskId());
HashMap<String, Object> commMap = new HashMap<>();
if (jgEquipTransfer.getApplyStatus().equals("6614") || jgEquipTransfer.getApplyStatus().equals("6615")) {
commMap.put("approvalStatus", "提交");
} else {
jgEquipTransfer.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgEquipTransfer.getInstanceStatus())) {
jgEquipTransfer.setInstanceStatus(jgEquipTransfer.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
commMap.put("approvalStatus", op);
}
workDto.setNextExecuteUserCompanyCode("1".equals(op) ? jgEquipTransfer.getUseUnitCreditCode() : jgEquipTransfer.getInstallUnitCreditCode());
workDto.setVariable(commMap);
workDto.setComment(jgEquipTransferDto.getProcessAdvice());
ProcessTaskDTO processTaskDTO = cmWorkflowService.completeOrReject(jgEquipTransfer.getNextTaskId(), workDto, op);
// 提取节点等信息
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
jgEquipTransfer.setPromoter(reginParams.getUserModel().getUserId());
jgEquipTransfer.setProcessAdvice(jgEquipTransferDto.getProcessAdvice());
JgEquipTransferEq jgEquipTransferEq = jgEquipTransferEqMapper.selectOne(Wrappers.<JgEquipTransferEq>lambdaQuery().select(JgEquipTransferEq::getEquId)
.eq(JgEquipTransferEq::getEquipTransferId, jgEquipTransferDto.getSequenceNbr()));
TaskV2Model taskV2Model;
if ("0".equals(op)) {
if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
jgEquipTransfer.setPromoter("");
jgEquipTransfer.setAcceptDate(new Date());
if (jgEquipTransferEq != null) {
Map<String, Map<String, Object>> resultMap = MapBuilder.<String, Map<String, Object>>create()
.put(jgEquipTransferEq.getEquId(), MapBuilder.<String, Object>create()
.put("USC_UNIT_NAME", jgEquipTransfer.getInstallUnitName())
.put("USC_UNIT_CREDIT_CODE", jgEquipTransfer.getInstallUnitCreditCode())
.build())
.build();
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
}
// 上个代办改为已办
this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.TO_BE_FINISHED);
} else {
jgEquipTransfer.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
jgEquipTransfer.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgEquipTransfer.getInstanceStatus())) {
jgEquipTransfer.setInstanceStatus(jgEquipTransfer.getInstanceStatus() + "," + workflowResultDto.getNextExecutorRoleIds());
} else {
jgEquipTransfer.setInstanceStatus(workflowResultDto.getNextExecutorRoleIds());
}
jgEquipTransfer.setPromoter(RequestContext.getExeUserId());
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
jgEquipTransfer.setNextTaskId(workflowResultDto.getNextTaskId());
jgEquipTransfer.setInstanceId(workflowResultDto.getInstanceId());
// 上个代办改为已办
taskV2Model = this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.TO_BE_FINISHED);
// 创建新的代办
this.createNewTodo(jgEquipTransfer, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_PROCESSED);
}
jgEquipTransfer.setPromoter(RequestContext.getExeUserId());
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
} else {
//驳回
jgEquipTransfer.setPromoter("");
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
jgEquipTransfer.setSupervisoryCode(jgEquipTransferDto.getSupervisoryCode());
jgEquipTransfer.setEquList(jgEquipTransferDto.getEquList());
jgEquipTransfer.setNextTaskId(workflowResultDto.getNextTaskId());
jgEquipTransfer.setInstanceId(workflowResultDto.getInstanceId());
// 上个代办改为已办
taskV2Model = this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.TO_BE_FINISHED);
// 创建新的代办
this.createNewTodo(jgEquipTransfer, workflowResultDto, taskV2Model, FlowStatusEnum.TO_BE_PROCESSED);
jgEquipTransfer.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
//jgEquipTransfer.setInstanceId(workflowResultDto.getInstanceId());
// 上个代办改为驳回
taskV2Model = this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.REJECTED);
this.createNewTodo(jgEquipTransfer, workflowResultDto, taskV2Model, FlowStatusEnum.REJECTED);
}
updateById(jgEquipTransfer);
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgEquipTransfer));
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
} else {
//驳回
jgEquipTransfer.setPromoter("");
jgEquipTransfer.setApplyStatus(String.valueOf(FlowStatusEnum.REJECTED.getCode()));
jgEquipTransfer.setSupervisoryCode(jgEquipTransferDto.getSupervisoryCode());
jgEquipTransfer.setEquList(jgEquipTransferDto.getEquList());
jgEquipTransfer.setNextTaskId(workflowResultDto.getNextTaskId());
jgEquipTransfer.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
//jgEquipTransfer.setInstanceId(workflowResultDto.getInstanceId());
// 上个代办改为驳回
taskV2Model = this.updateLastTodo(jgEquipTransfer, FlowStatusEnum.REJECTED);
this.createNewTodo(jgEquipTransfer, workflowResultDto, taskV2Model, FlowStatusEnum.REJECTED);
}
updateById(jgEquipTransfer);
}
public InstanceRuntimeData buildInstanceRuntimeData(JgEquipTransfer jgEquipTransfer) {
return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgEquipTransfer.getNextExecuteUserIds())
.promoter(jgEquipTransfer.getPromoter())
.nextTaskId(jgEquipTransfer.getNextTaskId())
.build();
}
/**
......@@ -419,11 +470,21 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* @param equipTransferInfo 设备移交信息
*/
public void cancel(JgEquipTransferDto equipTransferInfo) {
// 查询装备移交信息
JgEquipTransfer equipTransfer = baseMapper.selectById(equipTransferInfo.getSequenceNbr());
if (equipTransfer != null) {
// 检查实际状态是否不等于期望状态
commonService.checkExpectedStatus(equipTransfer.getApplyStatus());
String instanceId = equipTransferInfo.getInstanceId();
String nextTaskId = equipTransferInfo.getNextTaskId();
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if (!isLocked) {
throw new BadRequest("当前流程已经被执行!");
}
// 流程执行时,状态及权限校验
commonService.checkForRevocationFlow(nextTaskId, instanceId);
// 查询装备移交信息
JgEquipTransfer equipTransfer = baseMapper.selectById(equipTransferInfo.getSequenceNbr());
// 回滚工作流
ProcessTaskDTO processTaskDTO = cmWorkflowService.rollBack(equipTransferInfo.getInstanceId());
WorkflowResultDto workflowResultDto = commonService.buildWorkFlowInfo(Collections.singletonList(processTaskDTO)).get(0);
......@@ -439,8 +500,16 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
jsonObject.put("flowStatus", FlowStatusEnum.ROLLBACK.getCode());
jsonObject.put("flowStatusLabel", FlowStatusEnum.ROLLBACK.getName());
commonService.rollbackTask(equipTransfer.getInstanceId(), jsonObject);
commonService.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(equipTransfer));
} catch (InterruptedException e) {
e.printStackTrace();
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
}
private String getStringFromMap(Map<String, Object> map, String key) {
return map.getOrDefault(key, "").toString();
}
......@@ -481,8 +550,9 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) {
JgEquipTransfer equipTransfer = baseMapper.selectById(sequenceNbr);
if (Objects.isNull(equipTransfer))
if (Objects.isNull(equipTransfer)) {
return null;
}
String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard",
"productQualityYieldProve", "insUseMaintainExplain", "inspectReport",
......@@ -503,7 +573,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
handleJsonArrayFields(equipMap, fields);
return Stream.concat(equipTransferInfo.entrySet().stream(),
equipMap.entrySet().stream())
equipMap.entrySet().stream())
.filter(entry -> entry.getValue() != null)
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (existing, replacement) -> existing));
}
......@@ -562,8 +632,9 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
* @param model 设备信息
*/
private void convertField(JgEquipTransferDto model) {
if (null == model)
if (null == model) {
return;
}
String installUnitId = model.getInstallUnitCreditCode();
if (!ObjectUtils.isEmpty(installUnitId)) {
String[] installUnitIdList = installUnitId.split("_");
......@@ -598,7 +669,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setNextTaskId(workflowResult.getNextTaskId());
dto.setNextExecuteUserIds(workflowResult.getNextExecutorUserIds());
}else{
} else {
dto.setNextExecuteUserIds(RequestContext.getExeUserId());
}
if (!CollectionUtils.isEmpty(workflowResultList)) {
......
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