diff --git a/docs/db/increment-org-personnel-leader-flags-20260714.sql b/docs/db/increment-org-personnel-leader-flags-20260714.sql new file mode 100644 index 0000000..398bfa6 --- /dev/null +++ b/docs/db/increment-org-personnel-leader-flags-20260714.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- org_personnel 表新增字段 - 技术负责人/过程控制负责人标识 +-- 日期: 2026-07-14 +-- 执行: mysql -u -p < increment-org-personnel-leader-flags-20260714.sql +-- ============================================= + +SET NAMES utf8mb4; + +ALTER TABLE `org_personnel` + ADD COLUMN `technical_director_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否技术负责人(0否1是)' AFTER `proof_material_url`, + ADD COLUMN `process_control_leader_flag` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否过程控制负责人(0否1是)' AFTER `technical_director_flag`; diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java index 298c7c2..b2e156d 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/OrgPersonnelExecutor.java @@ -239,6 +239,8 @@ public class OrgPersonnelExecutor implements OrgPersonnelApi { entity.setAbilityDeclaration(cmd.getAbilityDeclaration()); entity.setWorkExperience(cmd.getWorkExperience()); entity.setProofMaterialUrl(cmd.getProofMaterialUrl()); + entity.setTechnicalDirectorFlag(cmd.getTechnicalDirectorFlag()); + entity.setProcessControlLeaderFlag(cmd.getProcessControlLeaderFlag()); } private void applyPersonnelExtFields(OrgPersonnelEntity entity, OrgPersonnelModifyCmd cmd) { diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/OrgPersonnelCO.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/OrgPersonnelCO.java index db3a55e..3980ae5 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/OrgPersonnelCO.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/co/OrgPersonnelCO.java @@ -117,6 +117,12 @@ public class OrgPersonnelCO { @ApiModelProperty(value = "证明材料附件地址") private String proofMaterialUrl; + @ApiModelProperty(value = "是否技术负责人") + private Boolean technicalDirectorFlag; + + @ApiModelProperty(value = "是否过程控制负责人") + private Boolean processControlLeaderFlag; + @ApiModelProperty(value = "部门名称(列表展示,非持久化)") private String deptName; diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelAddCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelAddCmd.java index 3aaa492..4206978 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelAddCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelAddCmd.java @@ -138,6 +138,12 @@ public class OrgPersonnelAddCmd { @ApiModelProperty(value = "申报专业能力证明材料地址") private String proofMaterialUrl; + @ApiModelProperty(value = "是否技术负责人") + private Boolean technicalDirectorFlag; + + @ApiModelProperty(value = "是否过程控制负责人") + private Boolean processControlLeaderFlag; + @ApiModelProperty(value = "部门id") private Long deptId; diff --git a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelModifyCmd.java b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelModifyCmd.java index 30a9f9e..698fabc 100644 --- a/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelModifyCmd.java +++ b/safety-eval-client/src/main/java/org/qinan/safetyeval/client/dto/OrgPersonnelModifyCmd.java @@ -141,6 +141,12 @@ public class OrgPersonnelModifyCmd { @ApiModelProperty(value = "申报专业能力证明材料地址") private String proofMaterialUrl; + @ApiModelProperty(value = "是否技术负责人") + private Boolean technicalDirectorFlag; + + @ApiModelProperty(value = "是否过程控制负责人") + private Boolean processControlLeaderFlag; + @ApiModelProperty(value = "部门id") private Long deptId; diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/OrgPersonnelEntity.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/OrgPersonnelEntity.java index 5ec9697..19dbd9f 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/OrgPersonnelEntity.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/entity/OrgPersonnelEntity.java @@ -120,6 +120,12 @@ public class OrgPersonnelEntity { /** 申报专业能力证明材料(多个逗号分隔) */ private String proofMaterialUrl; + /** 是否技术负责人 */ + private Boolean technicalDirectorFlag; + + /** 是否过程控制负责人 */ + private Boolean processControlLeaderFlag; + /** 租户ID */ private Long tenantId; diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/OrgPersonnelDO.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/OrgPersonnelDO.java index c7a2278..615d188 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/OrgPersonnelDO.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/OrgPersonnelDO.java @@ -52,6 +52,8 @@ public class OrgPersonnelDO { private String abilityDeclaration; private String workExperience; private String proofMaterialUrl; + private Boolean technicalDirectorFlag; + private Boolean processControlLeaderFlag; // ---- GBS默认字段 ---- /** diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java index 58e0bbc..065eca8 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java @@ -246,6 +246,8 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { entity.setTenantId(dataObject.getTenantId()); entity.setDeleteEnum(dataObject.getDeleteEnum()); entity.setJoinWorkDate(dataObject.getJoinWorkDate()); + entity.setTechnicalDirectorFlag(dataObject.getTechnicalDirectorFlag()); + entity.setProcessControlLeaderFlag(dataObject.getProcessControlLeaderFlag()); return entity; } }