From cd6121f0b0a2f97e4829cc227f2df276c33ac943 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 23 May 2022 19:16:31 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A1=A8=E5=8D=95=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/DepartmentService.java | 18 +++++- .../service/impl/DepartmentServiceImpl.java | 63 +++++++++++++++++-- .../web/DepartmentController.java | 21 +++++++ .../wrapper/DepartmentWrapper.java | 9 +++ 4 files changed, 106 insertions(+), 5 deletions(-) diff --git a/src/com/engine/organization/service/DepartmentService.java b/src/com/engine/organization/service/DepartmentService.java index 13cc9d5a..79ae4d39 100644 --- a/src/com/engine/organization/service/DepartmentService.java +++ b/src/com/engine/organization/service/DepartmentService.java @@ -30,7 +30,23 @@ public interface DepartmentService { * @param param * @return */ - public Map listPage(DeptSearchParam param); + Map listPage(DeptSearchParam param); + + /** + * 保存部门基础信息 + * + * @param params + * @return + */ + int saveBaseComp(DeptSearchParam params); + + + /** + * 获取新增表单 + * + * @return + */ + Map getSaveForm(); } diff --git a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java index c53cc3fc..e3e8756e 100644 --- a/src/com/engine/organization/service/impl/DepartmentServiceImpl.java +++ b/src/com/engine/organization/service/impl/DepartmentServiceImpl.java @@ -1,5 +1,7 @@ package com.engine.organization.service.impl; +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; @@ -12,6 +14,7 @@ import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.department.vo.SingleDeptTreeVO; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.service.DepartmentService; +import com.engine.organization.util.OrganizationFormItemUtil; import com.engine.organization.util.db.MapperProxyFactory; import com.engine.organization.util.page.Column; import com.engine.organization.util.page.PageInfo; @@ -19,7 +22,8 @@ import com.engine.organization.util.page.PageUtil; import org.apache.commons.collections4.CollectionUtils; import weaver.general.StringUtil; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * @Author weaver_cl @@ -29,6 +33,9 @@ import java.util.List; **/ public class DepartmentServiceImpl extends Service implements DepartmentService { + private DepartmentMapper getDepartmentMapper() { + return MapperProxyFactory.getProxy(DepartmentMapper.class); + } @Override public PageInfo getDeptListByPid(QuerySingleDeptListParam param) { @@ -38,7 +45,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List departmentPOS = MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptListByCompId(param.getParentComp()); PageInfo pageInfo = new PageInfo<>(departmentPOS); List singleDeptTreeVOS = DepartmentBO.buildSingleDeptTreeVOS(departmentPOS); - PageInfo pageInfos = new PageInfo<>(singleDeptTreeVOS,SingleDeptTreeVO.class); + PageInfo pageInfos = new PageInfo<>(singleDeptTreeVOS, SingleDeptTreeVO.class); pageInfos.setTotal(pageInfo.getTotal()); pageInfos.setPageNum(param.getCurrent()); pageInfos.setPageSize(param.getPageSize()); @@ -51,10 +58,11 @@ public class DepartmentServiceImpl extends Service implements DepartmentService Map datas = new HashMap<>(); PageUtil.start(param.getCurrent(), param.getPageSize()); List parentList = getDepartmentMapper().listParent(); + PageInfo pageInfo = new PageInfo<>(parentList); List list = new ArrayList<>(); list.addAll(parentList); - if(CollectionUtils.isNotEmpty(parentList)) { + if (CollectionUtils.isNotEmpty(parentList)) { // 递归查询子数据 getChildPOs(parentList, list); } @@ -64,7 +72,7 @@ public class DepartmentServiceImpl extends Service implements DepartmentService List departmentListDTOS = DepartmentBO.buildDeptDTOList(list, filterList); PageInfo pageInfos = new PageInfo<>(departmentListDTOS, DepartmentListDTO.class); - pageInfos.setTotal(pageInfos.getTotal()); + pageInfos.setTotal(pageInfo.getTotal()); pageInfos.setPageNum(param.getCurrent()); pageInfos.setPageSize(param.getPageSize()); @@ -85,6 +93,53 @@ public class DepartmentServiceImpl extends Service implements DepartmentService return datas; } + @Override + public int saveBaseComp(DeptSearchParam params) { + return 0; + } + + @Override + public Map getSaveForm() { + Map apiDatas = new HashMap<>(); + List addGroups = new ArrayList<>(); + List conditionItems = new ArrayList<>(); + // 编号 + SearchConditionItem deptNoItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "编号", "deptNo"); + deptNoItem.setRules("required|string"); + // 名称 + SearchConditionItem deptNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "名称", "deptName"); + deptNameItem.setRules("required|string"); + // 简称 + SearchConditionItem deptNameShortItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "简称", "deptNameShort"); + deptNameShortItem.setRules("required|string"); + // TODO 自定义按钮 + // 所属分部 + SearchConditionItem compBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "所属分部", "161", "parentComp", "compBrowser"); + //上级部门 + SearchConditionItem deptBrowserItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "上级公司", "161", "parentDept", "deptBrowser"); + // 部门负责人 + SearchConditionItem deptPrincipalItem = OrganizationFormItemUtil.browserItem(user, 2, 16, 2, false, "部门负责人", "1", "deptPrincipal", ""); + // 显示顺序 + SearchConditionItem showOrderItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 3, 50, "编号", "showOrder"); + // 说明 + SearchConditionItem descriptionItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 2, 60, "说明", "description"); + + conditionItems.add(deptNoItem); + conditionItems.add(deptNameItem); + conditionItems.add(deptNameShortItem); + conditionItems.add(compBrowserItem); + conditionItems.add(deptBrowserItem); + conditionItems.add(deptPrincipalItem); + conditionItems.add(showOrderItem); + conditionItems.add(descriptionItem); + + + addGroups.add(new SearchConditionGroup("基本信息", true, conditionItems)); + apiDatas.put("condition", addGroups); + + return apiDatas; + } + /** * 通过搜索条件过滤list数据 * diff --git a/src/com/engine/organization/web/DepartmentController.java b/src/com/engine/organization/web/DepartmentController.java index 3edd5bc3..e191dc0d 100644 --- a/src/com/engine/organization/web/DepartmentController.java +++ b/src/com/engine/organization/web/DepartmentController.java @@ -11,6 +11,7 @@ import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; @@ -62,4 +63,24 @@ public class DepartmentController { } } + /** + * 新增保存表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getSaveForm") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSaveForm(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getDepartmentWrapper(user).getSaveForm()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + } diff --git a/src/com/engine/organization/wrapper/DepartmentWrapper.java b/src/com/engine/organization/wrapper/DepartmentWrapper.java index 5167cbd1..8e90b9fc 100644 --- a/src/com/engine/organization/wrapper/DepartmentWrapper.java +++ b/src/com/engine/organization/wrapper/DepartmentWrapper.java @@ -39,4 +39,13 @@ public class DepartmentWrapper extends Service { public Map listPage(DeptSearchParam param) { return getDepartmentService(user).listPage(param); } + + /** + * 获取保存表单 + * + * @return + */ + public Map getSaveForm() { + return getDepartmentService(user).getSaveForm(); + } }