Commit 3e894cfd authored by 麻笑宇's avatar 麻笑宇

Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into…

Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into develop_tzs_register_to_0715
parents 5ea1d03e db95cc47
......@@ -26,6 +26,7 @@
ur.create_user_id as createUserId,
ur.rec_date as recDate,
ur.manage_type as manageType,
ur.reg_type as regType,
GROUP_CONCAT(DISTINCT other.CODE96333) AS code96333,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY)) as equCategory,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_DEFINE)) as equDefine,
......@@ -268,7 +269,8 @@
date_format(ur.audit_pass_date, '%Y-%m-%d') as auditPassDate,
ur.receive_org_name as receiveOrgName,
ur.next_execute_user_ids as nextExecuteUserIds,
ur.is_xixian as isXixian
ur.is_xixian as isXixian,
ur.reg_type as regType
from tzs_jg_use_registration ur
LEFT JOIN tzs_jg_use_registration_eq re on ur.sequence_nbr = re.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD
......
......@@ -69,7 +69,8 @@
tjvi.vehicle_attribute as vehicleAttribute,
tjvi.gas_num as gasNum,
tjvi.create_date as createDate,
tjvi.cancel_reason as cancelReason
tjvi.cancel_reason as cancelReason,
tjvi.reg_type as regType
from tzs_jg_vehicle_information tjvi
</sql>
......
package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipInfoCylinderExcelDto;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
......
......@@ -2137,6 +2137,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
Long changeRecordId= sequence.nextId();
List<EquipInfoCylinderExcelDto> equipInfoCylinderExcelDtoList =JSON.parseArray(JSON.toJSONString(attachmentUpload.get(EQU_LISTS)), EquipInfoCylinderExcelDto.class);
equipInfoCylinderExcelDtoList.forEach(data->{
if ("his".equals(equipInfoDto.getDataSource())&& "1".equals(data.getWhetherVehicleCylinder())) {
throw new BadRequest("车用气瓶历史设备不能批量导入!");
}
String record = UUID.randomUUID().toString();
List<Map<String, Object>> fileDataList = (List<Map<String, Object>>)(data.getFileData());
String productPhoto = getUrlByKey(fileDataList,"PRODUCT_PHOTO");
......@@ -2322,10 +2325,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
private JgUseRegistrationManage saveRegistrationManage(EquipmentInfoDto equipInfoDto, CompanyBo company) {
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setApplyNo(this.getApplicationNo());
jgUseRegistrationManage.setCertificateStatus("已登记");
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIDENGJI.getName());
jgUseRegistrationManage.setReceiveOrgName(equipInfoDto.getReceiveOrgName());
jgUseRegistrationManage.setAuditPassDate(new Date());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_HISTORY_USAGE_REGISTRATION.getName());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
jgUseRegistrationManage.setRegDate(new Date());
jgUseRegistrationManage.setEquList(equipInfoDto.getEquList());
jgUseRegistrationManage.setEquListCode(equipInfoDto.getEquListCode());
......@@ -2351,7 +2354,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
changeRecord.setApplyNo(registrationManage.getApplyNo());
changeRecord.setReceiveOrgName(registrationManage.getReceiveOrgName());
changeRecord.setAuditPassDate(new Date());
changeRecord.setRegType(BusinessTypeEnum.JG_HISTORY_USAGE_REGISTRATION.getName());
changeRecord.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
changeRecord.setRegDate(registrationManage.getCreateDate());
changeRecord.setChangeContent(this.buildRecordContent(registrationManage));//变更内容
changeRecord.setUseRegistrationCode(registrationManage.getUseRegistrationCode());//使用登记编号
......
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.jg.api.dto.UseFlagParamDto;
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.enums.CertificateStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
......@@ -123,7 +124,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(useRegistration.getUseUnitName());
jgUseRegistrationManage.setApplyNo(useRegistration.getApplyNo());
jgUseRegistrationManage.setCertificateStatus("已登记");
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIDENGJI.getName());
jgUseRegistrationManage.setReceiveOrgName(useRegistration.getReceiveOrgName());
jgUseRegistrationManage.setAuditPassDate(useRegistration.getAuditPassDate());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
......@@ -164,7 +165,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(vehicleInformation.getUseUnitName());
jgUseRegistrationManage.setApplyNo(vehicleInformation.getApplyNo());
jgUseRegistrationManage.setCertificateStatus("已登记");
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIDENGJI.getName());
jgUseRegistrationManage.setReceiveOrgName(vehicleInformation.getReceiveOrgName());
jgUseRegistrationManage.setAuditPassDate(vehicleInformation.getAuditPassDate());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName());
......
......@@ -997,7 +997,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(jgUseRegistration.getUseUnitName());
jgUseRegistrationManage.setApplyNo(jgUseRegistration.getApplyNo());
jgUseRegistrationManage.setCertificateStatus("已登记");
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIDENGJI.getName());
jgUseRegistrationManage.setReceiveOrgName(jgUseRegistration.getReceiveOrgName());
jgUseRegistrationManage.setAuditPassDate(jgUseRegistration.getAuditPassDate());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
......@@ -1234,6 +1234,20 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return commonServiceImpl.updateTaskModel(params);
}
/**
* 作废的证变更内容
* @param obj JgUseRegistration
* @return result
*/
private String buildVoidRecordContent(JgUseRegistration obj) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String companyType = reginParams.getCompany().getCompanyType();
//监管单位 作废了【使用功能登记】 ,单号【DWBG202407050001】,作废日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
return companyType + "作废了【" + BusinessTypeEnum.JG_USAGE_REGISTRATION.getName() + "】," +
"单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getRecDate());
}
private String buildRecordContent(JgUseRegistration obj, Boolean flag) {
//张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
......@@ -1937,7 +1951,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 使用单位
exportParamsMap.put("useUnitName", jsonObject.get("useUnitName"));
// 使用单位地址
exportParamsMap.put("fullAddress", jsonObject.get("fullAddress"));
exportParamsMap.put("fullAddress", ValidationUtil.isEmpty(jsonObject.get("fullAddress")) ? "" :jsonObject.get("fullAddress"));
// 工程(装置)名称 取第一个设备的技术参数”工程装置名称“
JSONObject eqJSON = (JSONObject) equipmentLists.get(0);
String eqId = !ValidationUtil.isEmpty(eqJSON) ? String.valueOf(eqJSON.get("record")) : "";
......@@ -2164,6 +2178,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
this.clearUseInfoOfEquip(jgUseRegistration);
// 2.清空redis(缓存的流程中及已完成使用登记的设备)
this.clearDataForCheckEquipRepeatUsed(jgUseRegistration);
// 3.作废对应的使用登记证
this.invalidUseRegistrationCertificate(jgUseRegistration);
break;
default:
// 流程中
......@@ -2208,6 +2224,47 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
}
/**
* 作废使用登记证 & 生成使用登记证的流水
* @param jgUseRegistration
*/
private void invalidUseRegistrationCertificate(JgUseRegistration jgUseRegistration){
Integer count = jgUseRegistrationMapper.selectCount(new LambdaQueryWrapper<JgUseRegistration>()
.eq(JgUseRegistration::getUseRegistrationCode, jgUseRegistration.getUseRegistrationCode()));
// 一证对应多条使用登记单时,不作废证
if (count > 1){
return;
}
JgUseRegistrationManage registrationManage = new JgUseRegistrationManage();
registrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
LambdaQueryWrapper<JgUseRegistrationManage> wrapper = new LambdaQueryWrapper<JgUseRegistrationManage>()
.eq(JgUseRegistrationManage::getUseRegistrationCode, jgUseRegistration.getUseRegistrationCode());
jgUseRegistrationManageMapper.update(registrationManage,wrapper);
// 生成使用登记证的作废流水
Optional<JgCertificateChangeRecord> firstRecord = certificateChangeRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<JgCertificateChangeRecord>()
.eq(JgCertificateChangeRecord::getUseRegistrationCode, jgUseRegistration.getUseRegistrationCode())
.orderByAsc(JgCertificateChangeRecord::getCreateDate))
.stream()
.findFirst();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
changeRecord.setApplyNo(jgUseRegistration.getApplyNo());
changeRecord.setReceiveOrgName(jgUseRegistration.getReceiveOrgName());
changeRecord.setAuditPassDate(new Date());
changeRecord.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
changeRecord.setRegDate(jgUseRegistration.getCreateDate());
changeRecord.setChangeContent(this.buildVoidRecordContent(jgUseRegistration));//变更内容
changeRecord.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode());//使用登记编号
changeRecord.setReceiveCompanyCode(jgUseRegistration.getReceiveCompanyOrgCode());//接收机构公司代码
changeRecord.setUseUnitCreditCode(jgUseRegistration.getUseUnitCreditCode());//使用单位统一信用代码
changeRecord.setUseUnitName(jgUseRegistration.getUseUnitName());//使用单位名称
firstRecord.ifPresent(record -> changeRecord.setEquCategory(record.getEquCategory()));//设备类别编码
changeRecord.setCreateDate(new Date());
firstRecord.ifPresent(record -> changeRecord.setRoutePath(record.getRoutePath()));
certificateChangeRecordService.save(changeRecord);
}
private void rollBackSupervisionInfo(String record) {
LambdaUpdateWrapper<IdxBizJgSupervisionInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgSupervisionInfo::getRecord, record);
......@@ -2493,6 +2550,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setAuditPassDate(new Date());
jgUseRegistration.setAuditStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgUseRegistration.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
jgUseRegistration.setRegType("1");//历史登记
this.save(jgUseRegistration);
jgRelationEquip.setEquipTransferId(jgUseRegistration.getSequenceNbr().toString());
jgRelationEquipMapper.insert(jgRelationEquip);
......
......@@ -20,10 +20,7 @@ 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.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.*;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationService;
......@@ -1290,6 +1287,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
case "已完成":
// 1.删除与设备的关系,设备可再次发起使用登记
this.clearUseInfoOfEquip(vehicleInformation);
// 3.作废对应的使用登记证
this.invalidUseRegistrationCertificate(vehicleInformation);
break;
default:
// 流程中
......@@ -1301,6 +1300,60 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
}
}
/**
* 作废使用登记证 & 生成使用登记证的流水
*/
private void invalidUseRegistrationCertificate(JgVehicleInformation jgVehicleInformation) {
Integer count = this.baseMapper.selectCount(new LambdaQueryWrapper<JgVehicleInformation>()
.eq(JgVehicleInformation::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode()));
// 一证对应多条使用登记单时,不作废证
if (count > 1) {
return;
}
JgUseRegistrationManage registrationManage = new JgUseRegistrationManage();
registrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
LambdaQueryWrapper<JgUseRegistrationManage> wrapper = new LambdaQueryWrapper<JgUseRegistrationManage>()
.eq(JgUseRegistrationManage::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode());
jgUseRegistrationManageService.update(registrationManage, wrapper);
// 生成使用登记证的作废流水
Optional<JgCertificateChangeRecord> firstRecord = certificateChangeRecordService.getBaseMapper().selectList(new LambdaQueryWrapper<JgCertificateChangeRecord>()
.eq(JgCertificateChangeRecord::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode())
.orderByAsc(JgCertificateChangeRecord::getCreateDate))
.stream()
.findFirst();
JgCertificateChangeRecord changeRecord = new JgCertificateChangeRecord();
changeRecord.setApplyNo(jgVehicleInformation.getApplyNo());
changeRecord.setReceiveOrgName(jgVehicleInformation.getReceiveOrgName());
changeRecord.setAuditPassDate(new Date());
changeRecord.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
changeRecord.setRegDate(jgVehicleInformation.getCreateDate());
changeRecord.setChangeContent(this.buildVoidRecordContent(jgVehicleInformation));// 变更内容
changeRecord.setUseRegistrationCode(jgVehicleInformation.getUseRegistrationCode());// 使用登记编号
changeRecord.setReceiveCompanyCode(jgVehicleInformation.getReceiveCompanyCode());// 接收机构公司代码
changeRecord.setUseUnitCreditCode(jgVehicleInformation.getUseUnitCreditCode());// 使用单位统一信用代码
changeRecord.setUseUnitName(jgVehicleInformation.getUseUnitName());// 使用单位名称
firstRecord.ifPresent(record -> changeRecord.setEquCategory(record.getEquCategory()));// 设备类别编码
changeRecord.setCreateDate(new Date());
firstRecord.ifPresent(record -> changeRecord.setRoutePath(record.getRoutePath()));
certificateChangeRecordService.save(changeRecord);
}
/**
* 作废的证变更内容
* @param obj JgVehicleInformation
* @return result
*/
private String buildVoidRecordContent(JgVehicleInformation obj) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String companyType = reginParams.getCompany().getCompanyType();
//监管单位 作废了【使用功能登记】 ,单号【DWBG202407050001】,作废日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
return companyType + "作废了【" + BusinessTypeEnum.JG_USAGE_REGISTRATION.getName() + "】," +
"单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getRecDate());
}
private void clearUseInfoOfEquip(JgVehicleInformation vehicleInformation) {
LambdaQueryWrapper<JgVehicleInformationEq> eqLambdaQueryWrapper = new LambdaQueryWrapper<JgVehicleInformationEq>().eq(JgVehicleInformationEq::getVehicleId, vehicleInformation.getSequenceNbr());
List<JgVehicleInformationEq> eqList = jgVehicleInformationEqMapper.selectList(eqLambdaQueryWrapper);
......@@ -1446,7 +1499,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(jgVehicleInformation.getUseUnitName());
jgUseRegistrationManage.setApplyNo(jgVehicleInformation.getApplyNo());
jgUseRegistrationManage.setCertificateStatus("已登记");
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIDENGJI.getName());
jgUseRegistrationManage.setReceiveOrgName(jgVehicleInformation.getReceiveOrgName());
jgUseRegistrationManage.setAuditPassDate(jgVehicleInformation.getAuditPassDate());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName());
......@@ -1701,6 +1754,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
String applyNo = listResponseModel.getResult().get(0);
vehicleInformation.setApplyNo(applyNo);
vehicleInformation.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
vehicleInformation.setRegType("1");//历史登记
this.save(vehicleInformation);
} else {
// 删除以前设备关联关系
......
......@@ -18,6 +18,8 @@ public interface SuperviseInfoMapper extends BaseMapper<SuperviseInfo> {
void updateRecordBatch(@Param("recordList") List<String> recordList);
void batchUpdateRecordOrgBranch(@Param("recordList") List<String> recordList);
List<Map<String,Object>> selectUnitCodeList(@Param("records") List<String> records);
List<String> selectSuperviseCodeList(@Param("records") List<String> records);
......
......@@ -9,6 +9,14 @@
</foreach>
</update>
<update id="batchUpdateRecordOrgBranch">
UPDATE idx_biz_jg_use_info SET "ORG_BRANCH_CODE" = "", "ORG_BRANCH_NAME" = ""
WHERE "RECORD" IN
<foreach collection="recordList" separator="," item="record" open="(" close=")">
#{record}
</foreach>
</update>
<update id="updateEsRecordBatch">
UPDATE idx_biz_jg_use_info SET "IS_NOT_ES" = 1 WHERE "RECORD" IN
<foreach collection="recordList" separator="," item="record" open="(" close=")">
......
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