From 63491e9906c27e185ed66c5f97f782f4fef746cc Mon Sep 17 00:00:00 2001 From: Mlin Date: Tue, 1 Aug 2023 11:20:28 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=8B=96=E6=8B=BD=E8=BD=AC?= =?UTF-8?q?=E7=A7=BB=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../department/param/DepartmentDragParam.java | 16 +++++++++++ .../service/DepartmentService.java | 2 +- .../service/impl/DepartmentServiceImpl.java | 27 ++++++++++--------- .../web/DepartmentController.java | 4 +-- .../wrapper/DepartmentWrapper.java | 8 +++--- 5 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 src/com/engine/organization/entity/department/param/DepartmentDragParam.java diff --git a/src/com/engine/organization/entity/department/param/DepartmentDragParam.java b/src/com/engine/organization/entity/department/param/DepartmentDragParam.java new file mode 100644 index 00000000..b6b80fd3 --- /dev/null +++ b/src/com/engine/organization/entity/department/param/DepartmentDragParam.java @@ -0,0 +1,16 @@ +package com.engine.organization.entity.department.param; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class DepartmentDragParam { + private Integer dropPosition; + private String sourcekey; + private String targetkey; +} diff --git a/src/com/engine/organization/service/DepartmentService.java b/src/com/engine/organization/service/DepartmentService.java index f60f2c2a..3e3bf813 100644 --- a/src/com/engine/organization/service/DepartmentService.java +++ b/src/com/engine/organization/service/DepartmentService.java @@ -166,5 +166,5 @@ public interface DepartmentService { * @param params * @return */ - int dragDepartment(Map params); + int dragDepartment(DepartmentDragParam departmentDragParam); } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index a353edf3..436254fa 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -666,13 +666,13 @@ public class DepartmentServiceImpl extends Service implements DepartmentService } @Override - public int dragDepartment(Map params) { + public int dragDepartment(DepartmentDragParam departmentDragParam) { // OrganizationAssert.notNull(params.get("sourcekey"), "请选择一个拖拽源"); // OrganizationAssert.notNull(params.get("targetkey"), "请选择一个拖拽目的地"); - String sourceKey = Util.null2String(params.get("sourcekey"));// 原目标 - String targetKey = Util.null2String(params.get("targetkey"));// 目的地 - String dragPostion = Util.null2String(params.get("dragpostion"));// 0:目的里面 1:目的外边 + String sourceKey = Util.null2String(departmentDragParam.getSourcekey());// 原目标 + String targetKey = Util.null2String(departmentDragParam.getTargetkey());// 目的地 + String dragPostion = Util.null2String(departmentDragParam.getDropPosition());// 0:目的里面 1:目的外边 DepartmentPO deptById = getDepartmentMapper().getDeptById(Util.getIntValue(sourceKey.substring(1))); @@ -682,21 +682,24 @@ public class DepartmentServiceImpl extends Service implements DepartmentService String targetType = targetKey.substring(0, 1); String targetId = targetKey.substring(1); - String supId = null; - String querySupIdSql = null; + String supComId = ""; + String supId = ""; + String querySupIdSql; if ("s".equals(targetType)) {// 分部 - querySupIdSql = "select supsubcomid as supId from hrmsubcompany where id = ?"; - } else { - querySupIdSql = "select supdepid as supId from hrmdepartment where id = ?"; + querySupIdSql = "select companyId as supComId,supsubcomid as supId from hrmsubcompany where id = ?"; + + }else { + querySupIdSql = "select subcompanyid1 as supComId,supdepid as supId from hrmdepartment where id = ?"; } if ("1".equals(dragPostion)) { recordSet.executeQuery(querySupIdSql, targetId); if (recordSet.next()) { supId = Util.null2String(recordSet.getString("supId")); + supComId = Util.null2String(recordSet.getString("supComId")); } - OrganizationAssert.isFalse("0".equals(supId), "部门不能直接拖拽至集团下"); if ("s".equals(targetType)) { + OrganizationAssert.isFalse("0".equals(supId), "部门不能直接拖拽至集团下"); // 转移到分部外 deptById.setSubCompanyId1(Util.getIntValue(supId)); deptById.setSupDepId(null); @@ -708,9 +711,9 @@ public class DepartmentServiceImpl extends Service implements DepartmentService if (CollectionUtils.isNotEmpty(deptListByPId)) { addDisableIds(disableIds, deptListByPId); } - OrganizationAssert.isFalse(disableIds.contains(Util.getIntValue(targetId)), "请勿选择当前部门本身及其子部门"); +// OrganizationAssert.isFalse(disableIds.contains(Util.getIntValue(targetId)), "请勿选择当前部门本身及其子部门"); deptById.setSupDepId(Util.getIntValue(supId)); - DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(Util.getIntValue(supId)); + DepartmentPO parentDepartment = getDepartmentMapper().getDeptById(Util.getIntValue(supId)==0 ? Util.getIntValue(supComId) : Util.getIntValue(supId)); deptById.setSubCompanyId1(parentDepartment.getSubCompanyId1()); } diff --git a/src/com/engine/organization/web/DepartmentController.java b/src/com/engine/organization/web/DepartmentController.java index 99397e1f..3e2dad8c 100644 --- a/src/com/engine/organization/web/DepartmentController.java +++ b/src/com/engine/organization/web/DepartmentController.java @@ -335,11 +335,11 @@ public class DepartmentController { @POST @Path("/dragDepartment") @Produces(MediaType.APPLICATION_JSON) - public ReturnResult dragDepartment(@Context HttpServletRequest request, @Context HttpServletResponse response) { + public ReturnResult dragDepartment(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody DepartmentDragParam departmentDragParam) { try { User user = HrmUserVarify.getUser(request, response); Map params = ParamUtil.request2Map(request); - return ReturnResult.successed(getDepartmentWrapper(user).dragDepartment(params)); + return ReturnResult.successed(getDepartmentWrapper(user).dragDepartment(departmentDragParam)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } diff --git a/src/com/engine/organization/wrapper/DepartmentWrapper.java b/src/com/engine/organization/wrapper/DepartmentWrapper.java index 1f7441b5..742db88c 100644 --- a/src/com/engine/organization/wrapper/DepartmentWrapper.java +++ b/src/com/engine/organization/wrapper/DepartmentWrapper.java @@ -268,11 +268,11 @@ public class DepartmentWrapper extends OrganizationWrapper { * @return */ @Log(operateType = OperateTypeEnum.MOVE, operateDesc = "拖拽转移部门", operateModule = LogModuleNameEnum.DEPARTMENT) - public int dragDepartment(Map params) { - DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Util.getIntValue(Util.null2String(params.get("sourceKey")).substring(1))); - int moveDepartment = getDepartmentService(user).dragDepartment(params); + public int dragDepartment(DepartmentDragParam departmentDragParam) { + DepartmentPO departmentPO = getDepartmentMapper().getDeptById(Util.getIntValue(Util.null2String(departmentDragParam.getSourcekey()).substring(1))); + int moveDepartment = getDepartmentService(user).dragDepartment(departmentDragParam); writeOperateLog(new Object() { - }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(params), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId())); + }.getClass(), departmentPO.getDepartmentName(), JSON.toJSONString(departmentDragParam), departmentPO, getDepartmentMapper().getDeptById(departmentPO.getId())); return moveDepartment; } }