Commit f919430c authored by 韩桐桐's avatar 韩桐桐

fix(注销报废):暂存数据时可以没有设备和附件

parent b6c73526
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -53,7 +52,6 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.*;
import java.util.stream.Collectors;
/**
* 设备注销报废服务实现类
......@@ -149,7 +147,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
public void save(String submitType, Map<String, Object> mapParams) {
ReginParams reginParams = this.getSelectedOrgInfo();
Map<?, ?> noticeParams = (Map) mapParams.get(PAGE_KEY);
String equipId = noticeParams.get("record").toString();
String equipId = String.valueOf(noticeParams.get("record"));
String[] receiveOrg = String.valueOf(noticeParams.get("receiveOrgCreditCode")).split("_");
noticeParams.remove("record");
String[] taskName = new String[]{"流程结束"};
......@@ -159,22 +157,16 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
model.setReceiveOrgName(receiveOrg[1]);
// 字段转换
convertField(model);
// 获取告知设备信息
// 设备信息转换
if (StrUtil.isEmpty(model.getSEQUENCE_NBR())) {
return;
}
List<Map<String, Object>> deviceList = new ArrayList<>();
HashMap<String, Object> map1 = new HashMap<>();
map1.put("SEQUENCE_NBR", model.getSEQUENCE_NBR());
deviceList.add(map1);
// 获取告知单号
ResponseModel<List<String>> listResponseModel =
tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(noticeParams.get("businessCode"))), deviceList.size());
tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(noticeParams.get("businessCode"))), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error(" 获取告知单号失败");
throw new RuntimeException();
}
HashMap<String, Object> deviceMap = new HashMap<>();
deviceMap.put("SEQUENCE_NBR", model.getSEQUENCE_NBR());
String instanceId = "";
String nextTaskId = "";
String nextUserIds = "";
......@@ -191,15 +183,15 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
for (int i = 0; i < deviceList.size(); i++) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("scrapCancelNew");
dto.setBusinessKey(applyNoList.get(i));
dto.setBusinessKey(applyNoList.get(0));
dto.setCompleteFirstTask(Boolean.TRUE);
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(model.getReceiveOrgCode());
list.add(dto);
}
actWorkflowBatchDTO.setProcess(list);
processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
this.buildRoleList(processTaskDTOS, roleListNext, roleListAll);
......@@ -211,52 +203,41 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this.buildRoleList(processTaskDTOS, roleListNext, roleListAll);
}
List<JgScrapCancel> list = new ArrayList<>();
List<JgScrapCancelEq> equipList = new ArrayList<>();
for (int i = 0; i < deviceList.size(); i++) {
JgScrapCancelEq jgRelationEquip = new JgScrapCancelEq();
JgScrapCancel dto = new JgScrapCancel();
BeanUtils.copyProperties(model, dto);
String applyNo = applyNoList.get(i);
JgScrapCancel jgScrapCancel = new JgScrapCancel();
BeanUtils.copyProperties(model, jgScrapCancel);
String applyNo = applyNoList.get(0);
LambdaQueryWrapper<OtherInfo> otherLambda = new QueryWrapper<OtherInfo>().lambda();
otherLambda.eq(OtherInfo::getRecord, deviceList.get(i).get("SEQUENCE_NBR"));
otherLambda.eq(OtherInfo::getRecord, deviceMap.get("SEQUENCE_NBR"));
OtherInfo otherInfo = otherInfoMapper.selectOne(otherLambda);
if (!ObjectUtils.isEmpty(otherInfo)) {
String supervisoryCode = otherInfo.getSupervisoryCode();
dto.setSupervisoryCode(supervisoryCode);
dto.setApplyNo(applyNo);
dto.setCreateDate(new Date());
dto.setNextExecuteIds(String.join(",", roleListNext));
dto.setInstanceStatus(String.join(",", roleListAll));
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setNextTaskId(Objects.isNull(workflowResultDtos) ? null : workflowResultDtos.get(i).getNextTaskId());
jgRelationEquip.setEquId(String.valueOf(deviceList.get(i).get("SEQUENCE_NBR")));
jgScrapCancel.setSupervisoryCode(supervisoryCode);
}
jgScrapCancel.setApplyNo(applyNo);
jgScrapCancel.setCreateDate(new Date());
jgScrapCancel.setNextExecuteIds(String.join(",", roleListNext));
jgScrapCancel.setInstanceStatus(String.join(",", roleListAll));
jgScrapCancel.setPromoter(reginParams.getUserModel().getUserId());
jgScrapCancel.setNextTaskId(Objects.isNull(workflowResultDtos) ? null : workflowResultDtos.get(0).getNextTaskId());
jgRelationEquip.setEquId((String) deviceMap.get("SEQUENCE_NBR"));
jgRelationEquip.setEquipTransferId(applyNo);
if (!StringUtils.isEmpty(instanceId)) {
dto.setInstanceId(instanceId);
dto.setNextTaskId(nextTaskId);
dto.setNextExecuteUserIds(nextUserIds);
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass()));
jgScrapCancel.setInstanceId(instanceId);
jgScrapCancel.setNextTaskId(nextTaskId);
jgScrapCancel.setNextExecuteUserIds(nextUserIds);
jgScrapCancel.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_RECEIVE.getPass()));
} else {
dto.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_SUBMIT.getPass()));
}
dto.setUseUnitCode(reginParams.getCompany().getCompanyCode());
dto.setUseUnitName(reginParams.getCompany().getCompanyName());
dto.setCreateUserId(RequestContext.getExeUserId());
list.add(dto);
equipList.add(jgRelationEquip);
jgScrapCancel.setAuditStatus(String.valueOf(WorkFlowStatusEnum.CANCEL_SUBMIT.getPass()));
}
this.saveBatch(list);
jgScrapCancel.setUseUnitCode(reginParams.getCompany().getCompanyCode());
jgScrapCancel.setUseUnitName(reginParams.getCompany().getCompanyName());
jgScrapCancel.setCreateUserId(RequestContext.getExeUserId());
this.save(jgScrapCancel);
// 新增代办
for (JgScrapCancel jgScrapCancel : list) {
this.createTaskModel(jgScrapCancel, taskName[0], submitType, nextUserIds);
}
List<JgScrapCancelEq> jgScrapCancelEqList = equipList.stream().map(t -> {
List<JgScrapCancel> collect = list.stream().filter(item -> t.getEquipTransferId().equals(item.getApplyNo())).collect(Collectors.toList());
Long sequenceNbr = collect.get(0).getSequenceNbr();
return t.setEquipTransferId(String.valueOf(sequenceNbr));
}).collect(Collectors.toList());
jgScrapCancelEqService.saveBatch(jgScrapCancelEqList);
jgRelationEquip.setEquipTransferId(String.valueOf(jgScrapCancel.getSequenceNbr()));
jgScrapCancelEqService.save(jgRelationEquip);
}
private void createTaskModel(JgScrapCancel scrapCancel, String taskName, String submitType, String nextUserIds) {
......@@ -328,8 +309,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
LambdaQueryWrapper<JgScrapCancel> lambda = new QueryWrapper<JgScrapCancel>().lambda();
lambda.eq(JgScrapCancel::getSequenceNbr, id);
JgScrapCancel jgScrapCancel = this.baseMapper.selectOne(lambda);
//删除代办消息
commonService.deleteTaskModel(jgScrapCancel.getInstanceId());
//更新jgScrapCancel数据
jgScrapCancel.setIsDelete(true);
this.updateById(jgScrapCancel);
......@@ -415,17 +394,20 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgScrapCancelEq.setEquId(jgScrapCancelDto.getRecord());
jgScrapCancelEqMapper.update(jgScrapCancelEq, updateWrapper);
} else {
if (!ObjectUtils.isEmpty(jgScrapCancelDto.getSEQUENCE_NBR()) && !"null".equals(jgScrapCancelDto.getSEQUENCE_NBR())) {
LambdaQueryWrapper<OtherInfo> otherLambda = new QueryWrapper<OtherInfo>().lambda();
otherLambda.eq(OtherInfo::getRecord, jgScrapCancelDto.getSEQUENCE_NBR());
OtherInfo otherInfo = otherInfoMapper.selectOne(otherLambda);
String supervisoryCode = otherInfo.getSupervisoryCode();
jgScrapCancelDto.setSupervisoryCode(supervisoryCode);
}
//更新操作
JgScrapCancel bean = new JgScrapCancel();
BeanUtils.copyProperties(jgScrapCancelDto, bean);
bean.setCancelCertificate(JSON.toJSONString(jgScrapCancelDto.getCancelCertificateList()));
this.updateById(bean);
LambdaUpdateWrapper<JgScrapCancelEq> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(JgScrapCancelEq::getEquipTransferId, bean.getSequenceNbr());
updateWrapper.eq(JgScrapCancelEq::getEquipTransferId, jgScrapCancelDto.getSequenceNbr());
JgScrapCancelEq jgScrapCancelEq = new JgScrapCancelEq();
jgScrapCancelEq.setEquId(jgScrapCancelDto.getRecord());
jgScrapCancelEqMapper.update(jgScrapCancelEq, updateWrapper);
......@@ -528,6 +510,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
LambdaQueryWrapper<JgScrapCancelEq> lambdaEq = new QueryWrapper<JgScrapCancelEq>().lambda();
lambdaEq.eq(JgScrapCancelEq::getEquipTransferId, sequenceNbr);
JgScrapCancelEq jgScrapCancelEq = jgScrapCancelEqMapper.selectOne(lambdaEq);
if (!ValidationUtil.isNull(jgScrapCancelEq.getEquId()) && !"null".equals(jgScrapCancelEq.getEquId())) {
// 设备信息
installationInfo.put("record", jgScrapCancelEq.getEquId());
......@@ -542,6 +525,10 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this.put(PAGE_KEY, detailFieldCamelCaseByRecord);
}};
}
return new HashMap<String, Object>() {{
this.put(PAGE_KEY, installationInfo);
}};
}
@Transactional
......
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