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 6fbab914..66f80a47 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 @@ -75,7 +75,7 @@ public class PostHandleExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("所属岗位") - private String station; + private String stationName; /** * 出生日期 */ 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 9bd1df00..af88f55c 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 @@ -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; } diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/request/PostHandleQuery.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/request/PostHandleQuery.java index 3ec123ff..9589d1ec 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/request/PostHandleQuery.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/jobtransfer/pojo/request/PostHandleQuery.java @@ -17,6 +17,11 @@ public class PostHandleQuery { */ @Schema(description = "所属班组") private Long deptId; + /** + * 用户id + */ + @Schema(description = "用户id") + private Long userId; /** * 工号 */ 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 c5d4c6e5..b3505e13 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 @@ -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); } diff --git a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java index 5daa809d..069cae90 100644 --- a/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java +++ b/blade-service-api/blade-user-api/src/main/java/org/springblade/system/feign/IUserClient.java @@ -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 saveUser(@RequestBody User user); + /** + * 更新用户 + * + * @param userList 用户实体 + * @return + */ + @PostMapping(UPDATE_USER) + R updateUser(@RequestBody List userList); + /** * 注册用户 * diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/controller/PostHandleController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/controller/PostHandleController.java index c6bc6b3b..1742d211 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/controller/PostHandleController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/controller/PostHandleController.java @@ -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); } 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 cfb61c34..de6ec58d 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 @@ -79,6 +79,7 @@ + @@ -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 AND bu.CODE = #{postHandle.userCode} @@ -113,11 +116,14 @@ AND mph.DEPT_ID = #{postHandle.deptId} + + AND mph.USER_ID = #{postHandle.userId} + AND bu.REAL_NAME LIKE CONCAT('%', CONCAT(#{postHandle.name}, '%')) - AND mph.STATION LIKE CONCAT('%', CONCAT(#{postHandle.station}, '%')) + AND mph.STATION = #{postHandle.station} AND mph.SKILL = #{postHandle.skill} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/IPostHandleService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/IPostHandleService.java index 6319b862..0d266f47 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/IPostHandleService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/jobtransfer/service/IPostHandleService.java @@ -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 { * @return */ R depart(PostHandleEntity postHandleEntity); + + /** + * 岗位转人员 + * + * @param postHandle + * @return + */ + User convertToUser(PostHandleEntity postHandle); } 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 334b098f..7d7ac0b3 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 @@ -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 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 updateUser(@RequestBody List userList) { + return R.data(service.saveOrUpdateBatch(userList)); + } + @Override @PostMapping(REGISTER_USER) public R registerUser(User user) {