business scope

dev
luotaiqian 2026-07-14 18:51:06 +08:00
parent e1e0175211
commit 132b50a874
7 changed files with 127 additions and 62 deletions

View File

@ -26,7 +26,6 @@ public interface QualFilingChangeCmdConvertor {
* @param qualFilingChangeAddCmd * @param qualFilingChangeAddCmd
* @return * @return
*/ */
@Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "listToJsonString")
QualFilingChangeEntity convertCmdToE(QualFilingChangeAddCmd qualFilingChangeAddCmd); QualFilingChangeEntity convertCmdToE(QualFilingChangeAddCmd qualFilingChangeAddCmd);
/** /**
@ -34,6 +33,7 @@ public interface QualFilingChangeCmdConvertor {
* id 使 changeFilingId * id 使 changeFilingId
*/ */
@Mapping(target = "id", source = "filingId") @Mapping(target = "id", source = "filingId")
@Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "listToJsonString")
@Mapping(target = "originFilingId", ignore = true) @Mapping(target = "originFilingId", ignore = true)
@Mapping(target = "rejectReason", ignore = true) @Mapping(target = "rejectReason", ignore = true)
@Mapping(target = "submitTime", ignore = true) @Mapping(target = "submitTime", ignore = true)
@ -47,7 +47,6 @@ public interface QualFilingChangeCmdConvertor {
* @param changeEntity changeEntity * @param changeEntity changeEntity
* @return QualFilingChangeAggregationCO * @return QualFilingChangeAggregationCO
*/ */
@Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "jsonStringToList")
QualFilingChangeAggregationCO convertChangeEToQualFilingChangeAggregationCO(QualFilingChangeEntity changeEntity); QualFilingChangeAggregationCO convertChangeEToQualFilingChangeAggregationCO(QualFilingChangeEntity changeEntity);
@Named("listToJsonString") @Named("listToJsonString")
@ -55,11 +54,6 @@ public interface QualFilingChangeCmdConvertor {
return list == null ? null : JSON.toJSONString(list); return list == null ? null : JSON.toJSONString(list);
} }
@Named("jsonStringToList")
default List<String> jsonStringToList(String json) {
return json == null || json.isEmpty() ? null : JSON.parseArray(json, String.class);
}
/** /**
* CmdCmd * CmdCmd
*/ */
@ -71,7 +65,6 @@ public interface QualFilingChangeCmdConvertor {
/** /**
* Cmd * Cmd
*/ */
@Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "jsonStringToList")
@Mapping(target = "filingReviewId", ignore = true) @Mapping(target = "filingReviewId", ignore = true)
@Mapping(target = "applyTypeCode", ignore = true) @Mapping(target = "applyTypeCode", ignore = true)
@Mapping(target = "applyTypeName", ignore = true) @Mapping(target = "applyTypeName", ignore = true)

View File

@ -2,7 +2,6 @@ package org.qinan.safetyeval.app.executor;
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;
import com.alibaba.fastjson.JSON;
import org.qinan.safetyeval.app.change.convertor.*; import org.qinan.safetyeval.app.change.convertor.*;
import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator; import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator;
import org.qinan.safetyeval.client.api.QualFilingChangeApi; import org.qinan.safetyeval.client.api.QualFilingChangeApi;
@ -101,7 +100,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
entity.setFilingUnitTypeCode(cmd.getFilingUnitTypeCode()); entity.setFilingUnitTypeCode(cmd.getFilingUnitTypeCode());
entity.setFilingUnitTypeName(cmd.getFilingUnitTypeName()); entity.setFilingUnitTypeName(cmd.getFilingUnitTypeName());
entity.setFilingNo(cmd.getFilingNo()); entity.setFilingNo(cmd.getFilingNo());
entity.setBusinessScope(JSON.toJSONString(cmd.getBusinessScope())); entity.setBusinessScope(cmd.getBusinessScope());
entity.setRegisterAddress(cmd.getRegisterAddress()); entity.setRegisterAddress(cmd.getRegisterAddress());
entity.setOfficeAddress(cmd.getOfficeAddress()); entity.setOfficeAddress(cmd.getOfficeAddress());
entity.setCreditCode(cmd.getCreditCode()); entity.setCreditCode(cmd.getCreditCode());
@ -139,7 +138,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
entity.setFilingUnitTypeCode(cmd.getFilingUnitTypeCode()); entity.setFilingUnitTypeCode(cmd.getFilingUnitTypeCode());
entity.setFilingUnitTypeName(cmd.getFilingUnitTypeName()); entity.setFilingUnitTypeName(cmd.getFilingUnitTypeName());
entity.setFilingNo(cmd.getFilingNo()); entity.setFilingNo(cmd.getFilingNo());
entity.setBusinessScope(JSON.toJSONString(cmd.getBusinessScope())); entity.setBusinessScope(cmd.getBusinessScope());
entity.setRegisterAddress(cmd.getRegisterAddress()); entity.setRegisterAddress(cmd.getRegisterAddress());
entity.setOfficeAddress(cmd.getOfficeAddress()); entity.setOfficeAddress(cmd.getOfficeAddress());
entity.setCreditCode(cmd.getCreditCode()); entity.setCreditCode(cmd.getCreditCode());
@ -683,7 +682,7 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
co.setFilingUnitTypeCode(entity.getFilingUnitTypeCode()); co.setFilingUnitTypeCode(entity.getFilingUnitTypeCode());
co.setFilingUnitTypeName(entity.getFilingUnitTypeName()); co.setFilingUnitTypeName(entity.getFilingUnitTypeName());
co.setFilingNo(entity.getFilingNo()); co.setFilingNo(entity.getFilingNo());
co.setBusinessScope(JSON.parseArray(entity.getBusinessScope(), String.class)); co.setBusinessScope(entity.getBusinessScope());
co.setRegisterAddress(entity.getRegisterAddress()); co.setRegisterAddress(entity.getRegisterAddress());
co.setOfficeAddress(entity.getOfficeAddress()); co.setOfficeAddress(entity.getOfficeAddress());
co.setCreditCode(entity.getCreditCode()); co.setCreditCode(entity.getCreditCode());

