From c8bf7c1633e17552767e4c972b4ece783cf0e765 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 16 May 2022 11:33:19 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E5=9B=A2=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../organization/web/CompanyController.java | 15 +++ .../organization/service/CompanyService.java | 31 ++++++ .../service/impl/CompanyServiceImpl.java | 97 +++++++++++++++++++ .../service/impl/PostInfoServiceImpl.java | 9 +- .../service/impl/PostServiceImpl.java | 2 +- .../organization/web/CompanyController.java | 80 +++++++++++++++ .../organization/wrapper/CompanyWrapper.java | 50 ++++++++++ 7 files changed, 279 insertions(+), 5 deletions(-) create mode 100644 src/com/api/organization/web/CompanyController.java create mode 100644 src/com/engine/organization/service/CompanyService.java create mode 100644 src/com/engine/organization/service/impl/CompanyServiceImpl.java create mode 100644 src/com/engine/organization/web/CompanyController.java create mode 100644 src/com/engine/organization/wrapper/CompanyWrapper.java diff --git a/src/com/api/organization/web/CompanyController.java b/src/com/api/organization/web/CompanyController.java new file mode 100644 index 00000000..53cd39cf --- /dev/null +++ b/src/com/api/organization/web/CompanyController.java @@ -0,0 +1,15 @@ +package com.api.organization.web; + +import javax.ws.rs.Path; + +/** + * + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +@Path("/bs/hrmorganization/company") +public class CompanyController extends com.engine.organization.web.CompanyController { + +} diff --git a/src/com/engine/organization/service/CompanyService.java b/src/com/engine/organization/service/CompanyService.java new file mode 100644 index 00000000..3c4761d8 --- /dev/null +++ b/src/com/engine/organization/service/CompanyService.java @@ -0,0 +1,31 @@ +package com.engine.organization.service; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public interface CompanyService { + /** + * 新增、编辑表单 + * + * @param params + * @return + */ + Map getCompanyFormField(Map params); + + /** + * 获取列表页面按钮信息 + * @return + */ + Map getHasRight(); + + /** + * 获取列表tabs + * @return + */ + Map getTabInfo(); +} diff --git a/src/com/engine/organization/service/impl/CompanyServiceImpl.java b/src/com/engine/organization/service/impl/CompanyServiceImpl.java new file mode 100644 index 00000000..24ee0e34 --- /dev/null +++ b/src/com/engine/organization/service/impl/CompanyServiceImpl.java @@ -0,0 +1,97 @@ +package com.engine.organization.service.impl; + +import com.api.browser.bean.SearchConditionGroup; +import com.api.browser.bean.SearchConditionItem; +import com.engine.core.impl.Service; +import com.engine.organization.entity.TopTab; +import com.engine.organization.service.CompanyService; +import com.engine.organization.util.MenuBtn; +import com.engine.organization.util.OrganizationFormItemUtil; +import weaver.conn.RecordSet; +import weaver.general.StringUtil; +import weaver.general.Util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompanyServiceImpl extends Service implements CompanyService { + @Override + public Map getCompanyFormField(Map params) { + Map apiDatas = new HashMap<>(); + List selectItems = new ArrayList<>(); + List addGroups = new ArrayList<>(); + SearchConditionItem companyNameItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 1, 50, "总部名称", "companyname"); + SearchConditionItem companyDescItem = OrganizationFormItemUtil.inputItem(user, 2, 16, 1, 50, "总部全称", "companydesc"); + companyDescItem.setRules("required|string"); + SearchConditionItem companyWebItem = OrganizationFormItemUtil.textareaItem(user, 2, 16, true, 1, 60, "公司网站", "companyweb"); + + // 赋值 + String id = Util.null2String(params.get("id")); + if (!StringUtil.isEmpty(id)) { + RecordSet rs = new RecordSet(); + + String sql = "select * from HrmCompany where id in(" + id + ")"; + rs.executeQuery(sql); + rs.executeQuery(sql); + int colcount = rs.getColCounts(); + while (rs.next()) { + Map row = new HashMap(); + for (int i = 1; i <= colcount; i++) { + row.put(rs.getColumnName(i).toLowerCase(), Util.null2String(rs.getString(i))); + } + // 赋值 + companyNameItem.setValue(row.get("companyname")); + companyDescItem.setValue(row.get("companydesc")); + companyWebItem.setValue(row.get("companyweb")); + } + } + + + // 设置编辑属性 + if (!StringUtil.isEmpty(Util.null2String(params.get("viewattr")))) { + int viewAttr = Integer.parseInt(params.get("viewattr").toString()); + companyNameItem.setViewAttr(viewAttr); + companyDescItem.setViewAttr(viewAttr); + companyWebItem.setViewAttr(viewAttr); + } + + selectItems.add(companyNameItem); + selectItems.add(companyDescItem); + selectItems.add(companyWebItem); + addGroups.add(new SearchConditionGroup("基本信息", true, selectItems)); + apiDatas.put("condition", addGroups); + return apiDatas; + } + + @Override + public Map getHasRight() { + Map btnDatas = new HashMap<>(); + ArrayList topMenuList = new ArrayList<>(); + ArrayList rightMenuList = new ArrayList<>(); + // 编辑 + topMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName("编辑").type("BTN_EDIT").build()); + btnDatas.put("topMenu", topMenuList); + // 编辑 + rightMenuList.add(MenuBtn.builder().isTop("1").menuFun("doEdit").menuIcon("icon-coms-edit").menuName("编辑").type("BTN_EDIT").build()); + btnDatas.put("rightMenu", rightMenuList); + return btnDatas; + } + + @Override + public Map getTabInfo() { + Map apiDatas = new HashMap<>(); + List topTabs = new ArrayList<>(); + topTabs.add(TopTab.builder().title("总部信息").viewCondition("1").build()); + apiDatas.put("topTabs", topTabs); + + return apiDatas; + } +} diff --git a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java index 3b33daa2..727b7c8f 100644 --- a/src/com/engine/organization/service/impl/PostInfoServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostInfoServiceImpl.java @@ -104,13 +104,14 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { SearchConditionItem nameItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "名称", "postInfoName"); nameItem.setRules("required|string"); // 权限 - SearchConditionItem authorityItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "权限", "postInfoAuthority"); + SearchConditionItem authorityItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 2, 50, "权限", "postInfoAuthority"); // 责任 - SearchConditionItem dutyItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "责任", "postInfoDuty"); + SearchConditionItem dutyItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 2, 50, "责任", "postInfoDuty"); // 资格 - SearchConditionItem qualificationItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 3, 50, "资格", "postInfoQualification"); + SearchConditionItem qualificationItem = OrganizationFormItemUtil.inputItem(user, 2, 17, 2, 50, "资格", "postInfoQualification"); // 职务分类 SearchConditionItem postIdBrowser = OrganizationFormItemUtil.browserItem(user, 2, 17, 3, false, "职务分类", "161", "postId", "postBrowser"); + postIdBrowser.setRules("required|string"); // 说明 SearchConditionItem descriptionItem = OrganizationFormItemUtil.textareaItem(user, 2, 17, true, 2, 60, "描述说明", "description"); @@ -168,7 +169,7 @@ public class PostInfoServiceImpl extends Service implements PostInfoService { sqlWhere += " AND t.post_info_name " + dbType.like(sequenceName); } String postId = (String) params.get("postId"); - if (StringUtils.isNotBlank(postId)) { + if (StringUtils.isNotBlank(postId) && !"-1".equals(postId)) { sqlWhere += " AND t.post_id ='" + postId + "'"; } return sqlWhere; diff --git a/src/com/engine/organization/service/impl/PostServiceImpl.java b/src/com/engine/organization/service/impl/PostServiceImpl.java index f2c627d7..ed1fe268 100644 --- a/src/com/engine/organization/service/impl/PostServiceImpl.java +++ b/src/com/engine/organization/service/impl/PostServiceImpl.java @@ -80,6 +80,6 @@ public class PostServiceImpl extends Service implements PostService { @Override public TreeData getTreeData() { ArrayList treeDataList = getPostMapper().getTreeData(); - return TreeData.builder().children(treeDataList).title("全部类型").key("").build(); + return TreeData.builder().children(treeDataList).title("全部类型").key("-1").build(); } } diff --git a/src/com/engine/organization/web/CompanyController.java b/src/com/engine/organization/web/CompanyController.java new file mode 100644 index 00000000..213d406a --- /dev/null +++ b/src/com/engine/organization/web/CompanyController.java @@ -0,0 +1,80 @@ +package com.engine.organization.web; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.organization.util.response.ReturnResult; +import com.engine.organization.wrapper.CompanyWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompanyController { + public CompanyWrapper getCompanyWrapper(User user) { + return ServiceUtil.getService(CompanyWrapper.class, user); + } + + /** + * 新增、编辑表单 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getCompanyFormField") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getCompanyFormField(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(getCompanyWrapper(user).getCompanyFormField(map)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + /** + * 列表页顶部按钮 + * + * @param request + * @param response + * @return + */ + @GET + @Path("/getHasRight") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getHasRight(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getCompanyWrapper(user).getHasRight()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } + + @GET + @Path("/getTabInfo") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTabInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + return ReturnResult.successed(getCompanyWrapper(user).getTabInfo()); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e.getMessage()); + } + } +} diff --git a/src/com/engine/organization/wrapper/CompanyWrapper.java b/src/com/engine/organization/wrapper/CompanyWrapper.java new file mode 100644 index 00000000..b8310aab --- /dev/null +++ b/src/com/engine/organization/wrapper/CompanyWrapper.java @@ -0,0 +1,50 @@ +package com.engine.organization.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.organization.service.CompanyService; +import com.engine.organization.service.impl.CompanyServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @description: TODO + * @author:dxfeng + * @createTime: 2022/05/16 + * @version: 1.0 + */ +public class CompanyWrapper extends Service { + private CompanyService getCompanyService(User user) { + return ServiceUtil.getService(CompanyServiceImpl.class, user); + } + + + /** + * 获取新增表单 + * + * @param params + * @return + */ + public Map getCompanyFormField(Map params) { + return getCompanyService(user).getCompanyFormField(params); + } + + /** + * 获取列表页面按钮信息 + * + * @return + */ + public Map getHasRight() { + return getCompanyService(user).getHasRight(); + } + + /** + * 获取列表tabs + * + * @return + */ + public Map getTabInfo() { + return getCompanyService(user).getTabInfo(); + } +}