From b28bdc17c44fa3679fd3dd7cd699b6e8f907d50c Mon Sep 17 00:00:00 2001 From: qinyulong Date: Wed, 14 Jan 2026 16:02:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=B2=97=E4=BD=8D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=9A=E6=80=A7=E5=88=AB?= =?UTF-8?q?=EF=BC=8C=E6=89=8B=E6=9C=BA=E5=8F=B7+=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E5=85=A5=E8=81=8C=E5=B7=A5=E4=BD=9C=E6=97=B6=E9=95=BF=E3=80=81?= =?UTF-8?q?=E7=A4=BE=E4=BC=9A=E5=B7=A5=E4=BD=9C=E6=97=B6=E9=95=BF=E3=80=81?= =?UTF-8?q?=E5=90=88=E5=90=8C=E5=88=B0=E6=9C=9F=E6=97=B6=E9=95=BF+?= =?UTF-8?q?=E8=A1=A8=E7=BB=93=E6=9E=84=E5=8F=98=E6=9B=B4sql=E8=AF=AD?= =?UTF-8?q?=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/PostHandleEntity.java | 10 +++ .../jobTransfer/pojo/enums/GenderEnum.java | 57 +++++++++++++++++ .../pojo/excel/PostHandleExcel.java | 12 ++++ .../pojo/excel/PostHandleImport.java | 9 ++- .../jobTransfer/pojo/vo/PostHandleVO.java | 63 ++++++++++++++++++- .../mapper/CertificateMaintenanceMapper.xml | 2 + .../mapper/EquipmentMaintenanceMapper.xml | 2 + .../jobTransfer/mapper/PostHandleMapper.xml | 4 ++ .../service/impl/PostHandleServiceImpl.java | 2 + doc/sql/mes/increase-260113.sql | 9 +++ 10 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java 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