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

fix(jg):使用登记,安装告知审核通过后维护登记证表和证的流水记录表

parent 2c09465d
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
......@@ -69,5 +70,9 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
List<CompanyEquipCountDto> queryForFlowingEquipList();
Map<String,String> getEquTypeByUseRegSeq(@Param("sequenceNbr")String sequenceNbr);
Map<String,String> getEquTypeByVehSeq(@Param("sequenceNbr")String sequenceNbr);
@Select("select name from tz_equipment_category where code=#{code}")
String getEquCategoryNameByCode(String code);
}
......@@ -2049,7 +2049,7 @@ public class CommonServiceImpl implements ICommonService {
} catch (ParseException e) {
log.error("日期转换失败:", e);
}
String equCode = Optional.ofNullable(equType.get("equDefine")).orElse(equType.get("equCategory"));
String equCode = Optional.ofNullable(equType.get("equCategoryCode")).orElse(equType.get("equDefineCode"));
String registrationCode = equCode + receiveCompanyCode + ym;
ResponseModel<String> responseModel = tzsServiceFeignClient.deviceRegistrationCode(registrationCode);
return responseModel.getResult();
......
......@@ -7,6 +7,7 @@ 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.conditions.update.LambdaUpdateWrapper;
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;
......@@ -17,9 +18,7 @@ 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.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNoticeEq;
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.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgInstallationNoticeEqMapper;
......@@ -76,6 +75,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
......@@ -137,6 +137,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
private Sequence sequence;
@Autowired
CodeUtil codeUtil;
@Autowired
CommonServiceImpl commonServiceImpl;
......@@ -166,6 +168,11 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
private JgRegistrationHistoryMapper jgRegistrationHistoryMapper;
@Autowired
JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
/**
* 根据sequenceNbr查询
......@@ -1046,6 +1053,31 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
taskMap.put("model", taskMessageDto);
TaskV2Model taskV2Model1 = commonService.updateTaskModel(taskMap);
// 生成一条tzs_jg_certificate_change_record记录
JgCertificateChangeRecord jgCertificateChangeRecord = new JgCertificateChangeRecord();
jgCertificateChangeRecord.setApplyNo(jgInstallationNotice.getApplyNo());
jgCertificateChangeRecord.setReceiveOrgName(jgInstallationNotice.getReceiveOrgName());
jgCertificateChangeRecord.setAuditPassDate(new Date());
jgCertificateChangeRecord.setRegType(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName());
jgCertificateChangeRecord.setRegDate(jgInstallationNotice.getInstallStartDate());
jgCertificateChangeRecord.setChangeContent(this.buildRecordContent(jgInstallationNotice));//变更内容
jgCertificateChangeRecord.setUseRegistrationCode(registrationCode);//使用登记编号
jgCertificateChangeRecord.setReceiveCompanyCode(jgInstallationNotice.getReceiveCompanyOrgCode());//接收机构公司代码
jgCertificateChangeRecord.setCertificateNo("");//登记证书唯一码
jgCertificateChangeRecord.setUseUnitCreditCode(jgInstallationNotice.getUseUnitCreditCode());//使用单位统一信用代码
jgCertificateChangeRecord.setUseUnitName(jgInstallationNotice.getUseUnitName());//使用单位名称
jgCertificateChangeRecord.setEquCategory(idxBizJgRegisterInfo.getEquCategory());//设备类别编码
jgCertificateChangeRecord.setCreateDate(new Date());
jgCertificateChangeRecord.setSequenceNbr(sequence.nextId());
certificateChangeRecordService.save(jgCertificateChangeRecord);
// 生成tzs_jg_certificate_change_record_eq记录
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(jgCertificateChangeRecord.getSequenceNbr().toString());//登记证记录主键
changeRecordEq.setRecDate(new Date());
changeRecordEq.setEquId(idxBizJgRegisterInfo.getRecord());//设备主键
certificateChangeRecordEqService.save(changeRecordEq);
jgResumeInfoService.createWithModel(JgResumeInfoDto.builder()
.applyNo(jgInstallationNotice.getApplyNo())
.businessType(BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName())
......@@ -1168,6 +1200,12 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
}
private String buildRecordContent(JgInstallationNotice obj) {
//张三办理了【单位变更】 ,单号【DWBG202407050001】,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
return obj.getCreateUserName() + "办理了【"+BusinessTypeEnum.JG_INSTALLATION_NOTIFICATION.getName()+"】,单号【"
+ obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getCreateDate());
}
/**
* 系统类型的code 自动生成设备代码
......
......@@ -19,9 +19,7 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.*;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationEqMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
......@@ -169,6 +167,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private ESEquipmentCategory esEquipmentCategory;
@Autowired
private JgResumeInfoServiceImpl jgResumeInfoService;
@Autowired
private JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
private JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
@Autowired
private JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
/**
* @param auditPassDate 通过时间
......@@ -862,6 +866,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 查询历史暂存表
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getOne(Wrappers.<JgRegistrationHistory>lambdaQuery()
.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr)));
// 登记证记录主键
Long changeRecordId= sequence.nextId();
JSONObject mapData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) mapData.get("equipmentLists");
......@@ -870,14 +876,104 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
Map<String, Object> equipment = equipmentLists.get(i);
mapData.put("equipId", equipment.get("record"));
mapData.put("isFirstEquip", i == 0);
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory);
// 注册信息
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory,registerInfo);
// 生成tzs_jg_certificate_change_record_eq记录
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(String.valueOf(changeRecordId));//登记证记录主键
changeRecordEq.setRecDate(new Date());
changeRecordEq.setEquId(registerInfo.getRecord());//设备主键
certificateChangeRecordEqService.save(changeRecordEq);
}
}
// 取第一条设备的注册消息--用来获取这一批设备的设备种类/类别/品种
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
// 生成证书管理表记录
generateRegistrationManage(jgUseRegistration,registerInfo);
// 生成一条tzs_jg_certificate_change_record记录
generateCertificateChangeRecord(jgUseRegistration,registerInfo,changeRecordId);
}
this.getBaseMapper().updateById(jgUseRegistration);
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
}
private void generateCertificateChangeRecord(JgUseRegistration jgUseRegistration,IdxBizJgRegisterInfo registerInfo,Long changeRecordId) {
Map<String, String> equType = new HashMap<>();
equType.put("equList",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList()));
equType.put("equListCode",registerInfo.getEquList());
equType.put("equCategory",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquCategory()));
equType.put("equCategoryCode",registerInfo.getEquCategory());
equType.put("equDefine",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquDefine()));
equType.put("equDefineCode",registerInfo.getEquDefine());
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.buildRecordContent(jgUseRegistration));//变更内容
changeRecord.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode());//使用登记编号
changeRecord.setReceiveCompanyCode(jgUseRegistration.getReceiveCompanyOrgCode());//接收机构公司代码
changeRecord.setCertificateNo(commonServiceImpl.generateCertificateNo(equType,new Date(),jgUseRegistration.getReceiveCompanyCode()));//登记证书唯一码
changeRecord.setUseUnitCreditCode(jgUseRegistration.getUseUnitCreditCode());//使用单位统一信用代码
changeRecord.setUseUnitName(jgUseRegistration.getUseUnitName());//使用单位名称
changeRecord.setEquCategory(registerInfo.getEquCategory());//设备类别编码
changeRecord.setCreateDate(new Date());
changeRecord.setSequenceNbr(changeRecordId);
certificateChangeRecordService.save(changeRecord);
}
private void generateRegistrationManage(JgUseRegistration jgUseRegistration,IdxBizJgRegisterInfo registerInfo) {
// 使用单位信息
Map<String, Object> enterpriseInfo = commonServiceImpl.getEnterpriseInfo(jgUseRegistration.getUseUnitCreditCode());
//
Map<String, String> equType = new HashMap<>();
equType.put("equList",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList()));
equType.put("equListCode",registerInfo.getEquList());
equType.put("equCategory",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquCategory()));
equType.put("equCategoryCode",registerInfo.getEquCategory());
equType.put("equDefine",this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquDefine()));
equType.put("equDefineCode",registerInfo.getEquDefine());
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(jgUseRegistration.getUseUnitName());
jgUseRegistrationManage.setApplyNo(jgUseRegistration.getApplyNo());
jgUseRegistrationManage.setCertificateStatus("已登记");
jgUseRegistrationManage.setReceiveOrgName(jgUseRegistration.getReceiveOrgName());
jgUseRegistrationManage.setAuditPassDate(jgUseRegistration.getAuditPassDate());
jgUseRegistrationManage.setRegType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName());
jgUseRegistrationManage.setRegDate(jgUseRegistration.getRegDate());
jgUseRegistrationManage.setEquList(equType.get("equList"));
jgUseRegistrationManage.setEquListCode(equType.get("equListCode"));
jgUseRegistrationManage.setEquCategory(equType.get("equCategory"));
jgUseRegistrationManage.setEquCategoryCode(equType.get("equCategoryCode"));
jgUseRegistrationManage.setEquDefine(equType.get("equDefine"));
jgUseRegistrationManage.setEquDefineCode(equType.get("equDefineCode"));
jgUseRegistrationManage.setIsDelete(Boolean.FALSE);
jgUseRegistrationManage.setRecUserId(jgUseRegistration.getRecUserId());
jgUseRegistrationManage.setRecUserName(jgUseRegistration.getRecUserName());
jgUseRegistrationManage.setRecDate(jgUseRegistration.getRecDate());
jgUseRegistrationManage.setCreateUserId(jgUseRegistration.getCreateUserId());
jgUseRegistrationManage.setCreateDate(jgUseRegistration.getRecDate());
jgUseRegistrationManage.setEquUseAddress(jgUseRegistration.getUseAddress());
jgUseRegistrationManage.setUseUnitAddress(!ValidationUtil.isEmpty(enterpriseInfo) ? (String) enterpriseInfo.get("address") : "");
jgUseRegistrationManage.setUseRegistrationCode(jgUseRegistration.getUseRegistrationCode());
jgUseRegistrationManage.setUseUnitCreditCode(jgUseRegistration.getUseUnitCreditCode());
jgUseRegistrationManage.setReceiveCompanyCode(jgUseRegistration.getReceiveCompanyCode());
jgUseRegistrationManage.setCertificateNo(commonServiceImpl.generateCertificateNo(equType,new Date(),jgUseRegistration.getReceiveCompanyCode()));
jgUseRegistrationManageService.save(jgUseRegistrationManage);
}
public JgUseRegistration updateData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, String carNumber, Boolean isFirst) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = workflowResultDto.getNextExecutorRoleIds();
......@@ -963,23 +1059,43 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect);
JSONObject mapData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory);
// 登记证记录主键
Long changeRecordId= sequence.nextId();
// 注册信息
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory,registerInfo);
// 生成证书管理表记录
generateRegistrationManage(jgUseRegistration,registerInfo);
// 生成一条tzs_jg_certificate_change_record记录
generateCertificateChangeRecord(jgUseRegistration,registerInfo,changeRecordId);
// 生成tzs_jg_certificate_change_record_eq记录
JgCertificateChangeRecordEq changeRecordEq = new JgCertificateChangeRecordEq();
changeRecordEq.setChangeRecordId(String.valueOf(changeRecordId));//登记证记录主键
changeRecordEq.setRecDate(new Date());
changeRecordEq.setEquId(registerInfo.getRecord());//设备主键
certificateChangeRecordEqService.save(changeRecordEq);
}
this.getBaseMapper().updateById(jgUseRegistration);
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
return jgUseRegistration;
}
private void processMapData(Long sequenceNbr, JSONObject mapData, JgUseRegistration jgUseRegistration, JgRegistrationHistory jgRegistrationHistory) {
private void processMapData(Long sequenceNbr, JSONObject mapData, JgUseRegistration jgUseRegistration,
JgRegistrationHistory jgRegistrationHistory,IdxBizJgRegisterInfo registerInfo) {
// 其他信息
LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgOtherInfo otherInfo = otherInfoMapper.selectOne(lambdaOth);
jgUseRegistration.setSupervisoryCode(otherInfo.getSupervisoryCode());
// 注册信息
LambdaQueryWrapper<IdxBizJgRegisterInfo> lambdaReg = new QueryWrapper<IdxBizJgRegisterInfo>().lambda();
lambdaReg.eq(IdxBizJgRegisterInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(lambdaReg);
// 更新设备信息
updateEquipMessage(String.valueOf(sequenceNbr), jgUseRegistration, mapData, registerInfo, otherInfo);
// 生成使用登记证编号
......@@ -1049,6 +1165,13 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
.build());
}
private String buildRecordContent(JgUseRegistration obj) {
//张三办理了【单位变更】 ,单号【DWBG202407050001】,原恒星电梯单位变更为新恒星电梯有限公司,办理日期2024-07-05
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
return obj.getRecUserName() + "办理了【"+BusinessTypeEnum.JG_USAGE_REGISTRATION.getName()+"】," +
"单号【" + obj.getApplyNo() + "】,申请日期" + simpleDateFormat.format(obj.getCreateDate());
}
/**
* 系统类型的code 自动生成设备代码
*
......
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