Merge remote-tracking branch 'origin/master'

liweidong
李涛 1 day ago
commit 4f115c5a62
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/excel/PostHandleExcel.java
  2. 48
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/excel/PostHandleImport.java
  3. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/request/PostHandleQuery.java
  4. 17
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/vo/PostHandleVO.java
  5. 10
      blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java
  6. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/controller/PostHandleController.java
  7. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/mapper/PostHandleMapper.xml
  8. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/IPostHandleService.java
  9. 54
      blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/impl/PostHandleServiceImpl.java
  10. BIN
      blade-service/blade-desk/src/main/resources/Excel/jobTransfer/岗位处理导入模板下载.xls
  11. 6
      blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java

@ -75,7 +75,7 @@ public class PostHandleExcel implements Serializable {
*/
@ColumnWidth(20)
@ExcelProperty("所属岗位")
private String station;
private String stationName;
/**
* 出生日期
*/

@ -26,107 +26,107 @@ public class PostHandleImport extends BaseEntity {
/**
* 性别
*/
@ExcelProperty(index = 1)
private String gender;
// @ExcelProperty(index = 1)
// private String gender;
/**
* 民族
*/
@ExcelProperty(index = 2)
@ExcelProperty(index = 1)
private String nation;
/**
* 年龄
*/
@ExcelProperty(index = 3)
private Short age;
// @ExcelProperty(index = 3)
// private Short age;
/**
* 身份证号码
*/
@ExcelProperty(index = 4)
@ExcelProperty(index = 2)
private String idCard;
/**
* 籍贯
*/
@ExcelProperty(index = 5)
@ExcelProperty(index = 3)
private String nativePlace;
/**
* 所属岗位
*/
@ExcelProperty(index = 6)
private String station;
// @ExcelProperty(index = 6)
// private String station;
/**
* 出生日期
*/
@ExcelProperty(index = 7)
@ExcelProperty(index = 4)
@DateTimeFormat("yyyy/MM/dd")
private Date dataBirth;
/**
* 政治面貌
*/
@ExcelProperty(index = 8)
@ExcelProperty(index = 5)
private String face;
/**
* 婚姻状态(0未婚1已婚)
*/
@ExcelProperty(index = 9)
@ExcelProperty(index = 6)
private String marriageName;
/**
* 毕业院校
*/
@ExcelProperty(index = 10)
@ExcelProperty(index = 7)
private String school;
/**
* 所学专业
*/
@ExcelProperty(index = 11)
@ExcelProperty(index = 8)
private String major;
/**
* 最高学历
*/
@ExcelProperty(index = 12)
@ExcelProperty(index = 9)
private String education;
/**
* 毕业时间
*/
@ExcelProperty(index = 13)
@ExcelProperty(index = 10)
@DateTimeFormat("yyyy/MM/dd")
private Date endDate;
/**
* 用工类型
*/
@ExcelProperty(index = 14)
@ExcelProperty(index = 11)
private String staffTypeName;
/**
* 参加工作时间
*/
@ExcelProperty(index = 15)
@ExcelProperty(index = 12)
@DateTimeFormat("yyyy/MM/dd")
private Date joinJobDate;
/**
* 技能等级
*/
@ExcelProperty(index = 16)
@ExcelProperty(index = 13)
private String skillName;
/**
* 任现职时间
*/
@ExcelProperty(index = 17)
@ExcelProperty(index = 14)
@DateTimeFormat("yyyy/MM/dd")
private Date inJobDate;
/**
* 合同到期
*/
@ExcelProperty(index = 18)
@ExcelProperty(index = 15)
@DateTimeFormat("yyyy/MM/dd")
private Date conExpDate;
/**
* 家庭住址
*/
@ExcelProperty(index = 19)
@ExcelProperty(index = 16)
private String address;
/**
* 手机号
*/
@ExcelProperty(index = 20)
private String mobile;
// @ExcelProperty(index = 17)
// private String mobile;
}

@ -17,6 +17,11 @@ public class PostHandleQuery {
*/
@Schema(description = "所属班组")
private Long deptId;
/**
* 用户id
*/
@Schema(description = "用户id")
private Long userId;
/**
* 工号
*/

@ -48,6 +48,9 @@ public class PostHandleVO extends PostHandleEntity {
//性别名
@Schema(description = "性别名")
private String genderName;
//岗位名称
@Schema(description = "岗位名称")
private String stationName;
//入职工作时长
// @Schema(description = "入职工作时长")
// private Short beInOfficeDuration;
@ -57,7 +60,19 @@ public class PostHandleVO extends PostHandleEntity {
// //合同到期时长
// @Schema(description = "合同到期时长")
// private Short contractDuration;
public Short getAge() {
if (null != this.getDataBirth()) {
// 将 Date 转换为 LocalDate
LocalDate birthDate = this.getDataBirth().toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDate();
LocalDate now = LocalDate.now();
Integer years = Period.between(birthDate, now).getYears();
return years.shortValue();
}
return null;
}
public String getPhStatusName() {
return PostHandleStatusEnum.getName(null != this.getPhStatus() ? this.getPhStatus().intValue() : null);
}

@ -61,6 +61,7 @@ public interface IUserClient {
String USER_BY_ACCOUNT = API_PREFIX + "/user-by-account";
String USER_AUTH_INFO = API_PREFIX + "/user-auth-info";
String SAVE_USER = API_PREFIX + "/save-user";
String UPDATE_USER = API_PREFIX + "/update-user";
String REGISTER_USER = API_PREFIX + "/register-user";
String REMOVE_USER = API_PREFIX + "/remove-user";
String USER_LIST = API_PREFIX + "/user-list";
@ -174,6 +175,15 @@ public interface IUserClient {
@PostMapping(SAVE_USER)
R<Boolean> saveUser(@RequestBody User user);
/**
* 更新用户
*
* @param userList 用户实体
* @return
*/
@PostMapping(UPDATE_USER)
R<Boolean> updateUser(@RequestBody List<User> userList);
/**
* 注册用户
*

@ -20,6 +20,8 @@ import org.springblade.desk.jobtransfer.pojo.excel.PostHandleExcel;
import org.springblade.desk.jobtransfer.pojo.excel.PostHandleImport;
import org.springblade.desk.jobtransfer.pojo.request.JobTransferSave;
import org.springblade.desk.jobtransfer.pojo.request.PostHandleQuery;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.beans.BeanUtils;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
@ -52,7 +54,8 @@ import org.springframework.web.multipart.MultipartFile;
public class PostHandleController extends BladeController {
private final IPostHandleService postHandleService;
@jakarta.annotation.Resource
private IUserClient userClient;
/**
* 岗位处理 详情
*/
@ -93,6 +96,10 @@ public class PostHandleController extends BladeController {
@Operation(summary = "新增", description = "传入postHandle")
@ApiLog("人员岗位 新增")
public R save(@Valid @RequestBody PostHandleEntity postHandle) {
User user = postHandleService.convertToUser(postHandle);
if (null != user) {
userClient.updateUser(List.of(user));
}
return R.status(postHandleService.save(postHandle));
}
@ -104,6 +111,10 @@ public class PostHandleController extends BladeController {
@Operation(summary = "修改", description = "传入postHandle")
@ApiLog("人员岗位 修改")
public R update(@Valid @RequestBody PostHandleEntity postHandle) {
User user = postHandleService.convertToUser(postHandle);
if (null != user) {
userClient.updateUser(List.of(user));
}
return R.status(postHandleService.updateById(postHandle));
}
@ -115,6 +126,10 @@ public class PostHandleController extends BladeController {
@Operation(summary = "新增或修改", description = "传入postHandle")
@ApiLog("人员岗位 新增或修改")
public R submit(@Valid @RequestBody PostHandleEntity postHandle) {
User user = postHandleService.convertToUser(postHandle);
if (null != user) {
userClient.updateUser(List.of(user));
}
return postHandleService.saveOrUpdateHandle(postHandle);
}

@ -79,6 +79,7 @@
<result column="MOBILE" property="mobile"/>
<!-- 映射 VO 扩展字段 -->
<result column="STATION_NAME" property="stationName"/>
<result column="USER_NAME" property="userName"/>
<result column="USER_CODE" property="userCode"/>
<result column="DEPT_NAME" property="deptName"/>
@ -102,10 +103,12 @@
mph.*, -- 主表所有字段
bu.REAL_NAME as USER_NAME, -- 用户姓名
bu.CODE as USER_CODE, -- 用户工号
bd.DEPT_NAME as DEPT_NAME -- 班组名称
bd.DEPT_NAME as DEPT_NAME, -- 班组名称
bp.POST_NAME as STATION_NAME -- 岗位名称
FROM MES_POST_HANDLE mph
LEFT JOIN BLADE_USER bu ON mph.USER_ID = bu.ID -- 关联用户表
LEFT JOIN BLADE_DEPT bd ON mph.DEPT_ID = bd.ID -- 关联部门表
LEFT JOIN BLADE_POST bp ON mph.STATION = bp.ID -- 关联岗位表
WHERE mph.IS_DELETED = 0
<if test="postHandle.userCode != null and postHandle.userCode != ''">
AND bu.CODE = #{postHandle.userCode}
@ -113,11 +116,14 @@
<if test="postHandle.deptId != null">
AND mph.DEPT_ID = #{postHandle.deptId}
</if>
<if test="postHandle.userId != null">
AND mph.USER_ID = #{postHandle.userId}
</if>
<if test="postHandle.name != null and postHandle.name != ''">
AND bu.REAL_NAME LIKE CONCAT('%', CONCAT(#{postHandle.name}, '%'))
</if>
<if test="postHandle.station != null and postHandle.station != ''">
AND mph.STATION LIKE CONCAT('%', CONCAT(#{postHandle.station}, '%'))
AND mph.STATION = #{postHandle.station}
</if>
<if test="postHandle.skill != null">
AND mph.SKILL = #{postHandle.skill}

@ -10,6 +10,7 @@ import org.springblade.desk.jobtransfer.pojo.request.PostHandleQuery;
import org.springblade.desk.jobtransfer.pojo.vo.PostHandleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.system.pojo.entity.User;
import java.util.List;
@ -99,4 +100,12 @@ public interface IPostHandleService extends BaseService<PostHandleEntity> {
* @return
*/
R depart(PostHandleEntity postHandleEntity);
/**
* 岗位转人员
*
* @param postHandle
* @return
*/
User convertToUser(PostHandleEntity postHandle);
}

@ -1,5 +1,6 @@
package org.springblade.desk.jobtransfer.service.impl;
import com.alibaba.csp.sentinel.util.StringUtil;
import jakarta.annotation.Resource;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.RelTeamSetUser;
@ -20,6 +21,8 @@ import org.springblade.desk.jobtransfer.service.ICultivateDetailService;
import org.springblade.desk.jobtransfer.service.IEquipmentMaintenanceService;
import org.springblade.desk.jobtransfer.service.IPostHandleService;
import org.springblade.system.cache.UserCache;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.system.pojo.entity.UserInfo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -45,6 +48,8 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
private IEquipmentMaintenanceService equipmentMaintenanceService;
private IRelTeamSetUserService relTeamSetUserService;
@Resource
private IUserClient userClient;
@Resource
public void setICultivateDetailService(ICultivateDetailService iCultivateDetailService) {
this.iCultivateDetailService = iCultivateDetailService;
}
@ -251,6 +256,13 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
if (!saved) {
return R.fail("操作失败");
}
//更新用户表中的手机号、岗位、部门、生日
List<User> userList = list.stream()
.filter(Objects::nonNull) // 过滤空对象
.map(this::convertToUser) // 转换实体
.filter(Objects::nonNull) // 过滤转换失败的对象
.collect(Collectors.toList());
userClient.updateUser(userList);
try {
createPlan(list); // 确保此方法中的异常能传播出来
} catch (Exception e) {
@ -260,6 +272,38 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
return R.status(saved);
}
/**
* PostHandleEntity 转换为 User
*/
@Override
public User convertToUser(PostHandleEntity postHandle) {
User user = new User();
if (null == postHandle.getUserId()) {
return null;
}
user.setId(postHandle.getUserId());
// 设置手机号
if (StringUtil.isNotBlank(postHandle.getMobile())) {
user.setPhone(postHandle.getMobile());
}
// 设置岗位
if (StringUtil.isNotBlank(postHandle.getStation())) {
// 这里可能需要根据岗位名称获取岗位ID
user.setPostId(postHandle.getStation());
}
// 设置部门
if (postHandle.getDeptId() != null) {
user.setDeptId(String.valueOf(postHandle.getDeptId()));
}
// 设置生日
if (postHandle.getDataBirth() != null) {
user.setBirthday(postHandle.getDataBirth());
}
return user;
}
@Override
public R jobTransfer(JobTransferSave jobTransferSave) {
if (!(PostHandleStatusEnum.JOB_TRANSFER_TRAINED.getCode().shortValue() == jobTransferSave.getPhStatus())) {
@ -317,11 +361,17 @@ public class PostHandleServiceImpl extends BaseServiceImpl<PostHandleMapper, Pos
entity.setName(userByCode.getUser().getRealName());
entity.setDeptId(Long.valueOf(userByCode.getUser().getDeptId()));
//技能等级
entity.setSkill(SkillEnum.of(excel.getSkillName()).getCode().shortValue());
if (-1 != SkillEnum.of(excel.getSkillName()).getCode().shortValue()) {
entity.setSkill(SkillEnum.of(excel.getSkillName()).getCode().shortValue());
}
//婚姻状态
entity.setMarriage(MarriageEnum.of(excel.getMarriageName()).getCode().toString());
//性别
entity.setGender(GenderEnum.of(excel.getGender()).getCode().toString());
entity.setGender(userByCode.getUser().getSex().toString());
//手机
entity.setMobile(userByCode.getUser().getPhone());
//岗位
entity.setStation(userByCode.getUser().getPostId());
// 如果是正式工状态为正常
if (entity.getStaffType() == StaffTypeEnum.FORMAL.getCode().shortValue()) {
entity.setPhStatus(PostHandleStatusEnum.NORMALITY.getCode().shortValue());

@ -150,6 +150,12 @@ public class UserClient implements IUserClient {
return R.data(service.submit(user));
}
@Override
@PostMapping(UPDATE_USER)
public R<Boolean> updateUser(@RequestBody List<User> userList) {
return R.data(service.saveOrUpdateBatch(userList));
}
@Override
@PostMapping(REGISTER_USER)
public R<String> registerUser(User user) {

Loading…
Cancel
Save