From 7fd317edcb54ecbd588141a906ad4627df22cf89 Mon Sep 17 00:00:00 2001 From: qinyulong Date: Thu, 16 Apr 2026 18:54:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=8F=96=E6=B6=88[=E6=80=A7?= =?UTF-8?q?=E5=88=AB=E3=80=81=E5=B9=B4=E9=BE=84=E3=80=81=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E3=80=81=E6=89=8B=E6=9C=BA=E5=8F=B7]=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=EF=BC=8C=E5=BA=94=E4=BB=8E=E7=94=A8=E6=88=B7=E8=A1=A8=E4=B8=AD?= =?UTF-8?q?=E5=B8=A6=E5=87=BA;=20=E5=88=97=E8=A1=A8=E4=B8=AD=E5=B9=B4?= =?UTF-8?q?=E9=BE=84=E5=BA=94=E7=94=B1=E5=87=BA=E7=94=9F=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=BE=97=E5=87=BA;=20=E6=9F=A5=E8=AF=A2:?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E6=97=A0=E5=8F=8D=E5=BA=94=EF=BC=8C=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E6=89=80=E5=B1=9E=E7=8F=AD=E7=BB=84=EF=BC=8C=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=E6=94=B9=E4=B8=BA=E4=B8=8B=E6=8B=89=E6=A1=86;=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91=E5=90=8E=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=94=A8=E6=88=B7=E8=A1=A8=E4=B8=AD=E7=9A=84=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E5=8F=B7=E3=80=81=E5=B2=97=E4=BD=8D=E3=80=81=E7=94=9F?= =?UTF-8?q?=E6=97=A5=E3=80=81=E9=83=A8=E9=97=A8(=E6=89=80=E5=B1=9E?= =?UTF-8?q?=E7=8F=AD=E7=BB=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/excel/PostHandleExcel.java | 2 +- .../pojo/excel/PostHandleImport.java | 48 ++++++++-------- .../pojo/request/PostHandleQuery.java | 5 ++ .../jobtransfer/pojo/vo/PostHandleVO.java | 17 +++++- .../springblade/system/feign/IUserClient.java | 10 ++++ .../controller/PostHandleController.java | 17 +++++- .../jobtransfer/mapper/PostHandleMapper.xml | 10 +++- .../service/IPostHandleService.java | 9 +++ .../service/impl/PostHandleServiceImpl.java | 54 +++++++++++++++++- .../岗位处理导入模板下载.xls | Bin 21504 -> 21504 bytes .../springblade/system/feign/UserClient.java | 6 ++ 11 files changed, 147 insertions(+), 31 deletions(-) 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 BaseServiceImplF|9LK-E-I;O6*`3+VVl^Rz$fPt=L=#urtQIYHx6+fM2~i%h4iyoU?ndNA zGU1&Q>7o=wupJ`8{vNF^K^-I{=n~YSOAu_+@6EWgyV?x%-h6)F-}}Db`^{vRD7!?D zClqb%RD1W`cjA&V?aTJ&{wTegj;Ei$zg<}+zc`uh%4LmvM5@>kit?B$j5Vr{W`+mS zE!c`D0PM^h@q}qrOogIS?Z5tFN~)_I)#0g+%GE|9wBxyNeeIWWbrof*X>M><5OkbL z?%T6bB?OAj7dNYVQJvqY0+q#@-)~l9MfLAywWp}=vt-}6Cp?bI_uN%0zn5CYm9Ft! zlN8~D%f|5>T)MmtbIE{9gdUs5EDPh7-nPL1Iw8qp|jCtHKE^RgHAK}8X7k`24-nS)M9h6@jn zU`jX)Zmc1;r)m!*5LM~d$j}h5XIzd*5T_6~Lc=n3;?{qxs*n&DQq^&pXWR0}S*GUy zX6n3Q)KAUlfcimTaf51TC`Cmv(n1SLRcKM+RDlo@;6gkYLj1wDMuP{U zQQpCmO1wy7Vl?$=Q11pc9=wpoiwAG&#l!^bH@mR?<4yXe-+VLQn>V|gTNSxg@p4wR zefn}RcJ+?DtS%}eefhs?ug#e|>PKipSme!AS3c)@Bt${(@`SLbw)dujB9<-=4;`W) zy(Xe!_P&6l#e&RuLd>4I{x-wx2BJQBuBC%Q{Q!<7$?uuGI5-EgLDZ|7zLp65HnGxnU;Q$N7JL-n-co_-I0ZL1e*1})#PfTbsrO5NhQ$@ck_+LxDv8+S_~^sYT8SIJJEVU{)~iVN3>-*YM0j{d6|xC+L3mmG!mb|uTy?L`psoq z=q8$v=SR;t#FUj{z8Jb9x&dJuY^4m_$xbVcaYPN?ft>Pu4|!;!p~P#XRn&XQOYfTE z^2gcctdDY`n5pC^KPpQ&fH$aI8M6|*UA;ILOVMN`)-q3}3(qMH6TlJM#=2GudX z8)9;Jz?UuOHu2d6^NA$WCgOA$OcXB)!^)Oinv># zESv+WR+DrB@oyE@X4U z*2H@6_%Diw?D*F?{b3QjZ?vWW0BQOgKEt&ByN;6qu0 lJxdr(BzBbWkx0mRD%fn4SolilM$tVN^A#sjAD*65{{wrg?;-#I diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java b/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java index 7de6c608..1eb1bcfd 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/feign/UserClient.java @@ -150,6 +150,12 @@ public class UserClient implements IUserClient { return R.data(service.submit(user)); } + @Override + @PostMapping(UPDATE_USER) + public R updateUser(@RequestBody List userList) { + return R.data(service.saveOrUpdateBatch(userList)); + } + @Override @PostMapping(REGISTER_USER) public R registerUser(User user) {