View File

@ -1,28 +1,27 @@
package org.qinan.safetyeval.app.orchestrator; package org.qinan.safetyeval.app.orchestrator;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.alibaba.fastjson.JSON; 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.QualFilingChangeCmdConvertor;
import org.qinan.safetyeval.app.change.convertor.QualFilingCommitmentChangeCmdConvertor; import org.qinan.safetyeval.app.change.convertor.QualFilingCommitmentChangeCmdConvertor;
import org.qinan.safetyeval.app.change.convertor.QualFilingMaterialChangeCmdConvertor; import org.qinan.safetyeval.app.change.convertor.QualFilingMaterialChangeCmdConvertor;
import org.qinan.safetyeval.app.change.convertor.QualFilingPersonnelChangeCmdConvertor; import org.qinan.safetyeval.app.change.convertor.QualFilingPersonnelChangeCmdConvertor;
import org.qinan.safetyeval.app.convertor.QualFilingCmdConvertor; import org.qinan.safetyeval.app.convertor.QualFilingCmdConvertor;
import org.qinan.safetyeval.app.support.*;
import org.qinan.safetyeval.client.co.*; import org.qinan.safetyeval.client.co.*;
import org.qinan.safetyeval.client.dto.AggregationSaveOrEditQualFilingCmd; 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.QualFilingModifyCmd;
import org.qinan.safetyeval.client.dto.QualFilingPageQuery; 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.client.dto.QualificationMonitoringQuery;
import org.qinan.safetyeval.domain.change.gateway.QualFilingCommitmentChangeGateway; import org.qinan.safetyeval.domain.change.gateway.QualFilingCommitmentChangeGateway;
import org.qinan.safetyeval.domain.change.gateway.QualFilingMaterialChangeGateway; import org.qinan.safetyeval.domain.change.gateway.QualFilingMaterialChangeGateway;
import org.qinan.safetyeval.domain.change.gateway.QualFilingPersonnelChangeGateway; import org.qinan.safetyeval.domain.change.gateway.QualFilingPersonnelChangeGateway;
import org.qinan.safetyeval.domain.change.model.QualFilingCommitmentChangeE; 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.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;
@ -42,10 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -594,7 +590,7 @@ public class QualFilingOrchestrator {
change.setFilingUnitTypeCode(draft.getFilingUnitTypeCode()); change.setFilingUnitTypeCode(draft.getFilingUnitTypeCode());
change.setFilingUnitTypeName(draft.getFilingUnitTypeName()); change.setFilingUnitTypeName(draft.getFilingUnitTypeName());
change.setFilingNo(draft.getFilingNo()); change.setFilingNo(draft.getFilingNo());
change.setBusinessScope(draft.getBusinessScope()); change.setBusinessScope(JSON.parseArray(draft.getBusinessScope(), String.class));
change.setRegisterAddress(draft.getRegisterAddress()); change.setRegisterAddress(draft.getRegisterAddress());
change.setOfficeAddress(draft.getOfficeAddress()); change.setOfficeAddress(draft.getOfficeAddress());
change.setCreditCode(draft.getCreditCode()); change.setCreditCode(draft.getCreditCode());

View File

@ -3,6 +3,7 @@ package org.qinan.safetyeval.domain.entity;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
/** /**
* *
@ -12,99 +13,163 @@ import java.math.BigDecimal;
@Data @Data
public class QualFilingChangeEntity { public class QualFilingChangeEntity {
/** 主键ID */ /**
* ID
*/
private Long id; private Long id;
/** 机构ID */ /**
* ID
*/
private Long orgId; private Long orgId;
/** 备案申请ID */ /**
* ID
*/
private Long filingId; private Long filingId;
/** 关联变更草稿ID */ /**
* 稿ID
*/
private Long changeFilingId; private Long changeFilingId;
/** 打回原因 */ /**
*
*/
private String rejectReason; private String rejectReason;
/** 审核ID */ /**
* ID
*/
private Long filingReviewId; private Long filingReviewId;
/** 提交时间 */ /**
*
*/
private java.time.LocalDateTime submitTime; private java.time.LocalDateTime submitTime;
/** 备案属地编码 */ /**
*
*/
private String filingTerritoryCode; private String filingTerritoryCode;
/** 备案属地名称 */ /**
*
*/
private String filingTerritoryName; private String filingTerritoryName;
/** 备案单位 */ /**
*
*/
private String filingUnitName; private String filingUnitName;
/** 备案单位类型编码 */ /**
*
*/
private String filingUnitTypeCode; private String filingUnitTypeCode;
/** 备案单位类型名称 */ /**
*
*/
private String filingUnitTypeName; private String filingUnitTypeName;
/** 备案编号 */ /**
*
*/
private String filingNo; private String filingNo;
/** 备案安全评价业务范围 */ /**
private String businessScope; *
*/
private List<String> businessScope;
/** 注册地址 */ /**
*
*/
private String registerAddress; private String registerAddress;
/** 办公地址 */ /**
*
*/
private String officeAddress; private String officeAddress;
/** 统一社会信用代码 */ /**
*
*/
private String creditCode; private String creditCode;
/** 资质证书编号 */ /**
*
*/
private String qualCertNo; private String qualCertNo;
/** 法人代表及电话 */ /**
*
*/
private String legalPersonPhone; private String legalPersonPhone;
/** 联系人及电话 */ /**
*
*/
private String contactPhone; private String contactPhone;
/** 信息公开网址 */ /**
*
*/
private String infoDisclosureUrl; private String infoDisclosureUrl;
/** 固定资产总值(单位:分) */ /**
* (:)
*/
private Long fixedAssetAmount; private Long fixedAssetAmount;
/** 档案室面积(平方米) */ /**
* ()
*/
private BigDecimal archiveRoomArea; private BigDecimal archiveRoomArea;
/** 专职安全评价师数量 */ /**
*
*/
private Integer fulltimeEvaluatorCount; private Integer fulltimeEvaluatorCount;
/** 注册安全工程师数量 */ /**
*
*/
private Integer registeredEngineerCount; private Integer registeredEngineerCount;
/** 工作场所建筑面积(平方米) */ /**
* ()
*/
private BigDecimal workplaceArea; private BigDecimal workplaceArea;
/** 单位基本情况介绍 */ /**
*
*/
private String unitIntro; private String unitIntro;
/** 单位基本情况附件地址 */ /**
*
*/
private String attachmentUrl; private String attachmentUrl;
/** 备案状态编码 */ /**
*
*/
private Integer filingStatusCode; private Integer filingStatusCode;
/** 备案状态名称 */ /**
*
*/
private String filingStatusName; private String filingStatusName;
/** 预警状态 normal:正常person_rate:人员比例预警 */ /**
* normal:person_rate:
*/
private String alertStatus; private String alertStatus;
/** 租户ID */ /**
* ID
*/
private Long tenantId; private Long tenantId;
} }

