Commit 05fd6a35 authored by tianyiming's avatar tianyiming

维修告知批量提交业务部分功能提交

parent 6eed5f31
......@@ -334,6 +334,9 @@ public class JgMaintainNotice extends BaseEntity {
private String equList;
@TableField(exist = false)
private String equCategoryDesc;
@TableField(exist = false)
private String supervisoryCode;
/**
* 维修类型名称
......
......@@ -6,7 +6,6 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 维修告知设备关系表
......@@ -34,4 +33,29 @@ public class JgMaintainNoticeEq extends BaseEntity {
@TableField("equ_id")
private String equId;
/**
* 设备代码
*/
@TableField("equ_code")
private String equCode;
/**
* 告知书编号
*/
@TableField(value = "inform_number")
private String informNumber;
/**
* 设备类别
*/
@TableField(value = "equ_list_code")
private String equListCode;
/**
* 设备类别名称
*/
@TableField(value = "equ_category_code")
private String equCategoryCode;
}
......@@ -67,20 +67,9 @@
isn.create_user_company_name AS createUserCompanyName,
isn.next_execute_user_ids AS nextExecuteUserIds,
isn.transfer_to_user_ids AS transferToUserIds,
isn.inform_number AS informNumber,
ri.EQU_CODE AS equCode,
(SELECT name from tz_equipment_category ec WHERE ec.code = ri.EQU_LIST) AS equListName,
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefineName,
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_CATEGORY) AS equCategoryName,
concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") as fullAddress,
ibjui."ADDRESS" as detailedAddress,
ibjoi.SUPERVISORY_CODE as supervisoryCode,
ibjoi.CODE96333 as code96333
(SELECT name from tz_equipment_category ec WHERE ec.code = isn.equ_list_code) AS equListName,
(select name from tz_equipment_category ec WHERE ec.code = isn.equ_category) AS equCategoryName
FROM tzs_jg_maintain_notice isn
left join tzs_jg_maintain_notice_eq isneq on isn.sequence_nbr = isneq.equip_transfer_id
LEFT JOIN idx_biz_jg_use_info ibjui on isneq.equ_id = ibjui.RECORD
LEFT JOIN idx_biz_jg_register_info ri ON isneq.equ_id = ri.record
LEFT JOIN idx_biz_jg_other_info ibjoi ON isneq.equ_id = ibjoi.RECORD
<where>
isn.is_delete = 0
<if test="param != null ">
......@@ -108,37 +97,17 @@
<if test="param.informNumber != null and param.informNumber != ''">
AND isn.inform_number like concat('%',#{param.informNumber},'%')
</if>
<if test="param.supervisoryCode != null and param.supervisoryCode != ''">
AND ibjoi.supervisory_code like concat('%',#{param.supervisoryCode},'%')
</if>
<if test="param.installUnitCreditCode != null and param.installUnitCreditCode != ''">
AND isn.install_unit_credit_code like concat('%',#{param.installUnitCreditCode},'%')
</if>
<if test="param.code96333 != null and param.code96333 != ''">
AND ibjoi.code96333 like concat('%',#{param.code96333},'%')
</if>
<if test="param.equCode != null and param.equCode != ''">
AND ri.EQU_CODE like concat('%',#{param.equCode},'%')
</if>
<if test="param.noticeDate != null">
AND isn.notice_date like concat('%',DATE_FORMAT(#{param.noticeDate},'%Y-%m-%d'),'%')
</if>
<if test="param.equListCode != null and param.equListCode != ''">
AND ri."EQU_LIST" = #{param.equListCode}
AND isn."equ_list_code" = #{param.equListCode}
</if>
<if test="param.equCategory != null and param.equCategory != ''">
AND ri."equ_category" = #{param.equCategory}
</if>
<if test="param.equDefine != null and param.equDefine != ''">
AND ri."EQU_DEFINE" = #{param.equDefine}
</if>
<if test="param.fullAddress != null and param.fullAddress != ''">
AND (
ibjui."PROVINCE_NAME" LIKE CONCAT('%', #{param.fullAddress}, '%')
OR ibjui."CITY_NAME" LIKE CONCAT('%', #{param.fullAddress}, '%')
OR ibjui."COUNTY_NAME" LIKE CONCAT('%', #{param.fullAddress}, '%')
OR ibjui."STREET_NAME" LIKE CONCAT('%', #{param.fullAddress}, '%')
)
AND isn."equ_category" = #{param.equCategory}
</if>
</if>
<if test="type != 'company'">
......
......@@ -80,7 +80,7 @@ public class JgMaintainByWorkFlowController {
LinkedHashMap maintainInfo = (LinkedHashMap) model1.get(TABLE_PAGE_ID);
String opinion = model.get("opinion").toString();
JgMaintainNoticeDto jgMaintainNoticeDto = JSON.parseObject(JSON.toJSONString(maintainInfo), JgMaintainNoticeDto.class);
jgMaintainNoticeServiceImpl.accept(jgMaintainNoticeDto, op,opinion);
jgMaintainNoticeServiceImpl.accept(jgMaintainNoticeDto, op, opinion, model1);
return ResponseHelper.buildResponse(null);
}
}
......@@ -5,6 +5,7 @@ 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.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -13,11 +14,12 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNoticeEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgMaintainNoticeMapper;
......@@ -39,6 +41,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.*;
import io.seata.spring.annotation.GlobalTransactional;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
......@@ -81,6 +84,9 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
EquipmentCategoryMapper equipmentCategoryMapper;
@Autowired
JgMaintainNoticeEqMapper jgMaintainNoticeEqMapper;
@Autowired
JgMaintainNoticeEqServiceImpl jgMaintainNoticeEqService;
@Autowired
private JgMaintainNoticeMapper jgMaintainNoticeMapper;
......@@ -93,6 +99,12 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
OtherInfoMapper tzsJgOtherInfoMapper;
@Autowired
ESEquipmentCategory esEquipmentCategory;
@Autowired
private Sequence sequence;
@Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
@Autowired
......@@ -123,6 +135,11 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
private JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqServiceImpl;
/**
* 根据sequenceNbr查询
*
......@@ -174,6 +191,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
// 新数据逻辑
hisData.putAll(maintainInfo);
CommonServiceImpl.formatTime2StrDateForEquip(hisData);
setNewEquipInfo(sequenceNbr, maintainInfo);
hisData.put("deviceList", maintainInfo.get("deviceList"));
return new HashMap<String, Map<String, Object>>() {{
this.put(TABLE_PAGE_ID, hisData);
}};
......@@ -209,9 +228,11 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
LambdaQueryWrapper<JgMaintainNoticeEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgMaintainNoticeEq::getEquipTransferId, notice.getSequenceNbr());
JgMaintainNoticeEq noticeEq = jgMaintainNoticeEqMapper.selectOne(queryWrapper);
List<JgMaintainNoticeEq> noticeEq = jgMaintainNoticeEqMapper.selectList(queryWrapper);
for (JgMaintainNoticeEq jgMaintainNoticeEq : noticeEq) {
EquipUsedCheckStrategyContext.getUsedStrategy(PROCESS_DEFINITION_KEY)
.delDataForCheckEquipRepeatUsed(Collections.singletonList(noticeEq.getEquId()), notice.getInstallUnitCreditCode());
.delDataForCheckEquipRepeatUsed(Collections.singletonList(jgMaintainNoticeEq.getEquId()), notice.getInstallUnitCreditCode());
}
}
}
......@@ -223,13 +244,32 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
}
private void setNewEquipInfo(Long sequenceNbr, Map<String, Object> maintainInfo) {
JgMaintainNoticeEq jgMaintainNoticeEq = jgMaintainNoticeEqMapper.selectOne(new LambdaQueryWrapper<JgMaintainNoticeEq>().eq(JgMaintainNoticeEq::getEquipTransferId, sequenceNbr));
Map<String, Object> map = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(jgMaintainNoticeEq.getEquId());
map.put("uuseUnitCreditCode", map.get("useUnitCreditCode"));
map.remove("useUnitCreditCode");
map.remove("address");
map.remove("sequenceNbr");
maintainInfo.putAll(map);
List<JgMaintainNoticeEq> jgMaintainNoticeEq = jgMaintainNoticeEqMapper.selectList(new LambdaQueryWrapper<JgMaintainNoticeEq>().eq(JgMaintainNoticeEq::getEquipTransferId, sequenceNbr));
List<String> ids = jgMaintainNoticeEq.stream().map(JgMaintainNoticeEq::getEquId).collect(Collectors.toList());
Iterable<ESEquipmentCategoryDto> esEquipmentCategoryDtos = esEquipmentCategory.findAllById(ids);
List<Map<String, Object>> deviceList = getEquipListMaps(esEquipmentCategoryDtos);
maintainInfo.put("deviceList", deviceList);
}
private List<Map<String, Object>> getEquipListMaps(Iterable<ESEquipmentCategoryDto> equips) {
List<Map<String, Object>> arrayList = new ArrayList<>();
equips.forEach(equip -> {
Map<String, Object> objectHashMap = new HashMap<>();
BeanUtil.beanToMap(equip, objectHashMap, false, false);
objectHashMap.put("record", equip.getSEQUENCE_NBR());
objectHashMap.put("ADDRESS", concatDetailAddress(equip));
arrayList.add(objectHashMap);
});
return arrayList;
}
private String concatDetailAddress(ESEquipmentCategoryDto esEquipmentCategoryDto) {
// 省、市、区
String usePlace = esEquipmentCategoryDto.getUSE_PLACE();
// 详细地址
String address = esEquipmentCategoryDto.getADDRESS();
return String.format("%s%s", usePlace, address);
}
/**
......@@ -467,58 +507,59 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
this.repeatUsedEquipCheck(deviceList, reginParams.getCompany().getCompanyCode());
}
// 获取告知单号
ResponseModel<List<String>> applyNoResult = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WXGZ.getCode(), deviceList.size());
ResponseModel<List<String>> applyNoResult = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.WXGZ.getCode(), 1);
if (CollectionUtils.isEmpty(applyNoResult.getResult())) {
log.error(" 获取告知单号失败");
throw new RuntimeException();
}
List<String> applyNoList = applyNoResult.getResult();
String applyNo = applyNoResult.getResult().get(0);
List<WorkflowResultDto> workflowResultDtoList = workFlowInfo(submitType, deviceList, model.getReceiveCompanyCode());
List<JgMaintainNotice> list = new ArrayList<>();
List<JgMaintainNoticeEq> equipList = new ArrayList<>();
CompanyBo companyBo = commonService.getOneCompany(model.getReceiveCompanyCode());
deviceList.forEach(obj -> {
JgMaintainNoticeEq jgRelationEquip = new JgMaintainNoticeEq();
// 维修告知表添加数据
JgMaintainNotice dto = new JgMaintainNotice();
BeanUtils.copyProperties(model, dto);
int i = deviceList.indexOf(obj);
String applyNo = applyNoList.get(i);
dto.setApplyNo(applyNo);
// 统计使用
dto.setReceiveCompanyOrgCode(companyBo.getOrgCode());
dto.setNoticeDate(new Date());
dto.setEquCategory(String.valueOf(obj.get("EQU_CATEGORY")));
dto.setEquListCode(String.valueOf(obj.get("EQU_LIST_CODE")));
dto.setEquListCode(model.getEquListCode());
dto.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
if (SUBMIT_TYPE_FLOW.equals(submitType)) {
dto.setNextExecuteIds(workflowResultDtoList.get(i).getNextExecutorRoleIds());
dto.setInstanceStatus(workflowResultDtoList.get(i).getNextExecutorRoleIds() + "," + workflowResultDtoList.get(i).getExecutorRoleIds());
dto.setNextExecuteIds(workflowResultDtoList.get(0).getNextExecutorRoleIds());
dto.setInstanceStatus(workflowResultDtoList.get(0).getNextExecutorRoleIds() + "," + workflowResultDtoList.get(0).getExecutorRoleIds());
dto.setPromoter(reginParams.getUserModel().getUserId());
dto.setNextExecuteUserIds(workflowResultDtoList.get(i).getNextExecutorUserIds());
dto.setNextTaskId(workflowResultDtoList.get(i).getNextTaskId());
dto.setInstanceId(workflowResultDtoList.get(i).getInstanceId());
dto.setNextExecuteUserIds(workflowResultDtoList.get(0).getNextExecutorUserIds());
dto.setNextTaskId(workflowResultDtoList.get(0).getNextTaskId());
dto.setInstanceId(workflowResultDtoList.get(0).getInstanceId());
dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_PROCESSED.getCode()));
} else {
dto.setNextExecuteUserIds(reginParams.getUserModel().getUserId());
dto.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_SUBMITTED.getCode()));
}
dto.setEquList(String.valueOf(obj.get("EQU_LIST")));
dto.setSupervisoryCode(String.valueOf(obj.get("SUPERVISORY_CODE")));
dto.setEquListCode(String.valueOf(deviceList.get(0).get("EQU_LIST_CODE")));
dto.setEquCategory(String.valueOf(deviceList.get(0).get("EQU_CATEGORY_CODE")));
dto.setInstallUnitName(reginParams.getCompany().getCompanyName());
dto.setInstallUnitCreditCode(reginParams.getCompany().getCompanyCode());
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgRelationEquip.setEquipTransferId(applyNo);
dto.setCreateUserName(reginParams.getUserModel().getRealName());
dto.setCreateUserId(reginParams.getUserModel().getUserId());
DataDictionary dictionary = iDataDictionaryService.getByCode(dto.getMaintainType(), "WXLX");
dto.setMaintainTypeDesc(dictionary.getName());
dto.setFullAddress(dto.getProvinceName() + dto.getCityName() + dto.getCountyName() + dto.getStreetName() + dto.getAddress());
dto.setEquCategoryDesc(String.valueOf(deviceList.get(0).get("EQU_CATEGORY")));
dto.setEquList(String.valueOf(deviceList.get(0).get("EQU_LIST")));
list.add(dto);
deviceList.forEach(obj -> {
JgMaintainNoticeEq jgRelationEquip = new JgMaintainNoticeEq();
jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
jgRelationEquip.setEquipTransferId(applyNo);
jgRelationEquip.setEquCode(ObjectUtils.isEmpty(obj.get("EQU_CODE"))?null:String.valueOf(obj.get("EQU_CODE")));
jgRelationEquip.setEquListCode(String.valueOf(obj.get("EQU_LIST_CODE")));
jgRelationEquip.setEquCategoryCode(String.valueOf(obj.get("EQU_CATEGORY_CODE")));
equipList.add(jgRelationEquip);
});
jgMaintainNoticeMapper.insertBatchSomeColumn(list);
......@@ -611,7 +652,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
taskMessageDto.setNextTaskId(item.getNextTaskId());
taskModelDto.setModel(taskMessageDto);
taskModelDto.setNextExecuteUser(item.getNextExecuteIds());
taskModelDto.setTaskContent(String.format("来自%s【%s】的业务办理,【申请单号:%s】", item.getEquList(), StringUtils.isEmpty(item.getSupervisoryCode()) ? "" : item.getSupervisoryCode(), item.getApplyNo()));
taskModelDto.setTaskContent(String.format("%s发起%s维修告知业务申请,【申请单号%s】", item.getCreateUserName(), item.getEquList(), item.getApplyNo()));
taskModelDtoList.add(taskModelDto);
if (bool) {
// 删除暂存时生成的待办
......@@ -627,15 +668,13 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
// 发起流程
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> list = new ArrayList<>();
deviceList.forEach(item -> {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(PROCESS_DEFINITION_KEY);
dto.setBusinessKey(item.get("SEQUENCE_NBR").toString());
//下一节点执行人单位(下节点接收机构code)
dto.setNextExecuteUserCompanyCode(receiveCompanyCode);
dto.setCompleteFirstTask(Boolean.TRUE);
list.add(dto);
});
actWorkflowBatchDTO.setProcess(list);
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
......@@ -759,6 +798,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
}
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void cancel(JgMaintainNoticeDto noticeDto) {
String instanceId = noticeDto.getInstanceId();
String nextTaskId = noticeDto.getNextTaskId();
......@@ -810,7 +850,8 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
}
@Transactional(rollbackFor = Exception.class)
public void accept(JgMaintainNoticeDto dto, String op, String opinion) {
@GlobalTransactional(rollbackFor = Exception.class)
public void accept(JgMaintainNoticeDto dto, String op, String opinion,Map<String, Object> model) {
String instanceId = dto.getInstanceId();
String nextTaskId = dto.getNextTaskId();
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
......@@ -843,17 +884,21 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
if (StringUtils.isEmpty(workflowResultDto.getNextExecutorRoleIds())) {
LambdaQueryWrapper<JgMaintainNoticeEq> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JgMaintainNoticeEq::getEquipTransferId, dto.getSequenceNbr());
JgMaintainNoticeEq jgRelationEquip = jgMaintainNoticeEqMapper.selectOne(queryWrapper);
this.saveHisDataBeforeUpdate(jgMaintainNotice, jgRelationEquip.getEquId());
List<JgMaintainNoticeEq> jgRelationEquip = jgMaintainNoticeEqMapper.selectList(queryWrapper);
for (JgMaintainNoticeEq jgMaintainNoticeEq : jgRelationEquip) {
this.saveHisDataBeforeUpdate(jgMaintainNotice, jgMaintainNoticeEq.getEquId());
LambdaQueryWrapper<RegistrationInfo> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(RegistrationInfo::getRecord, jgRelationEquip.getEquId());
queryWrapper2.eq(RegistrationInfo::getRecord, jgMaintainNoticeEq.getEquId());
RegistrationInfo tzsJgRegistrationInfo = tzsJgRegistrationInfoMapper.selectOne(queryWrapper2);
String equCode = Optional.ofNullable(tzsJgRegistrationInfo.getEquDefine())
.orElse(tzsJgRegistrationInfo.getEquCategory());
String registrationCode = equCode + jgMaintainNotice.getReceiveCompanyCode() + ym;
ResponseModel<String> responseModel = tzsServiceFeignClient.deviceRegistrationCode(registrationCode);
String deviceRegistrationCode = responseModel.getResult();
jgMaintainNotice.setInformNumber(deviceRegistrationCode);
jgMaintainNoticeEq.setInformNumber(responseModel.getResult());
}
jgMaintainNoticeEqService.saveOrUpdateBatch(jgRelationEquip);
jgMaintainNotice.setAcceptDate(new Date());
jgMaintainNotice.setNoticeStatus(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()));
jgMaintainNotice.setPromoter("");
......@@ -869,11 +914,17 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtils.copyProperties(jgMaintainNotice, taskMessageDto);
taskMap.put("model", taskMessageDto);
commonService.updateTaskModel(taskMap);
TaskV2Model taskV2Model1 = commonService.updateTaskModel(taskMap);
jgMaintainNotice.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
jgMaintainNotice.setNextTaskId(workflowResultDto.getNextTaskId());
jgMaintainNoticeMapper.updateById(jgMaintainNotice);
// 保存历史表
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(model));
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName(), jsonObject, "", jgMaintainNotice.getSequenceNbr().toString());
// 保存流水表
saveRecord(jgMaintainNotice, jgRelationEquip, taskV2Model1.getRoutePath());
} else {
jgMaintainNotice.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
if (!ObjectUtils.isEmpty(jgMaintainNotice.getInstanceStatus())) {
......@@ -950,9 +1001,49 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
}
private void saveRecord(JgMaintainNotice jgMaintainNotice, List<JgMaintainNoticeEq> jgMaintainNoticeEqList, String routePath) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String content = jgMaintainNotice.getCreateUserName() + "办理了【维修告知】" +
"单号【" + jgMaintainNotice.getApplyNo() + "】,办理日期" + DateUtils.getDateNowShortStr();
List<JgCertificateChangeRecord> certificateChangeRecords = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
long seq = sequence.nextId();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
changeRecord.setSequenceNbr(seq);
changeRecord.setApplyNo(jgMaintainNotice.getApplyNo());
changeRecord.setReceiveOrgName(jgMaintainNotice.getReceiveOrgName());
changeRecord.setAuditPassDate(new Date());
changeRecord.setRegType("维修告知");
changeRecord.setRegDate(jgMaintainNotice.getCreateDate());
changeRecord.setChangeContent(content);
changeRecord.setReceiveCompanyCode(jgMaintainNotice.getReceiveOrgCode());
changeRecord.setUseUnitCreditCode(jgMaintainNotice.getUseUnitCreditCode());
changeRecord.setUseUnitName(jgMaintainNotice.getUseUnitName());
changeRecord.setCreateDate(new Date());
changeRecord.setCreateUserId(reginParams.getUserModel().getUserId());
changeRecord.setRoutePath(routePath);
certificateChangeRecords.add(changeRecord);
jgMaintainNoticeEqList.stream().forEach(e -> {
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(changeRecord.getSequenceNbr().toString()); //登记证记录主键
changeRecordEq.setEquId(e.getEquId()); //设备主键
changeRecordEq.setProductCode(e.getEquCode()); //设备代码
changeRecordEqList.add(changeRecordEq);
});
if (certificateChangeRecords.size() > 0) {
certificateChangeRecordService.saveBatch(certificateChangeRecords);
}
if (changeRecordEqList.size() > 0) {
jgCertificateChangeRecordEqServiceImpl.saveBatch(changeRecordEqList);
}
}
private void saveHisDataBeforeUpdate(JgMaintainNotice jgMaintainNotice, String equId) {
Map<String, Object> map = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equId);
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName(), new JSONObject(map), equId, jgMaintainNotice.getSequenceNbr().toString());
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_MAINTENANCE_NOTIFICATION.getName(), new JSONObject(map), null, jgMaintainNotice.getSequenceNbr().toString());
}
......
......@@ -269,7 +269,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(noticeParams));
commonService.saveExecuteFlowData2Redis(instanceId, buildInstanceRuntimeData(jgScrapCancel));
String equListName = EquipmentClassifityEnum.getNameByCode(jsonObject.get("equListCode").toString());
save2HisData(jsonObject, jgScrapCancel.getSequenceNbr().toString());
save2HisData(jsonObject, jgScrapCancel.getSequenceNbr().toString(),jgScrapCancel.getCancelTypeDesc());
JgScrapCancelDto dto = new JgScrapCancelDto();
BeanUtil.copyProperties(jgScrapCancel, dto);
dto.setEquListName(equListName);
......@@ -419,8 +419,8 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
private void save2HisData(JSONObject jsonObject, String currentDocumentId) {
commonService.saveOrUpdateHistory("", jsonObject, null, currentDocumentId);
private void save2HisData(JSONObject jsonObject, String currentDocumentId,String cancelTypeDesc) {
commonService.saveOrUpdateHistory(cancelTypeDesc, jsonObject, null, currentDocumentId);
}
private void createTaskModel(JgScrapCancel scrapCancel, String taskName, String submitType, String nextUserIds) {
......
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