From 132b50a874db70cb4caccc61b5d5bf60260e0bf1 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Tue, 14 Jul 2026 18:51:06 +0800 Subject: [PATCH] business scope --- .../QualFilingChangeCmdConvertor.java | 9 +- .../executor/QualFilingChangeExecutor.java | 7 +- .../orchestrator/QualFilingOrchestrator.java | 18 +-- .../domain/entity/QualFilingChangeEntity.java | 131 +++++++++++++----- .../QualFilingChangeDoConvertor.java | 11 ++ .../QualFilingChangeGatewayImpl.java | 5 +- .../mapper/QualFilingChangeMapper.xml | 8 +- 7 files changed, 127 insertions(+), 62 deletions(-) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/change/convertor/QualFilingChangeCmdConvertor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/change/convertor/QualFilingChangeCmdConvertor.java index 94a27dd..708af74 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/change/convertor/QualFilingChangeCmdConvertor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/change/convertor/QualFilingChangeCmdConvertor.java @@ -26,7 +26,6 @@ public interface QualFilingChangeCmdConvertor { * @param qualFilingChangeAddCmd * @return */ - @Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "listToJsonString") QualFilingChangeEntity convertCmdToE(QualFilingChangeAddCmd qualFilingChangeAddCmd); /** @@ -34,6 +33,7 @@ public interface QualFilingChangeCmdConvertor { * id 由调用方手动设置(使用 changeFilingId) */ @Mapping(target = "id", source = "filingId") + @Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "listToJsonString") @Mapping(target = "originFilingId", ignore = true) @Mapping(target = "rejectReason", ignore = true) @Mapping(target = "submitTime", ignore = true) @@ -47,7 +47,6 @@ public interface QualFilingChangeCmdConvertor { * @param changeEntity changeEntity * @return QualFilingChangeAggregationCO */ - @Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "jsonStringToList") QualFilingChangeAggregationCO convertChangeEToQualFilingChangeAggregationCO(QualFilingChangeEntity changeEntity); @Named("listToJsonString") @@ -55,11 +54,6 @@ public interface QualFilingChangeCmdConvertor { return list == null ? null : JSON.toJSONString(list); } - @Named("jsonStringToList") - default List jsonStringToList(String json) { - return json == null || json.isEmpty() ? null : JSON.parseArray(json, String.class); - } - /** * 变更Cmd转备案Cmd(用于合规性校验) */ @@ -71,7 +65,6 @@ public interface QualFilingChangeCmdConvertor { /** * 变更实体转备案Cmd(用于合规性校验) */ - @Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "jsonStringToList") @Mapping(target = "filingReviewId", ignore = true) @Mapping(target = "applyTypeCode", ignore = true) @Mapping(target = "applyTypeName", ignore = true) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java index 93f4ba6..4cb95a8 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/QualFilingChangeExecutor.java @@ -2,7 +2,6 @@ package org.qinan.safetyeval.app.executor; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.alibaba.fastjson.JSON; import org.qinan.safetyeval.app.change.convertor.*; import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator; import org.qinan.safetyeval.client.api.QualFilingChangeApi; @@ -101,7 +100,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi { entity.setFilingUnitTypeCode(cmd.getFilingUnitTypeCode()); entity.setFilingUnitTypeName(cmd.getFilingUnitTypeName()); entity.setFilingNo(cmd.getFilingNo()); - entity.setBusinessScope(JSON.toJSONString(cmd.getBusinessScope())); + entity.setBusinessScope(cmd.getBusinessScope()); entity.setRegisterAddress(cmd.getRegisterAddress()); entity.setOfficeAddress(cmd.getOfficeAddress()); entity.setCreditCode(cmd.getCreditCode()); @@ -139,7 +138,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi { entity.setFilingUnitTypeCode(cmd.getFilingUnitTypeCode()); entity.setFilingUnitTypeName(cmd.getFilingUnitTypeName()); entity.setFilingNo(cmd.getFilingNo()); - entity.setBusinessScope(JSON.toJSONString(cmd.getBusinessScope())); + entity.setBusinessScope(cmd.getBusinessScope()); entity.setRegisterAddress(cmd.getRegisterAddress()); entity.setOfficeAddress(cmd.getOfficeAddress()); entity.setCreditCode(cmd.getCreditCode()); @@ -683,7 +682,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi { co.setFilingUnitTypeCode(entity.getFilingUnitTypeCode()); co.setFilingUnitTypeName(entity.getFilingUnitTypeName()); co.setFilingNo(entity.getFilingNo()); - co.setBusinessScope(JSON.parseArray(entity.getBusinessScope(), String.class)); + co.setBusinessScope(entity.getBusinessScope()); co.setRegisterAddress(entity.getRegisterAddress()); co.setOfficeAddress(entity.getOfficeAddress()); co.setCreditCode(entity.getCreditCode()); diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/orchestrator/QualFilingOrchestrator.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/orchestrator/QualFilingOrchestrator.java index cfe4d23..42ddb99 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/orchestrator/QualFilingOrchestrator.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/orchestrator/QualFilingOrchestrator.java @@ -1,28 +1,27 @@ package org.qinan.safetyeval.app.orchestrator; import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.alibaba.fastjson.JSON; -import org.qinan.safetyeval.app.support.*; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.qinan.safetyeval.app.change.convertor.QualFilingChangeCmdConvertor; import org.qinan.safetyeval.app.change.convertor.QualFilingCommitmentChangeCmdConvertor; import org.qinan.safetyeval.app.change.convertor.QualFilingMaterialChangeCmdConvertor; import org.qinan.safetyeval.app.change.convertor.QualFilingPersonnelChangeCmdConvertor; import org.qinan.safetyeval.app.convertor.QualFilingCmdConvertor; +import org.qinan.safetyeval.app.support.*; import org.qinan.safetyeval.client.co.*; import org.qinan.safetyeval.client.dto.AggregationSaveOrEditQualFilingCmd; -import org.qinan.safetyeval.client.dto.QualFilingAddCmd; -import org.qinan.safetyeval.client.dto.QualFilingCommitmentAddCmd; -import org.qinan.safetyeval.client.dto.QualFilingMaterialAddCmd; import org.qinan.safetyeval.client.dto.QualFilingModifyCmd; import org.qinan.safetyeval.client.dto.QualFilingPageQuery; -import org.qinan.safetyeval.client.dto.QualFilingPersonnelAddCmd; import org.qinan.safetyeval.client.dto.QualificationMonitoringQuery; import org.qinan.safetyeval.domain.change.gateway.QualFilingCommitmentChangeGateway; import org.qinan.safetyeval.domain.change.gateway.QualFilingMaterialChangeGateway; import org.qinan.safetyeval.domain.change.gateway.QualFilingPersonnelChangeGateway; import org.qinan.safetyeval.domain.change.model.QualFilingCommitmentChangeE; -import org.qinan.safetyeval.domain.constant.*; +import org.qinan.safetyeval.domain.constant.AlertStatusEnum; +import org.qinan.safetyeval.domain.constant.QualFilingApplyTypeEnum; +import org.qinan.safetyeval.domain.constant.QualFilingMaterialUploadStatusEnum; +import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum; import org.qinan.safetyeval.domain.entity.*; import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.ErrorCode; @@ -42,10 +41,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; import javax.annotation.Resource; -import java.math.BigDecimal; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -594,7 +590,7 @@ public class QualFilingOrchestrator { change.setFilingUnitTypeCode(draft.getFilingUnitTypeCode()); change.setFilingUnitTypeName(draft.getFilingUnitTypeName()); change.setFilingNo(draft.getFilingNo()); - change.setBusinessScope(draft.getBusinessScope()); + change.setBusinessScope(JSON.parseArray(draft.getBusinessScope(), String.class)); change.setRegisterAddress(draft.getRegisterAddress()); change.setOfficeAddress(draft.getOfficeAddress()); change.setCreditCode(draft.getCreditCode()); diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/QualFilingChangeEntity.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/QualFilingChangeEntity.java index be46bc1..e7308be 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/QualFilingChangeEntity.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/QualFilingChangeEntity.java @@ -3,6 +3,7 @@ package org.qinan.safetyeval.domain.entity; import lombok.Data; import java.math.BigDecimal; +import java.util.List; /** * 备案变更领域实体 @@ -12,99 +13,163 @@ import java.math.BigDecimal; @Data public class QualFilingChangeEntity { - /** 主键ID */ + /** + * 主键ID + */ private Long id; - /** 机构ID */ + /** + * 机构ID + */ private Long orgId; - /** 备案申请ID */ + /** + * 备案申请ID + */ private Long filingId; - /** 关联变更草稿ID */ + /** + * 关联变更草稿ID + */ private Long changeFilingId; - /** 打回原因 */ + /** + * 打回原因 + */ private String rejectReason; - /** 审核ID */ + /** + * 审核ID + */ private Long filingReviewId; - /** 提交时间 */ + /** + * 提交时间 + */ private java.time.LocalDateTime submitTime; - /** 备案属地编码 */ + /** + * 备案属地编码 + */ private String filingTerritoryCode; - /** 备案属地名称 */ + /** + * 备案属地名称 + */ private String filingTerritoryName; - /** 备案单位 */ + /** + * 备案单位 + */ private String filingUnitName; - /** 备案单位类型编码 */ + /** + * 备案单位类型编码 + */ private String filingUnitTypeCode; - /** 备案单位类型名称 */ + /** + * 备案单位类型名称 + */ private String filingUnitTypeName; - /** 备案编号 */ + /** + * 备案编号 + */ private String filingNo; - /** 备案安全评价业务范围 */ - private String businessScope; + /** + * 备案安全评价业务范围 + */ + private List businessScope; - /** 注册地址 */ + /** + * 注册地址 + */ private String registerAddress; - /** 办公地址 */ + /** + * 办公地址 + */ private String officeAddress; - /** 统一社会信用代码 */ + /** + * 统一社会信用代码 + */ private String creditCode; - /** 资质证书编号 */ + /** + * 资质证书编号 + */ private String qualCertNo; - /** 法人代表及电话 */ + /** + * 法人代表及电话 + */ private String legalPersonPhone; - /** 联系人及电话 */ + /** + * 联系人及电话 + */ private String contactPhone; - /** 信息公开网址 */ + /** + * 信息公开网址 + */ private String infoDisclosureUrl; - /** 固定资产总值(单位:分) */ + /** + * 固定资产总值(单位:分) + */ private Long fixedAssetAmount; - /** 档案室面积(平方米) */ + /** + * 档案室面积(平方米) + */ private BigDecimal archiveRoomArea; - /** 专职安全评价师数量 */ + /** + * 专职安全评价师数量 + */ private Integer fulltimeEvaluatorCount; - /** 注册安全工程师数量 */ + /** + * 注册安全工程师数量 + */ private Integer registeredEngineerCount; - /** 工作场所建筑面积(平方米) */ + /** + * 工作场所建筑面积(平方米) + */ private BigDecimal workplaceArea; - /** 单位基本情况介绍 */ + /** + * 单位基本情况介绍 + */ private String unitIntro; - /** 单位基本情况附件地址 */ + /** + * 单位基本情况附件地址 + */ private String attachmentUrl; - /** 备案状态编码 */ + /** + * 备案状态编码 + */ private Integer filingStatusCode; - /** 备案状态名称 */ + /** + * 备案状态名称 + */ private String filingStatusName; - /** 预警状态 normal:正常,person_rate:人员比例预警 */ + /** + * 预警状态 normal:正常,person_rate:人员比例预警 + */ private String alertStatus; - /** 租户ID */ + /** + * 租户ID + */ private Long tenantId; } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualFilingChangeDoConvertor.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualFilingChangeDoConvertor.java index 192d43d..10986eb 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualFilingChangeDoConvertor.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/convertor/QualFilingChangeDoConvertor.java @@ -1,9 +1,14 @@ package org.qinan.safetyeval.infrastructure.convertor; +import com.alibaba.fastjson.JSON; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.Named; import org.qinan.safetyeval.domain.entity.QualFilingChangeEntity; import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO; +import java.util.List; + /** * 备案变更基本信息DO对象转换 * @@ -18,5 +23,11 @@ public interface QualFilingChangeDoConvertor { * @param qualFilingChangeEntity * @return */ + @Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "listToJsonString") QualFilingChangeDO convertEeToDo(QualFilingChangeEntity qualFilingChangeEntity); + + @Named("listToJsonString") + default String listToJsonString(List list) { + return list == null ? null : JSON.toJSONString(list); + } } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingChangeGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingChangeGatewayImpl.java index bbb0a11..1b9e304 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingChangeGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/QualFilingChangeGatewayImpl.java @@ -1,5 +1,6 @@ package org.qinan.safetyeval.infrastructure.gatewayimpl; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -249,7 +250,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway { dataObject.setFilingUnitTypeCode(entity.getFilingUnitTypeCode()); dataObject.setFilingUnitTypeName(entity.getFilingUnitTypeName()); dataObject.setFilingNo(entity.getFilingNo()); - dataObject.setBusinessScope(entity.getBusinessScope()); + dataObject.setBusinessScope(JSONUtil.toJsonStr(entity.getBusinessScope())); dataObject.setRegisterAddress(entity.getRegisterAddress()); dataObject.setOfficeAddress(entity.getOfficeAddress()); dataObject.setCreditCode(entity.getCreditCode()); @@ -287,7 +288,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway { entity.setFilingUnitTypeCode(dataObject.getFilingUnitTypeCode()); entity.setFilingUnitTypeName(dataObject.getFilingUnitTypeName()); entity.setFilingNo(String.valueOf(dataObject.getId())); - entity.setBusinessScope(dataObject.getBusinessScope()); + entity.setBusinessScope(JSONUtil.toList(dataObject.getBusinessScope(), String.class)); entity.setRegisterAddress(dataObject.getRegisterAddress()); entity.setOfficeAddress(dataObject.getOfficeAddress()); entity.setCreditCode(dataObject.getCreditCode()); diff --git a/safety-eval-infrastructure/src/main/resources/mapper/QualFilingChangeMapper.xml b/safety-eval-infrastructure/src/main/resources/mapper/QualFilingChangeMapper.xml index ae85532..1f85f00 100644 --- a/safety-eval-infrastructure/src/main/resources/mapper/QualFilingChangeMapper.xml +++ b/safety-eval-infrastructure/src/main/resources/mapper/QualFilingChangeMapper.xml @@ -1,7 +1,6 @@ - @@ -17,7 +16,8 @@ - + @@ -49,7 +49,8 @@ - `id`, `org_id`, `filing_id`, `change_filing_id`, `filing_review_id`, `reject_reason`, `submit_time`, `filing_territory_code`, `filing_territory_name`, `filing_unit_name`, `filing_unit_type_code`, `filing_unit_type_name`, `filing_no`, `business_scope`, `register_address`, `office_address`, `credit_code`, `qual_cert_no`, `legal_person_phone`, `contact_phone`, `info_disclosure_url`, `fixed_asset_amount`, `archive_room_area`, `fulltime_evaluator_count`, `registered_engineer_count`, `workplace_area`, `unit_intro`, `attachment_url`, `filing_status_code`, `filing_status_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env` + `id` + , `org_id`, `filing_id`, `change_filing_id`, `filing_review_id`, `reject_reason`, `submit_time`, `filing_territory_code`, `filing_territory_name`, `filing_unit_name`, `filing_unit_type_code`, `filing_unit_type_name`, `filing_no`, `business_scope`, `register_address`, `office_address`, `credit_code`, `qual_cert_no`, `legal_person_phone`, `contact_phone`, `info_disclosure_url`, `fixed_asset_amount`, `archive_room_area`, `fulltime_evaluator_count`, `registered_engineer_count`, `workplace_area`, `unit_intro`, `attachment_url`, `filing_status_code`, `filing_status_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env` @@ -128,5 +129,4 @@ GROUP BY filing_id -