diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiBaseStaff.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiBaseStaff.java index bebc03c9..df434a1c 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiBaseStaff.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiBaseStaff.java @@ -43,6 +43,10 @@ public class CcdiBaseStaff implements Serializable { /** 入职时间 */ private Date hireDate; + /** 是否党员:0-否 1-是 */ + @TableField("is_party_member") + private Integer partyMember; + /** 状态 */ private String status; diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffAddDTO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffAddDTO.java index 4c7b5ff3..590a766d 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffAddDTO.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffAddDTO.java @@ -53,6 +53,10 @@ public class CcdiBaseStaffAddDTO implements Serializable { /** 入职时间 */ private Date hireDate; + /** 是否党员:0-否 1-是 */ + @NotNull(message = "是否党员不能为空") + private Integer partyMember; + /** 状态 */ @NotBlank(message = "状态不能为空") private String status; diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffEditDTO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffEditDTO.java index 2dacbc36..8cfc727a 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffEditDTO.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiBaseStaffEditDTO.java @@ -52,6 +52,10 @@ public class CcdiBaseStaffEditDTO implements Serializable { /** 入职时间 */ private Date hireDate; + /** 是否党员:0-否 1-是 */ + @NotNull(message = "是否党员不能为空") + private Integer partyMember; + /** 状态 */ private String status; diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiBaseStaffExcel.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiBaseStaffExcel.java index cd33c1ca..7dac9230 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiBaseStaffExcel.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiBaseStaffExcel.java @@ -63,8 +63,15 @@ public class CcdiBaseStaffExcel implements Serializable { @ColumnWidth(15) private Date hireDate; + /** 是否党员 */ + @ExcelProperty(value = "是否党员", index = 7) + @ColumnWidth(12) + @DictDropdown(dictType = "ccdi_yes_no_flag") + @Required + private Integer partyMember; + /** 状态 */ - @ExcelProperty(value = "状态", index = 7) + @ExcelProperty(value = "状态", index = 8) @ColumnWidth(10) @DictDropdown(dictType = "ccdi_employee_status") @Required diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiBaseStaffVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiBaseStaffVO.java index d86ed151..77987d85 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiBaseStaffVO.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiBaseStaffVO.java @@ -44,6 +44,9 @@ public class CcdiBaseStaffVO implements Serializable { /** 入职时间 */ private Date hireDate; + /** 是否党员:0-否 1-是 */ + private Integer partyMember; + /** 状态 */ private String status; diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/ImportFailureVO.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/ImportFailureVO.java index 6debffa7..a401d4f1 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/ImportFailureVO.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/ImportFailureVO.java @@ -32,6 +32,9 @@ public class ImportFailureVO { @Schema(description = "年收入") private BigDecimal annualIncome; + @Schema(description = "是否党员:0-否 1-是") + private Integer partyMember; + @Schema(description = "状态") private String status; diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java index ff3684ea..b01cf345 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java @@ -320,6 +320,9 @@ public class CcdiBaseStaffImportServiceImpl implements ICcdiBaseStaffImportServi if (StringUtils.isEmpty(addDTO.getPhone())) { throw new RuntimeException("电话不能为空"); } + if (addDTO.getPartyMember() == null) { + throw new RuntimeException("是否党员不能为空"); + } if (StringUtils.isEmpty(addDTO.getStatus())) { throw new RuntimeException("状态不能为空"); } @@ -357,6 +360,9 @@ public class CcdiBaseStaffImportServiceImpl implements ICcdiBaseStaffImportServi if (!"0".equals(addDTO.getStatus()) && !"1".equals(addDTO.getStatus())) { throw new RuntimeException("状态只能填写'在职'或'离职'"); } + if (addDTO.getPartyMember() != 0 && addDTO.getPartyMember() != 1) { + throw new RuntimeException("是否党员只能填写'0'或'1'"); + } validateAnnualIncome(addDTO.getAnnualIncome(), "年收入"); } diff --git a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java index d06920e2..ac621f59 100644 --- a/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java +++ b/ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java @@ -112,7 +112,7 @@ public class CcdiBaseStaffServiceImpl implements ICcdiBaseStaffService { CcdiBaseStaff staff = baseStaffMapper.selectById(staffId); CcdiBaseStaffVO vo = convertToVO(staff); if (staff != null) { - vo.setAssetInfoList(assetInfoService.selectByFamilyId(staff.getIdCard()).stream().map(asset -> { + vo.setAssetInfoList(assetInfoService.selectByFamilyIdAndPersonId(staff.getIdCard(), staff.getIdCard()).stream().map(asset -> { CcdiAssetInfoVO assetInfoVO = new CcdiAssetInfoVO(); BeanUtils.copyProperties(asset, assetInfoVO); return assetInfoVO; @@ -131,6 +131,7 @@ public class CcdiBaseStaffServiceImpl implements ICcdiBaseStaffService { @Transactional public int insertBaseStaff(CcdiBaseStaffAddDTO addDTO) { validateAnnualIncome(addDTO.getAnnualIncome(), "年收入"); + validatePartyMember(addDTO.getPartyMember(), "是否党员"); // 检查员工ID唯一性 if (baseStaffMapper.selectById(addDTO.getStaffId()) != null) { throw new RuntimeException("该员工ID已存在"); @@ -161,6 +162,7 @@ public class CcdiBaseStaffServiceImpl implements ICcdiBaseStaffService { @Transactional public int updateBaseStaff(CcdiBaseStaffEditDTO editDTO) { validateAnnualIncome(editDTO.getAnnualIncome(), "年收入"); + validatePartyMember(editDTO.getPartyMember(), "是否党员"); CcdiBaseStaff existing = baseStaffMapper.selectById(editDTO.getStaffId()); if (existing == null) { throw new RuntimeException("员工不存在"); @@ -291,4 +293,13 @@ public class CcdiBaseStaffServiceImpl implements ICcdiBaseStaffService { } } + private void validatePartyMember(Integer partyMember, String fieldLabel) { + if (partyMember == null) { + throw new RuntimeException(fieldLabel + "不能为空"); + } + if (partyMember != 0 && partyMember != 1) { + throw new RuntimeException(fieldLabel + "只能填写'0'或'1'"); + } + } + } diff --git a/ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiBaseStaffMapper.xml b/ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiBaseStaffMapper.xml index d2e28274..ebd31dc2 100644 --- a/ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiBaseStaffMapper.xml +++ b/ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiBaseStaffMapper.xml @@ -14,13 +14,14 @@ +