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