dev-tmp1
luotaiqian 2026-08-18 14:49:42 +08:00
parent f20cac68a8
commit 0d9ac4b72d
1 changed files with 64 additions and 31 deletions

View File

@ -1,5 +1,6 @@
package org.qinan.safetyeval.app.executor; package org.qinan.safetyeval.app.executor;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -12,6 +13,7 @@ import org.qinan.safetyeval.client.dto.*;
import org.qinan.safetyeval.domain.change.gateway.*; import org.qinan.safetyeval.domain.change.gateway.*;
import org.qinan.safetyeval.domain.change.model.*; import org.qinan.safetyeval.domain.change.model.*;
import org.qinan.safetyeval.domain.constant.*; import org.qinan.safetyeval.domain.constant.*;
import org.qinan.safetyeval.domain.constant.basic.IndustryEnum;
import org.qinan.safetyeval.domain.entity.*; import org.qinan.safetyeval.domain.entity.*;
import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.BizException;
import org.qinan.safetyeval.domain.exception.ErrorCode; import org.qinan.safetyeval.domain.exception.ErrorCode;
@ -689,170 +691,163 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
private List<QualFilingChangeDetailDO> diffBasicInfo(Long changeId, QualFilingDO exist, QualFilingChangeEntity newEntity) { private List<QualFilingChangeDetailDO> diffBasicInfo(Long changeId, QualFilingDO exist, QualFilingChangeEntity newEntity) {
List<QualFilingChangeDetailDO> details = new ArrayList<>(); List<QualFilingChangeDetailDO> details = new ArrayList<>();
// 备案属地编码 // 备案属地编码
if (!Objects.equals(exist.getFilingTerritoryCode(), newEntity.getFilingTerritoryCode())) { if (!valueEquals(exist.getFilingTerritoryCode(), newEntity.getFilingTerritoryCode())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案属地编码", "备案属地编码",
Objects.toString(exist.getFilingTerritoryCode(), ""), Objects.toString(exist.getFilingTerritoryCode(), ""),
Objects.toString(newEntity.getFilingTerritoryCode(), ""))); Objects.toString(newEntity.getFilingTerritoryCode(), "")));
} }
// 备案属地名称 // 备案属地名称
if (!Objects.equals(exist.getFilingTerritoryName(), newEntity.getFilingTerritoryName())) { if (!valueEquals(exist.getFilingTerritoryName(), newEntity.getFilingTerritoryName())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案属地名称", "备案属地名称",
Objects.toString(exist.getFilingTerritoryName(), ""), Objects.toString(exist.getFilingTerritoryName(), ""),
Objects.toString(newEntity.getFilingTerritoryName(), ""))); Objects.toString(newEntity.getFilingTerritoryName(), "")));
} }
// 备案单位 // 备案单位
if (!Objects.equals(exist.getFilingUnitName(), newEntity.getFilingUnitName())) { if (!valueEquals(exist.getFilingUnitName(), newEntity.getFilingUnitName())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案单位", "备案单位",
Objects.toString(exist.getFilingUnitName(), ""), Objects.toString(exist.getFilingUnitName(), ""),
Objects.toString(newEntity.getFilingUnitName(), ""))); Objects.toString(newEntity.getFilingUnitName(), "")));
} }
// 备案单位类型编码 // 备案单位类型编码
if (!Objects.equals(exist.getFilingUnitTypeCode(), newEntity.getFilingUnitTypeCode())) { if (!valueEquals(exist.getFilingUnitTypeCode(), newEntity.getFilingUnitTypeCode())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案单位类型编码", "备案单位类型编码",
Objects.toString(exist.getFilingUnitTypeCode(), ""), Objects.toString(exist.getFilingUnitTypeCode(), ""),
Objects.toString(newEntity.getFilingUnitTypeCode(), ""))); Objects.toString(newEntity.getFilingUnitTypeCode(), "")));
} }
// 备案单位类型名称 // 备案单位类型名称
if (!Objects.equals(exist.getFilingUnitTypeName(), newEntity.getFilingUnitTypeName())) { if (!valueEquals(exist.getFilingUnitTypeName(), newEntity.getFilingUnitTypeName())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案单位类型名称", "备案单位类型名称",
Objects.toString(exist.getFilingUnitTypeName(), ""), Objects.toString(exist.getFilingUnitTypeName(), ""),
Objects.toString(newEntity.getFilingUnitTypeName(), ""))); Objects.toString(newEntity.getFilingUnitTypeName(), "")));
} }
// 备案编号 // 备案编号
if (!Objects.equals(exist.getFilingNo(), newEntity.getFilingNo())) { if (!valueEquals(exist.getFilingNo(), newEntity.getFilingNo())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案编号", "备案编号",
Objects.toString(exist.getFilingNo(), ""), Objects.toString(exist.getFilingNo(), ""),
Objects.toString(newEntity.getFilingNo(), ""))); Objects.toString(newEntity.getFilingNo(), "")));
} }
// 备案安全评价业务范围 // 备案安全评价业务范围
String existBusinessScope = exist.getBusinessScope(); diffBusinessScope(changeId, exist.getBusinessScope(), newEntity.getBusinessScope(), details);
String newBusinessScope = newEntity.getBusinessScope() != null ? String.join(",", newEntity.getBusinessScope()) : "";
if (!Objects.equals(existBusinessScope, newBusinessScope)) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案安全评价业务范围",
Objects.toString(existBusinessScope, ""),
newBusinessScope));
}
// 注册地址 // 注册地址
if (!Objects.equals(exist.getRegisterAddress(), newEntity.getRegisterAddress())) { if (!valueEquals(exist.getRegisterAddress(), newEntity.getRegisterAddress())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"注册地址", "注册地址",
Objects.toString(exist.getRegisterAddress(), ""), Objects.toString(exist.getRegisterAddress(), ""),
Objects.toString(newEntity.getRegisterAddress(), ""))); Objects.toString(newEntity.getRegisterAddress(), "")));
} }
// 办公地址 // 办公地址
if (!Objects.equals(exist.getOfficeAddress(), newEntity.getOfficeAddress())) { if (!valueEquals(exist.getOfficeAddress(), newEntity.getOfficeAddress())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"办公地址", "办公地址",
Objects.toString(exist.getOfficeAddress(), ""), Objects.toString(exist.getOfficeAddress(), ""),
Objects.toString(newEntity.getOfficeAddress(), ""))); Objects.toString(newEntity.getOfficeAddress(), "")));
} }
// 统一社会信用代码 // 统一社会信用代码
if (!Objects.equals(exist.getCreditCode(), newEntity.getCreditCode())) { if (!valueEquals(exist.getCreditCode(), newEntity.getCreditCode())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"统一社会信用代码", "统一社会信用代码",
Objects.toString(exist.getCreditCode(), ""), Objects.toString(exist.getCreditCode(), ""),
Objects.toString(newEntity.getCreditCode(), ""))); Objects.toString(newEntity.getCreditCode(), "")));
} }
// 资质证书编号 // 资质证书编号
if (!Objects.equals(exist.getQualCertNo(), newEntity.getQualCertNo())) { if (!valueEquals(exist.getQualCertNo(), newEntity.getQualCertNo())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"资质证书编号", "资质证书编号",
Objects.toString(exist.getQualCertNo(), ""), Objects.toString(exist.getQualCertNo(), ""),
Objects.toString(newEntity.getQualCertNo(), ""))); Objects.toString(newEntity.getQualCertNo(), "")));
} }
// 法定代表人 // 法定代表人
if (!Objects.equals(exist.getLegalRepresentative(), newEntity.getLegalRepresentative())) { if (!valueEquals(exist.getLegalRepresentative(), newEntity.getLegalRepresentative())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"法定代表人", "法定代表人",
Objects.toString(exist.getLegalRepresentative(), ""), Objects.toString(exist.getLegalRepresentative(), ""),
Objects.toString(newEntity.getLegalRepresentative(), ""))); Objects.toString(newEntity.getLegalRepresentative(), "")));
} }
// 法人代表及电话 // 法人代表及电话
if (!Objects.equals(exist.getLegalPersonPhone(), newEntity.getLegalPersonPhone())) { if (!valueEquals(exist.getLegalPersonPhone(), newEntity.getLegalPersonPhone())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"法人代表及电话", "法人代表及电话",
Objects.toString(exist.getLegalPersonPhone(), ""), Objects.toString(exist.getLegalPersonPhone(), ""),
Objects.toString(newEntity.getLegalPersonPhone(), ""))); Objects.toString(newEntity.getLegalPersonPhone(), "")));
} }
// 联系人 // 联系人
if (!Objects.equals(exist.getContactName(), newEntity.getContactName())) { if (!valueEquals(exist.getContactName(), newEntity.getContactName())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"联系人", "联系人",
Objects.toString(exist.getContactName(), ""), Objects.toString(exist.getContactName(), ""),
Objects.toString(newEntity.getContactName(), ""))); Objects.toString(newEntity.getContactName(), "")));
} }
// 联系人及电话 // 联系人及电话
if (!Objects.equals(exist.getContactPhone(), newEntity.getContactPhone())) { if (!valueEquals(exist.getContactPhone(), newEntity.getContactPhone())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"联系人及电话", "联系人及电话",
Objects.toString(exist.getContactPhone(), ""), Objects.toString(exist.getContactPhone(), ""),
Objects.toString(newEntity.getContactPhone(), ""))); Objects.toString(newEntity.getContactPhone(), "")));
} }
// 传真 // 传真
if (!Objects.equals(exist.getFax(), newEntity.getFax())) { if (!valueEquals(exist.getFax(), newEntity.getFax())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"传真", "传真",
Objects.toString(exist.getFax(), ""), Objects.toString(exist.getFax(), ""),
Objects.toString(newEntity.getFax(), ""))); Objects.toString(newEntity.getFax(), "")));
} }
// 信息公开网址 // 信息公开网址
if (!Objects.equals(exist.getInfoDisclosureUrl(), newEntity.getInfoDisclosureUrl())) { if (!valueEquals(exist.getInfoDisclosureUrl(), newEntity.getInfoDisclosureUrl())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"信息公开网址", "信息公开网址",
Objects.toString(exist.getInfoDisclosureUrl(), ""), Objects.toString(exist.getInfoDisclosureUrl(), ""),
Objects.toString(newEntity.getInfoDisclosureUrl(), ""))); Objects.toString(newEntity.getInfoDisclosureUrl(), "")));
} }
// 固定资产总值 // 固定资产总值
if (!Objects.equals(exist.getFixedAssetAmount(), newEntity.getFixedAssetAmount())) { if (!valueEquals(exist.getFixedAssetAmount(), newEntity.getFixedAssetAmount())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"固定资产总值(单位:分)", "固定资产总值(单位:分)",
Objects.toString(exist.getFixedAssetAmount(), ""), Objects.toString(exist.getFixedAssetAmount(), ""),
Objects.toString(newEntity.getFixedAssetAmount(), ""))); Objects.toString(newEntity.getFixedAssetAmount(), "")));
} }
// 档案室面积(平方米) // 档案室面积(平方米)
if (!Objects.equals(exist.getArchiveRoomArea(), newEntity.getArchiveRoomArea())) { if (!valueEquals(exist.getArchiveRoomArea(), newEntity.getArchiveRoomArea())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"档案室面积(平方米)", "档案室面积(平方米)",
Objects.toString(exist.getArchiveRoomArea(), ""), Objects.toString(exist.getArchiveRoomArea(), ""),
Objects.toString(newEntity.getArchiveRoomArea(), ""))); Objects.toString(newEntity.getArchiveRoomArea(), "")));
} }
// 专职安全评价师数量(人) // 专职安全评价师数量(人)
if (!Objects.equals(exist.getFulltimeEvaluatorCount(), newEntity.getFulltimeEvaluatorCount())) { if (!valueEquals(exist.getFulltimeEvaluatorCount(), newEntity.getFulltimeEvaluatorCount())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"专职安全评价师数量(人)", "专职安全评价师数量(人)",
Objects.toString(exist.getFulltimeEvaluatorCount(), ""), Objects.toString(exist.getFulltimeEvaluatorCount(), ""),
Objects.toString(newEntity.getFulltimeEvaluatorCount(), ""))); Objects.toString(newEntity.getFulltimeEvaluatorCount(), "")));
} }
// 注册安全工程师数量(人) // 注册安全工程师数量(人)
if (!Objects.equals(exist.getRegisteredEngineerCount(), newEntity.getRegisteredEngineerCount())) { if (!valueEquals(exist.getRegisteredEngineerCount(), newEntity.getRegisteredEngineerCount())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"注册安全工程师数量(人)", "注册安全工程师数量(人)",
Objects.toString(exist.getRegisteredEngineerCount(), ""), Objects.toString(exist.getRegisteredEngineerCount(), ""),
Objects.toString(newEntity.getRegisteredEngineerCount(), ""))); Objects.toString(newEntity.getRegisteredEngineerCount(), "")));
} }
// 工作场所建筑面积(平方米) // 工作场所建筑面积(平方米)
if (!bigDecimalEquals(exist.getWorkplaceArea(), newEntity.getWorkplaceArea())) { if (!valueEquals(exist.getWorkplaceArea(), newEntity.getWorkplaceArea())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"工作场所建筑面积(平方米)", "工作场所建筑面积(平方米)",
Objects.toString(exist.getWorkplaceArea(), ""), Objects.toString(exist.getWorkplaceArea(), ""),
Objects.toString(newEntity.getWorkplaceArea(), ""))); Objects.toString(newEntity.getWorkplaceArea(), "")));
} }
// 单位基本情况介绍 // 单位基本情况介绍
if (!Objects.equals(exist.getUnitIntro(), newEntity.getUnitIntro())) { if (!valueEquals(exist.getUnitIntro(), newEntity.getUnitIntro())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"单位基本情况介绍", "单位基本情况介绍",
Objects.toString(exist.getUnitIntro(), ""), Objects.toString(exist.getUnitIntro(), ""),
Objects.toString(newEntity.getUnitIntro(), ""))); Objects.toString(newEntity.getUnitIntro(), "")));
} }
// 单位基本情况附件地址 // 单位基本情况附件地址
if (!Objects.equals(exist.getAttachmentUrl(), newEntity.getAttachmentUrl())) { if (!valueEquals(exist.getAttachmentUrl(), newEntity.getAttachmentUrl())) {
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更", details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"单位基本情况附件地址", "单位基本情况附件地址",
Objects.toString(exist.getAttachmentUrl(), ""), Objects.toString(exist.getAttachmentUrl(), ""),
@ -861,6 +856,44 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
return details; return details;
} }
/**
* Set
*/
private void diffBusinessScope(Long changeId, String existScopeJson, List<String> newScope,
List<QualFilingChangeDetailDO> details) {
Set<String> existScopeSet = toIndustryCodeSet(existScopeJson);
Set<String> newScopeSet = newScope == null ? new LinkedHashSet<>() : new LinkedHashSet<>(newScope);
if (Objects.equals(existScopeSet, newScopeSet)) {
return;
}
details.add(fieldDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
"备案安全评价业务范围",
toIndustryNames(existScopeSet),
toIndustryNames(newScopeSet)));
}
/**
* JSON
*/
private Set<String> toIndustryCodeSet(String scopeJson) {
if (!StringUtils.hasText(scopeJson)) {
return new LinkedHashSet<>();
}
return new LinkedHashSet<>(JSONUtil.toList(scopeJson, String.class));
}
/**
*
*/
private String toIndustryNames(Set<String> codes) {
return codes.stream()
.map(code -> {
String value = IndustryEnum.getValueByCode(code);
return value != null ? value : code;
})
.collect(Collectors.joining(","));
}
private boolean commitmentChanged(QualFilingCommitmentChangeE exist, QualFilingCommitmentChangeE newEntity) { private boolean commitmentChanged(QualFilingCommitmentChangeE exist, QualFilingCommitmentChangeE newEntity) {
String existSig = exist == null ? "" : exist.getCommitmentContent() + "|" + exist.getLegalRepSignatureUrl() String existSig = exist == null ? "" : exist.getCommitmentContent() + "|" + exist.getLegalRepSignatureUrl()
+ "|" + exist.getSignDate() + "|" + exist.getLegalRepPersonnelId() + "|" + exist.getLegalRepName(); + "|" + exist.getSignDate() + "|" + exist.getLegalRepPersonnelId() + "|" + exist.getLegalRepName();