人员岗位管理加字段:性别,手机号+计算入职工作时长、社会工作时长、合同到期时长+表结构变更sql语句

develop-QA
qinyulong 3 months ago
parent ae684dc6e5
commit b28bdc17c4
  1. 10
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/entity/PostHandleEntity.java
  2. 57
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/enums/GenderEnum.java
  3. 12
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleExcel.java
  4. 9
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/excel/PostHandleImport.java
  5. 63
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobTransfer/pojo/vo/PostHandleVO.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/CertificateMaintenanceMapper.xml
  7. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/EquipmentMaintenanceMapper.xml
  8. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/mapper/PostHandleMapper.xml
  9. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobTransfer/service/impl/PostHandleServiceImpl.java
  10. 9
      doc/sql/mes/increase-260113.sql

@ -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;
/**
* 毕业院校
*/

@ -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();
}
}

@ -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培训不合格
*/

@ -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;
}

@ -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;
}
}

@ -82,6 +82,8 @@
<result column="ADDRESS" property="address"/>
<result column="TO_NEW_JOB" property="toNewJob"/>
<result column="PH_STATUS" property="phStatus"/>
<result column="GENDER" property="gender"/>
<result column="MOBILE" property="mobile"/>
<!-- 映射 VO 扩展字段 -->
<result column="USER_NAME" property="userName"/>

@ -70,6 +70,8 @@
<result column="ADDRESS" property="address"/>
<result column="TO_NEW_JOB" property="toNewJob"/>
<result column="PH_STATUS" property="phStatus"/>
<result column="GENDER" property="gender"/>
<result column="MOBILE" property="mobile"/>
<!-- 映射 VO 扩展字段 -->
<result column="USER_NAME" property="userName"/>

@ -36,6 +36,8 @@
<result column="ADDRESS" property="address"/>
<result column="TO_NEW_JOB" property="toNewJob"/>
<result column="PH_STATUS" property="phStatus"/>
<result column="GENDER" property="gender"/>
<result column="MOBILE" property="mobile"/>
</resultMap>
<!-- PostHandleVO 专用结果映射 -->
@ -73,6 +75,8 @@
<result column="ADDRESS" property="address"/>
<result column="TO_NEW_JOB" property="toNewJob"/>
<result column="PH_STATUS" property="phStatus"/>
<result column="GENDER" property="gender"/>
<result column="MOBILE" property="mobile"/>
<!-- 映射 VO 扩展字段 -->
<result column="USER_NAME" property="userName"/>

@ -317,6 +317,8 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
entity.setSkill(SkillEnum.of(excel.getSkillName()).getCode().shortValue());
//婚姻状态
entity.setMarriage(MarriageEnum.of(excel.getMarriageName()).getCode().toString());
//性别
entity.setGender(GenderEnum.of(excel.getGender()).getCode().toString());
// 如果是正式工状态为正常
if (entity.getStaffType() == StaffTypeEnum.FORMAL.getCode().shortValue()) {
entity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue());

@ -81,3 +81,12 @@ INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK,
VALUES ('2010962574047588354', '2010962442006704130', 'skill_level', '2', '高级', '2', '高级', '0', '1', '0');
INSERT INTO BLADE_DICT (ID, PARENT_ID, CODE, DICT_KEY, DICT_VALUE, SORT, REMARK, IS_SEALED, STATUS, IS_DELETED)
VALUES ('2010962612769402882', '2010962442006704130', 'skill_level', '3', '技师', '3', '技师', '0', '1', '0');
ALTER TABLE MES_POST_HANDLE
ADD (GENDER CHAR(1))
ADD (MOBILE NVARCHAR2(32));
COMMENT
ON COLUMN MES_POST_HANDLE.GENDER IS '性别(0女,1男)';
COMMENT
ON COLUMN MES_POST_HANDLE.MOBILE IS '手机号';
Loading…
Cancel
Save