diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java index 3f7a2a59..ca2b9d43 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java @@ -81,6 +81,16 @@ public class PostHandleEntity extends BaseEntity { */ @Schema(description = "婚姻状态(0未婚,1已婚)") private String marriage; + /** + * 性别(0女,1男) + */ + @Schema(description = "性别(0女,1男)") + private String gender; + /** + * 手机号 + */ + @Schema(description = "手机号") + private String mobile; /** * 毕业院校 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java new file mode 100644 index 00000000..8102a07c --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java @@ -0,0 +1,57 @@ +package org.springblade.desk.jobTransfer.pojo.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.StringPool; + +import java.util.Arrays; + +/** + * 性别枚举 + * + * @author qyl + * @date 2026-01-14 + */ +@Getter +@AllArgsConstructor +public enum GenderEnum { + EMPTY(StringPool.EMPTY, ""), + + /** + * 状态枚举 + */ + MAN("男", "1"), + WOMAN("女", "0"), + ; + final String name; + final String code; + + /** + * 匹配枚举值 + * + * @param name 名称 + * @return + */ + public static GenderEnum of(String name) { + return Arrays.stream(GenderEnum.values()) + .filter(enumItem -> enumItem.getName().equalsIgnoreCase(name != null ? name : "")) + .findFirst() + // 在没有找到匹配项时返回默认值 + .orElse(GenderEnum.EMPTY); + } + + /** + * 根据值获取名称 + * + * @param code + * @return + */ + public static String getName(String code) { + GenderEnum item = Arrays.stream(GenderEnum.values()) + .filter(enumItem -> enumItem.getCode().equalsIgnoreCase(code)) + .findFirst() + .orElse(null); + return ObjectUtil.isEmpty(item) ? StringPool.EMPTY : item.getName(); + } +} diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java index 16e65d16..743df5a3 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java @@ -41,6 +41,12 @@ public class PostHandleExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("民族") private String nation; + /** + * 性别 + */ + @ColumnWidth(20) + @ExcelProperty("性别") + private String gender; /** * 年龄 */ @@ -155,6 +161,12 @@ public class PostHandleExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("转岗时间") private Date toNewJob; + /** + * 手机号 + */ + @ColumnWidth(20) + @ExcelProperty("手机号") + private String mobile; /** * 1实习-培训中,2转岗中,3正常,4下岗中,5离职,6培训合格,7培训不合格 */ diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java index f8234e17..77f668a1 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java @@ -27,10 +27,10 @@ public class PostHandleImport extends BaseEntity { @ExcelProperty(index = 0) private String code; /** - * 名称 + * 性别 */ @ExcelProperty(index = 1) - private String name; + private String gender; /** * 民族 */ @@ -127,4 +127,9 @@ public class PostHandleImport extends BaseEntity { */ @ExcelProperty(index = 19) private String address; + /** + * 手机号 + */ + @ExcelProperty(index = 20) + private String mobile; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java index ffc71e83..7aa66e25 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java @@ -7,6 +7,10 @@ import lombok.EqualsAndHashCode; import org.springblade.desk.jobTransfer.pojo.enums.*; import java.io.Serial; +import java.time.LocalDate; +import java.time.Period; +import java.time.ZoneId; +import java.util.Date; /** * 岗位处理 视图实体类 @@ -38,9 +42,21 @@ public class PostHandleVO extends PostHandleEntity { //技能等级名 @Schema(description = "技能等级名") private String skillName; - //技能等级名 + //婚姻名 @Schema(description = "婚姻名") private String marriageName; + //性别名 + @Schema(description = "性别名") + private String genderName; + //入职工作时长 +// @Schema(description = "入职工作时长") +// private Short beInOfficeDuration; +// //社会工作时长 +// @Schema(description = "社会工作时长") +// private Short socialWorkingDuration; +// //合同到期时长 +// @Schema(description = "合同到期时长") +// private Short contractDuration; public String getPhStatusName() { return PostHandleStatusEnum.getName(null != this.getPhStatus() ? this.getPhStatus().intValue() : null); @@ -57,4 +73,49 @@ public class PostHandleVO extends PostHandleEntity { public String getMarriageName() { return MarriageEnum.getName(null != this.getMarriage() ? this.getMarriage() : null); } + + public String getGenderName() { + return GenderEnum.getName(null != this.getGender() ? this.getGender() : null); + } + + public String getBeInOfficeDuration() { + if (null != this.getInJobDate()) { + return getCountYears(this.getInJobDate(), new Date()).toString(); + } + return ""; + } + + public String getSocialWorkingDuration() { + if (null != this.getJoinJobDate()) { + return getCountYears(this.getJoinJobDate(), new Date()).toString(); + } + return ""; + } + + public String getContractDuration() { + if (null != this.getConExpDate()) { + return getCountYears(new Date(), this.getConExpDate()).toString(); + } + return ""; + } + + private Short getCountYears(Date startTime, Date endTime) { + + LocalDate startDate = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + LocalDate endDate = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + + // 使用Period计算间隔 + Period period = Period.between(startDate, endDate); + int years = period.getYears(); + int months = period.getMonths(); + int days = period.getDays(); + + // 如果月数或天数大于0,则说明不满一年但已超出一个完整年份的周期,需要加1 + long workingYears = (months > 0 || days > 0) ? years + 1 : years; + + if (workingYears < Short.MIN_VALUE || workingYears > Short.MAX_VALUE) { + throw new ArithmeticException("工龄数值超出Short范围"); + } + return (short) workingYears; + } } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml index 0f99410e..fb44eea5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml @@ -82,6 +82,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml index 485ff45d..afab02e0 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml @@ -70,6 +70,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml index 8c5f3a33..2faca7a3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml @@ -36,6 +36,8 @@ + + @@ -73,6 +75,8 @@ + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java index 00b7141f..c9df38a1 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java @@ -317,6 +317,8 @@ public class PostHandleServiceImpl extends BaseServiceImpl