Commit cc7c4847 authored by 刘林's avatar 刘林

fix(jg):移装变更接口修改

parent a716f697
package com.yeejoin.amos.boot.module.jg.api.entity; package com.yeejoin.amos.boot.module.jg.api.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
...@@ -256,4 +255,10 @@ public class JgChangeRegistrationTransfer extends BaseEntity { ...@@ -256,4 +255,10 @@ public class JgChangeRegistrationTransfer extends BaseEntity {
*/ */
@TableField("receive_company_org_code") @TableField("receive_company_org_code")
private String receiveCompanyOrgCode; private String receiveCompanyOrgCode;
/**
* 移装类型(0区内,1区外)
*/
@TableField("transfer_type")
private String transferType;
} }
...@@ -40,5 +40,28 @@ public class JgChangeRegistrationTransferEq extends BaseEntity { ...@@ -40,5 +40,28 @@ public class JgChangeRegistrationTransferEq extends BaseEntity {
@TableField("is_invalid") @TableField("is_invalid")
private Boolean isInvalid =false; private Boolean isInvalid =false;
/**
* 设备种类
*/
@TableField("equ_list")
private String equList;
/**
* 设备类别
*/
@TableField("equ_category")
private String equCategory;
/**
* 设备品种
*/
@TableField("equ_define")
private String equDefine;
/**
* 设备信息json
*/
@TableField("device_info")
private String deviceInfo;
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.api.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransferEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransferEq;
/** /**
...@@ -10,7 +11,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransferEq ...@@ -10,7 +11,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransferEq
* @author system_generator * @author system_generator
* @date 2023-12-20 * @date 2023-12-20
*/ */
public interface IJgChangeRegistrationTransferEqService { public interface IJgChangeRegistrationTransferEqService extends IService<JgChangeRegistrationTransferEq> {
boolean saveOrUpdateTransferEqData(JgChangeRegistrationTransferEq transferEq); boolean saveOrUpdateTransferEqData(JgChangeRegistrationTransferEq transferEq);
......
...@@ -8,6 +8,12 @@ ...@@ -8,6 +8,12 @@
</update> </update>
<select id="getListPage" resultType="java.util.Map"> <select id="getListPage" resultType="java.util.Map">
WITH crteq_limited AS (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY equip_transfer_id ORDER BY some_column) as rn
FROM tzs_jg_change_registration_transfer_eq
)
select select
crt.sequence_nbr as sequenceNbr, crt.sequence_nbr as sequenceNbr,
crt.audit_status as auditStatus, crt.audit_status as auditStatus,
...@@ -23,23 +29,18 @@ ...@@ -23,23 +29,18 @@
crt.next_execute_user_ids as nextExecuteUserIds, crt.next_execute_user_ids as nextExecuteUserIds,
crt.create_user_id as createUserId, crt.create_user_id as createUserId,
crt.next_task_id as nextTaskId, crt.next_task_id as nextTaskId,
crt.full_address as fullAddress,
use.USE_UNIT_NAME as useUnitName, use.USE_UNIT_NAME as useUnitName,
jri.PRODUCT_NAME as productName, jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode, jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode,
crteq.equ_id as equipId,
oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as allAddress, concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as allAddress,
use."ADDRESS" as detailedAddress,
(SELECT name from tz_equipment_category WHERE code = jri.EQU_LIST) AS equList, (SELECT name from tz_equipment_category WHERE code = jri.EQU_LIST) AS equList,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory, (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
(SELECT name from tz_equipment_category where code = jri.EQU_DEFINE) as equDefine (SELECT name from tz_equipment_category where code = jri.EQU_DEFINE) as equDefine
from tzs_jg_change_registration_transfer crt from tzs_jg_change_registration_transfer crt
LEFT JOIN tzs_jg_change_registration_transfer_eq crteq on crt.sequence_nbr = crteq.equip_transfer_id LEFT JOIN crteq_limited crteq ON crt.sequence_nbr = crteq.equip_transfer_id AND crteq.rn = 1
LEFT JOIN idx_biz_jg_register_info jri on crteq.equ_id = jri.RECORD LEFT JOIN idx_biz_jg_register_info jri on crteq.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on crteq.equ_id = use.RECORD LEFT JOIN idx_biz_jg_use_info use on crteq.equ_id = use.RECORD
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = crteq.equ_id
<where> <where>
and crt.is_delete = 0 and crt.is_delete = 0
<if test="dto.equCategory != null and dto.equCategory != ''"> <if test="dto.equCategory != null and dto.equCategory != ''">
......
...@@ -2,32 +2,31 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl; ...@@ -2,32 +2,31 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil; 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.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.core.toolkit.Sequence;
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.entity.BaseEntity;
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.common.StringUtil; import com.yeejoin.amos.boot.module.jg.api.common.StringUtil;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransferEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferEqService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferEqService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
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.biz.service.ICmWorkflowService; import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService; import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService; import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
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;
...@@ -39,35 +38,28 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -39,35 +38,28 @@ 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.ProcessTaskDTO; 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 io.seata.spring.annotation.GlobalTransactional;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
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.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
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.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate; import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate;
/** /**
...@@ -83,8 +75,6 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -83,8 +75,6 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired @Autowired
RestHighLevelClient restHighLevelClient; RestHighLevelClient restHighLevelClient;
@Autowired @Autowired
WorkFlowFeignService workFlowFeginService;
@Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired @Autowired
ICommonService iCommonService; ICommonService iCommonService;
...@@ -97,7 +87,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -97,7 +87,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired @Autowired
private IJgChangeRegistrationTransferEqService jgChangeRegistrationTransferEqService; private IJgChangeRegistrationTransferEqService jgChangeRegistrationTransferEqService;
@Autowired @Autowired
private IJgRegistrationHistoryService jgRegistrationHistoryService; private JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
@Autowired @Autowired
private IIdxBizJgUseInfoService useInfoService; private IIdxBizJgUseInfoService useInfoService;
@Autowired @Autowired
...@@ -106,19 +96,14 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -106,19 +96,14 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService; private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired @Autowired
private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService; private IdxBizJgFactoryInfoServiceImpl idxBizJgFactoryInfoService;
//改造登记关系表mapper
@Autowired @Autowired
private JgChangeRegistrationReformEqMapper jgChangeRegistrationReformEqMapper; private JgChangeRegistrationReformEqMapper jgChangeRegistrationReformEqMapper;
//移装登记关系表
@Autowired @Autowired
private JgChangeRegistrationTransferEqMapper jgChangeRegistrationTransferEqMapper; private JgChangeRegistrationTransferEqMapper jgChangeRegistrationTransferEqMapper;
//使用登记关系表mapper
@Autowired @Autowired
private JgUseRegistrationEqMapper jgUseRegistrationEqMapper; private JgUseRegistrationEqMapper jgUseRegistrationEqMapper;
//单位变更登记关系表mapper
@Autowired @Autowired
private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper; private JgChangeRegistrationUnitEqMapper jgChangeRegistrationUnitEqMapper;
//更名变更登记关系表mapper
@Autowired @Autowired
private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper; private JgChangeRegistrationNameEqMapper jgChangeRegistrationNameEqMapper;
@Autowired @Autowired
...@@ -126,15 +111,23 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -126,15 +111,23 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired @Autowired
private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper; private IdxBizJgRegisterInfoMapper idxBizJgRegisterInfoMapper;
@Autowired @Autowired
IdxBizJgSupervisionInfoMapper idxBizJgSupervisionInfoMapper; private IdxBizJgSupervisionInfoMapper idxBizJgSupervisionInfoMapper;
@Autowired @Autowired
CommonServiceImpl commonServiceImpl; private CommonServiceImpl commonServiceImpl;
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired @Autowired
private JgRegistrationHistoryMapper jgRegistrationHistoryMapper; private JgRegistrationHistoryMapper jgRegistrationHistoryMapper;
@Autowired
private JgUseRegistrationManageServiceImpl registrationManageService;
@Autowired
private Sequence sequence;
@Autowired
private JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
private JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
@Autowired
private JgUseRegistrationManageServiceImpl useRegistrationManageService;
/** /**
* 新增移装变更登记 * 新增移装变更登记
...@@ -143,32 +136,70 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -143,32 +136,70 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param map * @param map
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public List<JgChangeRegistrationTransferDto> createTransfer(String submitType, JSONObject map, ReginParams reginParams) { public List<JgChangeRegistrationTransferDto> createTransfer(String submitType, JSONObject map, ReginParams reginParams) {
Map<String, Object> tableData = (Map<String, Object>) map.get(TABLE_PAGE_ID); Map<String, Object> tableData = (Map<String, Object>) map.get(TABLE_PAGE_ID);
if (ValidationUtil.isEmpty(tableData)) { if (ValidationUtil.isEmpty(tableData)) {
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
String equIds = (String) tableData.get("record"); List<Map<String, Object>> registrationList = (List<Map<String, Object>>) tableData.get("registrationList");
if (ValidationUtil.isEmpty(equIds)) { if (CollectionUtils.isEmpty(registrationList)) {
throw new BadRequest("参数校验失败."); throw new BadRequest("使用登记证不能为空!");
}
//根据使用登记证查询设备
List<Long> registrationIdList = registrationList.stream()
.map(objectMap -> objectMap.get("sequenceNbr"))
.filter(Objects::nonNull)
.map(Object::toString)
.filter(this::canConvertToLong)
.map(Long::parseLong)
.collect(Collectors.toList());
List<String> registrationNoList = registrationList.stream()
.map(objectMap -> objectMap.get("useRegistrationCode"))
.filter(Objects::nonNull)
.map(Object::toString)
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(registrationIdList)) {
throw new BadRequest("使用登记证不能为空");
} }
List<JSONObject> deviceList = registrationManageService.queryEquByCertificateSeqList(registrationIdList);
// 获取单位变更设备列表
if (CollectionUtils.isEmpty(deviceList)) {
throw new BadRequest("使用登记证下无设备");
}
String fullAddress = "";
String province = (String) tableData.get("transferProvince");
String city = (String) tableData.get("transferCity");
String county = (String) tableData.get("transferCounty");
String street = (String) tableData.get("transferStreet");
String address = (String) tableData.get("transferAddress");
//区内移装,需判断是否为同一地市,如果不是同一地市,返回异常
if ("0".equals(tableData.get("transferType"))) {
deviceList.forEach(device -> {
String deviceCity = Arrays.stream(((String) device.get("USE_PLACE")).split("/"))
.skip(1)
.findFirst()
.orElseThrow(() -> new BadRequest("没有查询到地市信息"));
if (!city.split("_")[1].equals(deviceCity)) {
throw new BadRequest("区内移装只能选择与设备地址中相同地市进行移装!");
}
});
}
CompanyBo company = reginParams.getCompany(); CompanyBo company = reginParams.getCompany();
String sequenceNbr = (String) map.get("sequenceNbr"); String sequenceNbr = (String) map.get("sequenceNbr");
String equId = (String) tableData.get("record");
String receiveOrgCode = (String) tableData.get("receiveOrgCode"); String receiveOrgCode = (String) tableData.get("receiveOrgCode");
String receiveOrgName = ""; String receiveOrgName = "";
String supervisoryCode = "";
//移装变更数据 //移装变更数据
JgChangeRegistrationTransfer oldTransfer = new JgChangeRegistrationTransfer(); JgChangeRegistrationTransfer oldTransfer = new JgChangeRegistrationTransfer();
//移装变更设备关联数据
JgChangeRegistrationTransferEq oldTransferEq = new JgChangeRegistrationTransferEq();
//移装变更历史记录表
JgRegistrationHistory oldHistory = new JgRegistrationHistory();
//设备使用信息
IdxBizJgUseInfo useInfo = new IdxBizJgUseInfo();
if (!ValidationUtil.isEmpty(receiveOrgCode)) { if (!ValidationUtil.isEmpty(receiveOrgCode)) {
String[] receiveOrgCodeList = receiveOrgCode.split("_"); String[] receiveOrgCodeList = receiveOrgCode.split("_");
...@@ -182,13 +213,12 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -182,13 +213,12 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
if (!ValidationUtil.isEmpty(sequenceNbr)) { if (!ValidationUtil.isEmpty(sequenceNbr)) {
//查询移装变更记录 //查询移装变更记录
oldTransfer = this.getById(sequenceNbr); oldTransfer = this.getById(sequenceNbr);
//查询关系表 // 删除以前设备关联关系
oldTransferEq = jgChangeRegistrationTransferEqService.getDetailByEquipTransferId(sequenceNbr); LambdaQueryWrapper<JgChangeRegistrationTransferEq> lambda = new QueryWrapper<JgChangeRegistrationTransferEq>().lambda();
//查询历史记录表 lambda.eq(JgChangeRegistrationTransferEq::getEquipTransferId, sequenceNbr);
if (!ValidationUtil.isEmpty(oldTransferEq)) { jgChangeRegistrationTransferEqService.getBaseMapper().delete(lambda);
oldHistory = jgRegistrationHistoryService.getDteailByRecord(oldTransferEq.getEquId(), oldTransfer.getApplyNo()); jgRegistrationHistoryService.getBaseMapper().delete(new LambdaQueryWrapper<JgRegistrationHistory>()
useInfo = idxBizJgUseInfoService.getOneData(oldTransferEq.getEquId()); .eq(JgRegistrationHistory::getCurrentDocumentId, oldTransfer.getApplyNo()));
}
} else { } else {
//查询申请单号 //查询申请单号
ResponseModel<List<String>> result = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(tableData.get("businessCode"))), 1); ResponseModel<List<String>> result = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(tableData.get("businessCode"))), 1);
...@@ -231,12 +261,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -231,12 +261,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
// 统计使用 // 统计使用
CompanyBo companyBo = commonServiceImpl.getOneCompany(oldTransfer.getReceiveCompanyCode()); CompanyBo companyBo = commonServiceImpl.getOneCompany(oldTransfer.getReceiveCompanyCode());
oldTransfer.setReceiveCompanyOrgCode(companyBo.getOrgCode()); oldTransfer.setReceiveCompanyOrgCode(companyBo.getOrgCode());
String fullAddress = ""; oldTransfer.setUseRegistrationCode(String.join(",", registrationNoList));
String province = (String) tableData.get("province");
String city = (String) tableData.get("city");
String county = (String) tableData.get("county");
String street = (String) tableData.get("street");
String address = (String) tableData.get("address");
// 分割省市区街道字段 // 分割省市区街道字段
if (!ObjectUtils.isEmpty(province)) { if (!ObjectUtils.isEmpty(province)) {
String[] provinceList = province.split("_"); String[] provinceList = province.split("_");
...@@ -267,73 +293,34 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -267,73 +293,34 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
} }
//设备移装详细地址 //设备移装详细地址
oldTransfer.setFullAddress(fullAddress); oldTransfer.setFullAddress(fullAddress);
oldTransfer.setTransferType((String) tableData.get("transferType"));
//es种查询设备信息 //保存【移装变更登记】基本信息
SearchRequest request = new SearchRequest(); if (!ValidationUtil.isEmpty(oldTransfer)) {
request.indices("idx_biz_view_jg_all"); this.saveOrUpdate(oldTransfer);
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true);
BoolQueryBuilder boolMust = QueryBuilders.boolQuery();
boolMust.must(QueryBuilders.matchPhraseQuery("SEQUENCE_NBR", equId));
builder.query(boolMust);
request.source(builder);
try {
//ES中的数据
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (org.elasticsearch.search.SearchHit hit : response.getHits().getHits()) {
System.out.println(hit);
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
//设备监管码
if (!ValidationUtil.isEmpty(dto2.get("SUPERVISORY_CODE"))) {
supervisoryCode = (String) dto2.get("SUPERVISORY_CODE");
oldTransfer.setSupervisoryCode(supervisoryCode);
} else {
supervisoryCode = idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(equId);
if (!ValidationUtil.isEmpty(supervisoryCode)) {
oldTransfer.setSupervisoryCode(supervisoryCode);
}
}
//使用登记编号
if (!ValidationUtil.isEmpty(dto2.get("USE_ORG_CODE"))) {
oldTransfer.setUseRegistrationCode((String) dto2.get("USE_ORG_CODE"));
} else {
//使用登记编号
oldTransfer.setUseRegistrationCode(idxBizJgRegisterInfoMapper.getUseOrgCodeByEquip(equId));
}
}
//保存【移装变更登记】基本信息
if (!ValidationUtil.isEmpty(oldTransfer)) {
this.saveOrUpdate(oldTransfer);
}
//保存设备关联表
oldTransferEq.setEquipTransferId(oldTransfer.getSequenceNbr().toString());
oldTransferEq.setEquId(equId);
jgChangeRegistrationTransferEqService.saveOrUpdateTransferEqData(oldTransferEq);
//新增历史记录表
//使用登记证编号
oldHistory.setUseRegistrationCode(oldTransfer.getUseRegistrationCode());
oldHistory.setRegistrationClass("移装登记");
//保存变更新数据
oldHistory.setChangeData(JSON.toJSONString(tableData));
//保存变更旧数据
oldHistory.setOldData(JSON.toJSONString(useInfo));
//设备监管码
oldHistory.setSupervisoryCode(supervisoryCode);
oldHistory.setEquId(equId);
oldHistory.setCurrentDocumentId(oldTransfer.getApplyNo());
oldHistory.setStatus("new");
jgRegistrationHistoryService.saveOrUpdateHistoryData(oldHistory);
} catch (IOException e) {
throw new RuntimeException(e);
} }
JgChangeRegistrationTransfer finalOldTransfer = oldTransfer;
List<JgChangeRegistrationTransferEq> oldTransferEqList = new ArrayList<>(Collections.emptyList());
deviceList.forEach(device -> {
JgChangeRegistrationTransferEq equip = new JgChangeRegistrationTransferEq();
equip.setEquipTransferId(sequenceNbr);
equip.setEquId((String) device.get("RECORD"));
equip.setEquList((String) device.get("EQU_LIST"));
equip.setEquCategory((String) device.get("EQU_CATEGORY"));
equip.setEquDefine((String) device.get("EQU_DEFINE"));
equip.setDeviceInfo(JSONObject.toJSONString(device));
oldTransferEqList.add(equip);
});
jgChangeRegistrationTransferEqService.saveBatch(oldTransferEqList);
JgRegistrationHistory oldHistory = new JgRegistrationHistory();
oldHistory.setUseRegistrationCode(finalOldTransfer.getUseRegistrationCode());
oldHistory.setRegistrationClass("移装变更登记");
oldHistory.setChangeData(JSONObject.toJSONString(tableData));
oldHistory.setCurrentDocumentId(finalOldTransfer.getApplyNo());
oldHistory.setStatus("new");
jgRegistrationHistoryService.saveOrUpdateHistoryData(oldHistory);
//发起流程 //发起流程
if ("1".equals(submitType)) { if ("1".equals(submitType)) {
String instanceId = ""; String instanceId = "";
...@@ -350,24 +337,24 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -350,24 +337,24 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
oldTransfer.setCreateUserName(reginParams.getUserModel().getRealName()); oldTransfer.setCreateUserName(reginParams.getUserModel().getRealName());
oldTransfer.setCreateUserCompanyName(reginParams.getCompany().getCompanyName()); oldTransfer.setCreateUserCompanyName(reginParams.getCompany().getCompanyName());
//启动流程 //启动流程
WorkflowResultDto workflowResult = this.startWorkFlork(oldTransfer.getReceiveCompanyCode()); WorkflowResultDto workflowResult = this.startWorkFlow(oldTransfer.getReceiveCompanyCode());
this.updateExecuteIds(instanceId, oldTransfer, "startWorkfow", workflowResult); this.updateExecuteIds(instanceId, oldTransfer, "startWorkflow", workflowResult);
//删除旧的代办 //删除旧的代办
commonService.deleteTasksByRelationId(oldTransfer.getSequenceNbr().toString()); commonService.deleteTasksByRelationId(oldTransfer.getSequenceNbr().toString());
//生成代办 //生成代办
this.createToDoTask(Arrays.asList(workflowResult), oldTransfer, submitType); this.createToDoTask(Collections.singletonList(workflowResult), oldTransfer, submitType);
} }
} else { } else {
List<TaskModelDto> modelDtos = new ArrayList<>(); List<TaskModelDto> modelDtoList = new ArrayList<>();
TaskModelDto dto = new TaskModelDto(); TaskModelDto dto = new TaskModelDto();
dto.setModel(oldTransfer); dto.setModel(oldTransfer);
dto.setTaskContent(this.getSummaryInfo(oldTransfer)); dto.setTaskContent(this.getSummaryInfo(oldTransfer));
dto.setTaskCode(oldTransfer.getApplyNo()); dto.setTaskCode(oldTransfer.getApplyNo());
dto.setTaskType(BusinessTypeEnum.JG_CHANGE_REGISTRATION.getCode()); dto.setTaskType(BusinessTypeEnum.JG_CHANGE_REGISTRATION.getCode());
dto.setRelationId(oldTransfer.getSequenceNbr() + ""); dto.setRelationId(oldTransfer.getSequenceNbr() + "");
modelDtos.add(dto); modelDtoList.add(dto);
commonService.buildTaskModel(modelDtos); commonService.buildTaskModel(modelDtoList);
} }
JgChangeRegistrationTransferDto resultDto = new JgChangeRegistrationTransferDto(); JgChangeRegistrationTransferDto resultDto = new JgChangeRegistrationTransferDto();
...@@ -387,10 +374,20 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -387,10 +374,20 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param map * @param map
* @return * @return
*/ */
@GlobalTransactional(rollbackFor = Exception.class)
public List<JgChangeRegistrationTransferDto> updateTransfer(String submitType, JSONObject map, ReginParams reginParams) { public List<JgChangeRegistrationTransferDto> updateTransfer(String submitType, JSONObject map, ReginParams reginParams) {
return this.createTransfer(submitType, map, reginParams); return this.createTransfer(submitType, map, reginParams);
} }
public boolean canConvertToLong(String str) {
try {
Long.parseLong(str);
return true;
} catch (NumberFormatException e) {
return false;
}
}
/** /**
* 执行流程 * 执行流程
* *
...@@ -399,7 +396,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -399,7 +396,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param operate * @param operate
* @param comment * @param comment
*/ */
@Transactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -449,7 +446,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -449,7 +446,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param instanceId * @param instanceId
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @GlobalTransactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String nextTaskId) { public void revocation(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -522,6 +519,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -522,6 +519,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param sequenceNbrs * @param sequenceNbrs
* @return * @return
*/ */
@GlobalTransactional(rollbackFor = Exception.class)
public boolean deleteBatchBySequenceNbrs(Long[] sequenceNbrs) { public boolean deleteBatchBySequenceNbrs(Long[] sequenceNbrs) {
if (Objects.isNull(sequenceNbrs) || sequenceNbrs.length == 0) { if (Objects.isNull(sequenceNbrs) || sequenceNbrs.length == 0) {
return false; return false;
...@@ -556,18 +554,19 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -556,18 +554,19 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
Map<String, Map<String, Object>> pageDataMap = new HashMap<>(); Map<String, Map<String, Object>> pageDataMap = new HashMap<>();
Map<String, Object> resultDataMap = new HashMap<>(); Map<String, Object> resultDataMap = new HashMap<>();
//移装变更详情 //移装变更详情
JgChangeRegistrationTransfer transferById = this.getById(sequenceNbr); JgChangeRegistrationTransfer transfer = this.getById(sequenceNbr);
//查询设备详情 //查询设备详情
String equipId = jgChangeRegistrationTransferEqMapper.getEquipIdByEquipTransferId(sequenceNbr); String equipId = jgChangeRegistrationTransferEqMapper.getEquipIdByEquipTransferId(sequenceNbr);
if (ValidationUtil.equals(FlowStatusEnum.TO_BE_FINISHED.getName(), transferById.getStatus())) { if (ValidationUtil.equals(FlowStatusEnum.TO_BE_FINISHED.getName(), transfer.getStatus())) {
// 执行完成时查询历史表 // 执行完成时查询历史表
JgRegistrationHistory historyData = jgRegistrationHistoryService.getDteailByRecord(equipId, transferById.getApplyNo()); JgRegistrationHistory historyData = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, transfer.getApplyNo()));
if (!ValidationUtil.isEmpty(historyData)) { if (!ValidationUtil.isEmpty(historyData)) {
Map<String,Object> newPosition = JSON.parseObject(historyData.getChangeData(),Map.class); Map<String,Object> newPosition = JSON.parseObject(historyData.getChangeData(),Map.class);
resultDataMap.putAll(newPosition); resultDataMap.putAll(newPosition);
if (!ValidationUtil.isEmpty(transferById)) { if (!ValidationUtil.isEmpty(transfer)) {
Map<String, Object> transferToMap = Bean.BeantoMap(transferById); Map<String, Object> transferToMap = Bean.BeantoMap(transfer);
resultDataMap.putAll(transferToMap); resultDataMap.putAll(transferToMap);
} }
} }
...@@ -575,11 +574,12 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -575,11 +574,12 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
// 非执行完成状态显示最新设备信息 // 非执行完成状态显示最新设备信息
Map<String, Object> equipDetailMap = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equipId); Map<String, Object> equipDetailMap = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equipId);
resultDataMap.putAll(equipDetailMap); resultDataMap.putAll(equipDetailMap);
if (!ValidationUtil.isEmpty(transferById)) { if (!ValidationUtil.isEmpty(transfer)) {
Map<String, Object> transferToMap = Bean.BeantoMap(transferById); Map<String, Object> transferToMap = Bean.BeantoMap(transfer);
resultDataMap.putAll(transferToMap); resultDataMap.putAll(transferToMap);
} }
JgRegistrationHistory historyData = jgRegistrationHistoryService.getDteailByRecord(equipId, transferById.getApplyNo()); JgRegistrationHistory historyData = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, transfer.getApplyNo()));
Map<String,Object> changeData = JSON.parseObject(historyData.getChangeData(),Map.class); Map<String,Object> changeData = JSON.parseObject(historyData.getChangeData(),Map.class);
// 省市区街道字段等业务字段 // 省市区街道字段等业务字段
resultDataMap.put("transferProvince", changeData.get("transferProvince")); resultDataMap.put("transferProvince", changeData.get("transferProvince"));
...@@ -596,7 +596,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -596,7 +596,8 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
resultDataMap.put("transferPhone", changeData.get("transferPhone")); resultDataMap.put("transferPhone", changeData.get("transferPhone"));
resultDataMap.put("transferUseInfo", changeData.get("transferUseInfo")); resultDataMap.put("transferUseInfo", changeData.get("transferUseInfo"));
resultDataMap.put("useInnerCode", equipDetailMap.get("equCode")); resultDataMap.put("useInnerCode", equipDetailMap.get("equCode"));
resultDataMap.put("receiveOrgCode", transferById.getReceiveCompanyCode() + "_" + transferById.getReceiveOrgName()); resultDataMap.put("receiveCompanyCode", transfer.getReceiveCompanyCode() + "_" + transfer.getReceiveOrgName());
resultDataMap.put("registrationList", changeData.get("registrationList"));
} }
String transferSafetyManager = Optional.ofNullable(resultDataMap.get("transferSafetyManager")).orElse("").toString(); String transferSafetyManager = Optional.ofNullable(resultDataMap.get("transferSafetyManager")).orElse("").toString();
if(StringUtil.isNotEmpty(transferSafetyManager)){ if(StringUtil.isNotEmpty(transferSafetyManager)){
...@@ -628,7 +629,6 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -628,7 +629,6 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
return listPage; return listPage;
} }
public void updateExecuteIds(String instanceId, JgChangeRegistrationTransfer jgChangeRegistrationTransfer, String operate, WorkflowResultDto workflowResult) { public void updateExecuteIds(String instanceId, JgChangeRegistrationTransfer jgChangeRegistrationTransfer, String operate, WorkflowResultDto workflowResult) {
Boolean updateTodoAndCreate = Boolean.TRUE; Boolean updateTodoAndCreate = Boolean.TRUE;
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
...@@ -639,7 +639,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -639,7 +639,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
} }
String role = Optional.ofNullable(workflowResult.getNextExecutorRoleIds()).orElse(""); String role = Optional.ofNullable(workflowResult.getNextExecutorRoleIds()).orElse("");
if (operate.equals("startWorkfow")) { if (operate.equals("startWorkflow")) {
role = Optional.ofNullable(workflowResult.getExecutorRoleIds()).orElse("") + "," + Optional.ofNullable(workflowResult.getNextExecutorRoleIds()).orElse(""); role = Optional.ofNullable(workflowResult.getExecutorRoleIds()).orElse("") + "," + Optional.ofNullable(workflowResult.getNextExecutorRoleIds()).orElse("");
operate = "0"; operate = "0";
instanceId = workflowResult.getInstanceId(); instanceId = workflowResult.getInstanceId();
...@@ -713,7 +713,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -713,7 +713,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//更新下一步可执行人 //更新下一步可执行人
jgChangeRegistrationTransfer.setNextExecuteUserIds(""); jgChangeRegistrationTransfer.setNextExecuteUserIds("");
//流程执行完成后,更新设备使用信息 //流程执行完成后,更新设备使用信息
this.updateByFlowEnd(jgChangeRegistrationTransfer.getSequenceNbr().toString(), jgChangeRegistrationTransfer.getSupervisoryCode()); JgRegistrationHistory historyData = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, jgChangeRegistrationTransfer.getApplyNo()));
this.updateByFlowEnd(jgChangeRegistrationTransfer.getSequenceNbr().toString(), jgChangeRegistrationTransfer.getSupervisoryCode(), historyData);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode()); map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName()); map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
...@@ -722,49 +724,129 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -722,49 +724,129 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
map.put("relationId", jgChangeRegistrationTransfer.getInstanceId()); map.put("relationId", jgChangeRegistrationTransfer.getInstanceId());
map.put("model", jgChangeRegistrationTransfer); map.put("model", jgChangeRegistrationTransfer);
commonService.updateTaskModel(map); commonService.updateTaskModel(map);
//新增使用登记证和设备变更记录
this.saveChangeRecord(jgChangeRegistrationTransfer);
} }
// redis流程实时数据更新 // redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationTransfer)); commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationTransfer));
this.getBaseMapper().updateById(jgChangeRegistrationTransfer); this.getBaseMapper().updateById(jgChangeRegistrationTransfer);
} }
public void saveChangeRecord(JgChangeRegistrationTransfer transfer) {
List<JgChangeRegistrationTransferEq> eqList = jgChangeRegistrationTransferEqService.lambdaQuery().eq(JgChangeRegistrationTransferEq::getEquipTransferId, transfer.getSequenceNbr()).list();
JgRegistrationHistory historyData = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, transfer.getApplyNo()));
List<JgCertificateChangeRecord> changeRecordList = new ArrayList<>();
List<JgCertificateChangeRecordEq> changeRecordEqList = new ArrayList<>();
JSONArray historyJson = JSON.parseArray(historyData.getChangeData());
for (Object object : historyJson) {
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
long nextId = sequence.nextId();
JSONObject jsonObject = JSON.parseObject(object.toString());
String registrationCode = jsonObject.getString("useRegistrationCode");
String certificateNo = jsonObject.getString("certificateNo");
String equCategoryCode = jsonObject.getString("equCategoryCode");
changeRecord.setApplyNo(transfer.getApplyNo());
changeRecord.setReceiveOrgName(transfer.getReceiveOrgName());
changeRecord.setAuditPassDate(transfer.getAuditPassDate());
changeRecord.setRegType("移装变更登记");
changeRecord.setRegDate(transfer.getCreateDate());
changeRecord.setChangeContent(this.buildRecordContent(transfer));
changeRecord.setUseRegistrationCode(registrationCode);
changeRecord.setReceiveCompanyCode(transfer.getReceiveCompanyCode());
changeRecord.setCertificateNo(certificateNo);
changeRecord.setUseUnitCreditCode(transfer.getUseUnitCreditCode());
changeRecord.setUseUnitName(transfer.getUseUnitName());
changeRecord.setEquCategory(equCategoryCode);
changeRecord.setCreateDate(new Date());
changeRecord.setSequenceNbr(nextId);
changeRecordList.add(changeRecord);
for (JgChangeRegistrationTransferEq transferEq : eqList) {
JSONObject deviceJson = JSON.parseObject(transferEq.getDeviceInfo());
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(String.valueOf(nextId));
changeRecordEq.setEquId(deviceJson.getString("SEQUENCE_NBR"));
changeRecordEqList.add(changeRecordEq);
}
}
if (!changeRecordList.isEmpty()) {
certificateChangeRecordService.saveBatch(changeRecordList);
}
if (!changeRecordEqList.isEmpty()) {
certificateChangeRecordEqService.saveBatch(changeRecordEqList);
}
}
private String buildRecordContent(JgChangeRegistrationTransfer obj) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
return obj.getCreateUserName() + "办理了【移装变更登记】,单号【"
+ obj.getApplyNo() + "】,移装后地址为"+ obj.getFullAddress() + ",申请日期" + simpleDateFormat.format(obj.getCreateDate());
}
/** /**
* 流程结束后需要更新的数据 * 流程结束后需要更新的数据
* *
* @param sequenceNbr 移装变更单Id * @param sequenceNbr 移装变更单Id
* @param supervisoryCode 监管码 * @param supervisoryCode 监管码
*/ */
public void updateByFlowEnd(String sequenceNbr, String supervisoryCode) { public void updateByFlowEnd(String sequenceNbr, String supervisoryCode, JgRegistrationHistory historyData) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
JgChangeRegistrationTransferEq transferEq = jgChangeRegistrationTransferEqService.getDetailByEquipTransferId(sequenceNbr); JgChangeRegistrationTransfer transfer = this.getBaseMapper().selectById(sequenceNbr);
if (!ValidationUtil.isEmpty(transferEq)) { LambdaQueryWrapper<JgChangeRegistrationTransferEq> lambda = new QueryWrapper<JgChangeRegistrationTransferEq>().lambda();
JgChangeRegistrationTransfer updateData = new JgChangeRegistrationTransfer(); lambda.eq(JgChangeRegistrationTransferEq::getEquipTransferId, sequenceNbr);
updateData.setSequenceNbr(Long.valueOf(transferEq.getEquipTransferId())); List<JgChangeRegistrationTransferEq> transferEqList = jgChangeRegistrationTransferEqService.getBaseMapper().selectList(lambda);
//audit_pass_date 终审通过时间 List<String> useRegistrationCodeList = new ArrayList<>(Collections.emptyList());
updateData.setAuditPassDate(new Date());
//reg_person_id 注册登记人员ID if (!CollectionUtils.isEmpty(transferEqList)) {
updateData.setRegPersonId(reginParams.getUserModel().getUserId()); AtomicReference<String> useRegistrationCode = new AtomicReference<>("");
//reg_person_name 注册登记人员 AtomicBoolean isUpdateRegistrationCode = new AtomicBoolean(false);
updateData.setRegPersonName(reginParams.getUserModel().getUserName()); transferEqList.forEach(device->{
//使用登记证编号 //如果是区内移装,判断是否为韩城,杨凌,需要变更证号,否则不变证号
// String useRegistrationCode = this.getCode(supervisoryCode); if ("1".equals(transfer.getTransferType())) {
String useRegistrationCode = commonServiceImpl.generateRegistrationCode(transferEq.getEquId(), supervisoryCode, updateData.getReceiveCompanyCode()); useRegistrationCode.set(commonServiceImpl.generateRegistrationCode(device.getEquId(), supervisoryCode, transfer.getReceiveCompanyCode()));
if (!ValidationUtil.isEmpty(useRegistrationCode)) { useRegistrationCodeList.add(String.valueOf(useRegistrationCode));
updateData.setUseRegistrationCode(useRegistrationCode); isUpdateRegistrationCode.set(true);
}
//替换历史数据表和设备使用表
this.replacementHistoryData(device.getEquId(), transfer.getApplyNo(), historyData);
//更新使用注册登记证编号及ES中的信息
this.updateRegisterInfoAndEsData(device.getEquId(), historyData, useRegistrationCode.get(), isUpdateRegistrationCode);
//修改各类告知列表,置为废弃
this.updateInvalidStatusByHistory(device.getEquId(), device.getEquipTransferId());
//修改证管理表数据
this.updateUseRegistrationManage(transfer, historyData, useRegistrationCode.get(), isUpdateRegistrationCode.get());
});
}
//更新历史数据表
if (!ValidationUtil.isEmpty(useRegistrationCodeList)) {
historyData.setStatus("history");
historyData.setUseRegistrationCode(String.join(",", useRegistrationCodeList));
jgRegistrationHistoryService.saveOrUpdateHistoryData(historyData);
}
transfer.setAuditPassDate(new Date());
transfer.setRegPersonId(reginParams.getUserModel().getUserId());
transfer.setRegPersonName(reginParams.getUserModel().getUserName());
transfer.setUseRegistrationCode(String.join(",", useRegistrationCodeList));
this.updateTransferByBaseInfo(transfer);
}
private void updateUseRegistrationManage(JgChangeRegistrationTransfer transfer, JgRegistrationHistory historyData, String useRegistrationCode, boolean isUpdateRegistrationCode) {
JSONArray historyJson = JSON.parseArray(historyData.getChangeData());
List<String> ids = historyJson.stream().map(v -> JSON.parseObject(v.toString()).getString("sequenceNbr")).collect(Collectors.toList());
List<JgUseRegistrationManage> list = useRegistrationManageService.lambdaQuery().in(BaseEntity::getSequenceNbr, ids).list();
for (JgUseRegistrationManage registrationManage : list) {
registrationManage.setReceiveOrgName(transfer.getReceiveOrgName());
registrationManage.setReceiveCompanyCode(transfer.getReceiveOrgCode());
registrationManage.setAuditPassDate(transfer.getAuditPassDate());
registrationManage.setEquUseAddress(transfer.getFullAddress());
if (isUpdateRegistrationCode){
registrationManage.setUseRegistrationCode(useRegistrationCode);
} }
//补充移装变更表
this.updateTransferByBaseInfo(updateData);
//查询移装记录
JgChangeRegistrationTransfer transfer = this.getBaseMapper().selectById(sequenceNbr);
//查询修改后的新数据
JgRegistrationHistory newData = jgRegistrationHistoryService.getDteailByRecord(transferEq.getEquId(), transfer.getApplyNo());
//替换历史数据表和设备使用表
this.replacementHistoryData(transferEq.getEquId(), transfer.getApplyNo(), newData, useRegistrationCode);
//更新使用注册登记证编号及ES中的信息
this.updataRegisterInfoAndEsData(transferEq.getEquId(), newData, useRegistrationCode);
//修改各类告知列表,置为废弃
this.updataInvalidStatusByHistory(transferEq.getEquId(), transferEq.getEquipTransferId());
} }
useRegistrationManageService.updateBatchById(list);
} }
/** /**
...@@ -773,26 +855,18 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -773,26 +855,18 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param record 设备Id * @param record 设备Id
* @param applyNo 申请记录编号 * @param applyNo 申请记录编号
* @param newData 设备移装的新数据 * @param newData 设备移装的新数据
* @param useRegistrationCode 使用登记编号
*/ */
public void replacementHistoryData(String record, String applyNo, JgRegistrationHistory newData, String useRegistrationCode) { public void replacementHistoryData(String record, String applyNo, JgRegistrationHistory newData) {
if (!ValidationUtil.isEmpty(record) && !ValidationUtil.isEmpty(applyNo)) { if (!ValidationUtil.isEmpty(record) && !ValidationUtil.isEmpty(applyNo)) {
//查询设备旧数据 //查询设备旧数据
IdxBizJgUseInfo useInfo = useInfoService.getOneData(record); IdxBizJgUseInfo useInfo = useInfoService.getOneData(record);
//更新历史数据表
newData.setStatus("history");
if (!ValidationUtil.isEmpty(useRegistrationCode)) {
newData.setUseRegistrationCode(useRegistrationCode);
}
jgRegistrationHistoryService.saveOrUpdateHistoryData(newData);
// 更新设备移装位置使用信息 // 更新设备移装位置使用信息
if (!ValidationUtil.isEmpty(newData)) { if (!ValidationUtil.isEmpty(newData)) {
JSONObject newPosition = JSON.parseObject(newData.getChangeData()); JSONObject newPosition = JSON.parseObject(newData.getChangeData());
//省 //省
String province = newPosition.getString("tansferProvince"); String province = newPosition.getString("transferProvince");
//市 //市
String city = newPosition.getString("transferCity"); String city = newPosition.getString("transferCity");
//区县 //区县
...@@ -897,7 +971,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -897,7 +971,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
* @param equId 设备id * @param equId 设备id
* @param equipTransferId 当前告知单Id * @param equipTransferId 当前告知单Id
*/ */
public void updataInvalidStatusByHistory(String equId, String equipTransferId) { public void updateInvalidStatusByHistory(String equId, String equipTransferId) {
//改造变更登记 //改造变更登记
jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId); jgChangeRegistrationReformEqMapper.updateEquipIsVaildByEquipIdAndCurrentDocumentId(equId, equipTransferId);
//移装变更登记 //移装变更登记
...@@ -913,13 +987,15 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -913,13 +987,15 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
/** /**
* 更新使用注册登记证编号及ES中的信息 * 更新使用注册登记证编号及ES中的信息
* *
* @param equId 设备id * @param equId 设备id
* @param useRegistrationCode 使用注册登记证编号 * @param useRegistrationCode 使用注册登记证编号
* @param isUpdateRegistrationCode 是否更新使用登记证编号
*/ */
public void updataRegisterInfoAndEsData(String equId, JgRegistrationHistory newData, String useRegistrationCode) { public void updateRegisterInfoAndEsData(String equId, JgRegistrationHistory newData, String useRegistrationCode, AtomicBoolean isUpdateRegistrationCode) {
//更新使用注册登记证编号 //更新使用注册登记证编号
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equId, useRegistrationCode); if (isUpdateRegistrationCode.get()){
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equId, useRegistrationCode);
}
//获取移装新位置,更新ES //获取移装新位置,更新ES
String newUsePlace = ""; String newUsePlace = "";
String newAddress = ""; String newAddress = "";
...@@ -971,7 +1047,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -971,7 +1047,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
map1.put("USE_PLACE", newUsePlace); map1.put("USE_PLACE", newUsePlace);
map1.put("ADDRESS", newAddress); map1.put("ADDRESS", newAddress);
map1.put("LONGITUDE_LATITUDE", newLongitudeLatitude); map1.put("LONGITUDE_LATITUDE", newLongitudeLatitude);
map1.put("USE_ORG_CODE", useRegistrationCode); if (isUpdateRegistrationCode.get()){
map1.put("USE_ORG_CODE", useRegistrationCode);
}
resultMap.put(equId, map1); resultMap.put(equId, map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap); tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
} }
...@@ -1146,7 +1224,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang ...@@ -1146,7 +1224,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
/** /**
* 启动工作流 * 启动工作流
*/ */
private WorkflowResultDto startWorkFlork(String receiveOrgCreditCode) { private WorkflowResultDto startWorkFlow(String receiveOrgCreditCode) {
ActWorkflowBatchDTO workflowBatchParams = new ActWorkflowBatchDTO(); ActWorkflowBatchDTO workflowBatchParams = new ActWorkflowBatchDTO();
List<ActWorkflowStartDTO> workflowList = new ArrayList<>(); List<ActWorkflowStartDTO> workflowList = new ArrayList<>();
ActWorkflowStartDTO workflow = new ActWorkflowStartDTO(); ActWorkflowStartDTO workflow = new ActWorkflowStartDTO();
......
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