View File

@ -1,9 +1,14 @@
package org.qinan.safetyeval.infrastructure.convertor; package org.qinan.safetyeval.infrastructure.convertor;
import com.alibaba.fastjson.JSON;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import org.qinan.safetyeval.domain.entity.QualFilingChangeEntity; import org.qinan.safetyeval.domain.entity.QualFilingChangeEntity;
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO; import org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO;
import java.util.List;
/** /**
* DO * DO
* *
@ -18,5 +23,11 @@ public interface QualFilingChangeDoConvertor {
* @param qualFilingChangeEntity * @param qualFilingChangeEntity
* @return * @return
*/ */
@Mapping(target = "businessScope", source = "businessScope", qualifiedByName = "listToJsonString")
QualFilingChangeDO convertEeToDo(QualFilingChangeEntity qualFilingChangeEntity); QualFilingChangeDO convertEeToDo(QualFilingChangeEntity qualFilingChangeEntity);
@Named("listToJsonString")
default String listToJsonString(List<String> list) {
return list == null ? null : JSON.toJSONString(list);
}
} }

View File

@ -1,5 +1,6 @@
package org.qinan.safetyeval.infrastructure.gatewayimpl; package org.qinan.safetyeval.infrastructure.gatewayimpl;
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;
@ -249,7 +250,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway {
dataObject.setFilingUnitTypeCode(entity.getFilingUnitTypeCode()); dataObject.setFilingUnitTypeCode(entity.getFilingUnitTypeCode());
dataObject.setFilingUnitTypeName(entity.getFilingUnitTypeName()); dataObject.setFilingUnitTypeName(entity.getFilingUnitTypeName());
dataObject.setFilingNo(entity.getFilingNo()); dataObject.setFilingNo(entity.getFilingNo());
dataObject.setBusinessScope(entity.getBusinessScope()); dataObject.setBusinessScope(JSONUtil.toJsonStr(entity.getBusinessScope()));
dataObject.setRegisterAddress(entity.getRegisterAddress()); dataObject.setRegisterAddress(entity.getRegisterAddress());
dataObject.setOfficeAddress(entity.getOfficeAddress()); dataObject.setOfficeAddress(entity.getOfficeAddress());
dataObject.setCreditCode(entity.getCreditCode()); dataObject.setCreditCode(entity.getCreditCode());
@ -287,7 +288,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway {
entity.setFilingUnitTypeCode(dataObject.getFilingUnitTypeCode()); entity.setFilingUnitTypeCode(dataObject.getFilingUnitTypeCode());
entity.setFilingUnitTypeName(dataObject.getFilingUnitTypeName()); entity.setFilingUnitTypeName(dataObject.getFilingUnitTypeName());
entity.setFilingNo(String.valueOf(dataObject.getId())); entity.setFilingNo(String.valueOf(dataObject.getId()));
entity.setBusinessScope(dataObject.getBusinessScope()); entity.setBusinessScope(JSONUtil.toList(dataObject.getBusinessScope(), String.class));
entity.setRegisterAddress(dataObject.getRegisterAddress()); entity.setRegisterAddress(dataObject.getRegisterAddress());
entity.setOfficeAddress(dataObject.getOfficeAddress()); entity.setOfficeAddress(dataObject.getOfficeAddress());
entity.setCreditCode(dataObject.getCreditCode()); entity.setCreditCode(dataObject.getCreditCode());

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper"> <mapper namespace="org.qinan.safetyeval.infrastructure.mapper.QualFilingChangeMapper">
<!-- 通用查询映射结果 --> <!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO"> <resultMap id="BaseResultMap" type="org.qinan.safetyeval.infrastructure.dataobject.QualFilingChangeDO">
<id column="id" property="id"/> <id column="id" property="id"/>
@ -17,7 +16,8 @@
<result column="filing_unit_type_code" property="filingUnitTypeCode"/> <result column="filing_unit_type_code" property="filingUnitTypeCode"/>
<result column="filing_unit_type_name" property="filingUnitTypeName"/> <result column="filing_unit_type_name" property="filingUnitTypeName"/>
<result column="filing_no" property="filingNo"/> <result column="filing_no" property="filingNo"/>
<result column="business_scope" property="businessScope"/> <result column="business_scope" property="businessScope"
typeHandler="org.qinan.safetyeval.infrastructure.handler.JsonStringListTypeHandler"/>
<result column="register_address" property="registerAddress"/> <result column="register_address" property="registerAddress"/>
<result column="office_address" property="officeAddress"/> <result column="office_address" property="officeAddress"/>
<result column="credit_code" property="creditCode"/> <result column="credit_code" property="creditCode"/>
@ -49,7 +49,8 @@
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
`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`
</sql> </sql>
<!-- 机构端分页查询结果映射直接映射为CO无需Entity中转 --> <!-- 机构端分页查询结果映射直接映射为CO无需Entity中转 -->
@ -128,5 +129,4 @@
</foreach> </foreach>
GROUP BY filing_id GROUP BY filing_id
</select> </select>
</mapper> </mapper>