From 9b3f41df4d7e8163bbcf49dec777e5e19dea0315 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Wed, 29 May 2024 18:02:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=90=88=E5=B9=B6=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=AE=B0=E5=BD=95=20=E4=BA=BA=E5=91=98=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E8=AE=B0=E5=BD=95=E5=8E=86=E5=8F=B2=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/HrmStatusHistoryParam.java | 41 +++++++++++++++ .../util/HrmStatusHistoryUtil.java | 52 +++++++++++++++++++ .../wrapper/DepartmentWrapper.java | 4 +- 3 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 src/com/engine/organization/entity/hrmresource/param/HrmStatusHistoryParam.java create mode 100644 src/com/engine/organization/util/HrmStatusHistoryUtil.java diff --git a/src/com/engine/organization/entity/hrmresource/param/HrmStatusHistoryParam.java b/src/com/engine/organization/entity/hrmresource/param/HrmStatusHistoryParam.java new file mode 100644 index 00000000..2c42b1ae --- /dev/null +++ b/src/com/engine/organization/entity/hrmresource/param/HrmStatusHistoryParam.java @@ -0,0 +1,41 @@ +package com.engine.organization.entity.hrmresource.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Author liang.cheng + * @Date 2024/5/29 2:54 PM + * @Description: TODO + * @Version 1.0 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class HrmStatusHistoryParam { + + private Long resourceId; + + private String changeDate; + + private String changeReason; + + private Integer oldJobtitleId; + + private Integer newjobtitleId; + + private Integer typeN; + + private Integer oldDepartmentId; + + private Integer newDepartmentId; + + private Integer oldSubcompanyId; + + private Integer newSubcompanyId; + + +} diff --git a/src/com/engine/organization/util/HrmStatusHistoryUtil.java b/src/com/engine/organization/util/HrmStatusHistoryUtil.java new file mode 100644 index 00000000..8569fc29 --- /dev/null +++ b/src/com/engine/organization/util/HrmStatusHistoryUtil.java @@ -0,0 +1,52 @@ +package com.engine.organization.util; + +import com.engine.organization.entity.hrmresource.param.HrmStatusHistoryParam; +import com.engine.organization.entity.hrmresource.po.ResourceChartPO; +import weaver.conn.RecordSet; +import weaver.hrm.company.DepartmentComInfo; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author liang.cheng + * @Date 2024/5/29 2:50 PM + * @Description: 人员工作记录 + * @Version 1.0 + */ +public class HrmStatusHistoryUtil { + + /** + * @param resourceChartPOList 调整前人员信息 + * @param departmentID 调整后部门 + */ + public static void personWorkRecord(List resourceChartPOList,Integer departmentID,String changeReason){ + + RecordSet rs = new RecordSet(); + + DepartmentComInfo comInfo = new DepartmentComInfo(); + String subcompanyid1 = comInfo.getSubcompanyid1(String.valueOf(departmentID)); + Integer newSub = "".equals(subcompanyid1) ? null : Integer.valueOf(subcompanyid1); + + List historyParamList = new ArrayList<>(); + resourceChartPOList.forEach(item -> historyParamList.add(HrmStatusHistoryParam.builder() + .resourceId(item.getId()) + .changeDate(OrganizationDateUtil.getFormatLocalDate(LocalDate.now())) + .changeReason(changeReason) + .oldJobtitleId(item.getJobTitle()) + .newjobtitleId(item.getJobTitle()) + .typeN(4) + .oldDepartmentId(item.getDepartmentId()) + .newDepartmentId(departmentID) + .oldSubcompanyId(item.getSubcompanyid1()) + .newSubcompanyId(newSub) + .build())); + + historyParamList.forEach(item -> { + rs.executeUpdate("insert into hrmstatushistory(resourceid,changedate,changereason,oldjobtitleid,newjobtitleid,type_n,olddepartmentid,newdepartmentid,oldsubcompanyid,newsubcompanyid) " + + " values(?,?,?,?,?,?,?,?,?,?)",item.getResourceId(),item.getChangeDate(),item.getChangeReason(),item.getOldJobtitleId(),item.getNewjobtitleId(),item.getTypeN(), + item.getOldDepartmentId(),item.getNewDepartmentId(),item.getOldSubcompanyId(),item.getNewSubcompanyId()); + }); + } +} diff --git a/src/com/engine/organization/wrapper/DepartmentWrapper.java b/src/com/engine/organization/wrapper/DepartmentWrapper.java index e822102b..1deaad06 100644 --- a/src/com/engine/organization/wrapper/DepartmentWrapper.java +++ b/src/com/engine/organization/wrapper/DepartmentWrapper.java @@ -244,10 +244,10 @@ public class DepartmentWrapper extends OrganizationWrapper { public int mergeDepartment(DepartmentMergeParam mergeParam) { DepartmentPO departmentPO = getDepartmentMapper().getDeptById(mergeParam.getId()); //被合并的部门人员工作记录表记录调动 - List resourceChartPOList = getHrmResourceMapper().selectByDepartmentId(mergeParam.getDepartment()); + List resourceChartPOList = getHrmResourceMapper().selectByDepartmentId(mergeParam.getId()); int mergeDepartment = getDepartmentService(user).mergeDepartment(mergeParam); if (CollectionUtil.isNotEmpty(resourceChartPOList)) { - HrmStatusHistoryUtil.personWorkRecord(resourceChartPOList,mergeParam.getId(),"合并部门"); + HrmStatusHistoryUtil.personWorkRecord(resourceChartPOList,mergeParam.getDepartment(),"合并部门"); } writeOperateLog(new Object() { }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(mergeParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId()));