From f7ce6b028a4f98ba0145eb25a49c64d342ae6894 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 15:13:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98=E7=BA=A7?= =?UTF-8?q?=E6=90=9C=E7=B4=A2BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/SearchTemplateParam.java | 4 ++- .../service/HrmResourceService.java | 22 ++++++++++++-- .../service/impl/HrmResourceServiceImpl.java | 29 ++++++++++++++++++- .../web/HrmResourceController.java | 13 +++++++++ .../wrapper/HrmResourceWrapper.java | 4 +++ 5 files changed, 68 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java index 90434e99..0e01ccba 100644 --- a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java @@ -5,6 +5,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + /** * @author:dxfeng * @createTime: 2023/01/05 @@ -18,5 +20,5 @@ public class SearchTemplateParam { private String key; private boolean selected; private String showname; - private String fields; + private List fields; } diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 6b891e28..deed1f83 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -3,7 +3,6 @@ package com.engine.organization.service; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; -import org.apache.ibatis.annotations.Param; import java.util.Map; @@ -97,7 +96,26 @@ public interface HrmResourceService { */ long updateTabForm(HrmRelationSaveParam params); + /** + * 保存搜索条件模板 + * + * @param params + * @return + */ Integer saveSearchTemplate(SearchTemplateParam params); - void deleteSearchTemplate(@Param("id") Integer id); + /** + * 删除搜索条件模板 + * + * @param id + */ + void deleteSearchTemplate(Integer id); + + /** + * 获取模板所选择的列 + * + * @param params + * @return + */ + String getTemplateSelectKeys(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index d70245ea..1ac80d5e 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -144,7 +144,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Integer saveSearchTemplate(SearchTemplateParam params) { - SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); + SearchTemplatePO templatePO = buildSearchTemplateByFields(StringUtils.join(params.getFields(), ",")); if (null == templatePO) { return -1; } @@ -161,6 +161,33 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic getHrmResourceMapper().deleteSearchTemplate(id, user.getUID()); } + @Override + public String getTemplateSelectKeys(Map params) { + String templateId = Util.null2String(params.get("templateId")); + String column = Util.null2String(params.get("column")); + OrganizationAssert.isTrue(StringUtils.isNotBlank(templateId), "数据有误,未找到对应数据"); + // 判断是否为搜索模板 + if (StringUtils.isBlank(column)) { + SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); + String basicFields = searchTemplateById.getBasicFields(); + String personalFields = searchTemplateById.getPersonalFields(); + String workflowFields = searchTemplateById.getWorkFields(); + List selectKeys = new ArrayList<>(); + if (StringUtils.isNotBlank(basicFields)) { + selectKeys.addAll(Arrays.asList(basicFields.split(","))); + } + if (StringUtils.isNotBlank(personalFields)) { + selectKeys.addAll(Arrays.asList(personalFields.split(","))); + } + if (StringUtils.isNotBlank(workflowFields)) { + selectKeys.addAll(Arrays.asList(workflowFields.split(","))); + } + return StringUtils.join(selectKeys, ","); + } + return ""; + + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 81370e3e..75f21677 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -196,6 +196,19 @@ public class HrmResourceController { } } + @GET + @Path("/getTemplateSelectKeys") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getTemplateSelectKeys(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + User user = HrmUserVarify.getUser(request, response); + Map map = ParamUtil.request2Map(request); + return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getTemplateSelectKeys(map))); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + /** * 列表页顶部按钮 * diff --git a/src/com/engine/organization/wrapper/HrmResourceWrapper.java b/src/com/engine/organization/wrapper/HrmResourceWrapper.java index 89b6f9cd..ad0f93b1 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -67,6 +67,10 @@ public class HrmResourceWrapper extends OrganizationWrapper { getHrmResourceService(user).deleteSearchTemplate(id); } + public String getTemplateSelectKeys(Map params) { + return getHrmResourceService(user).getTemplateSelectKeys(params); + } + public Map getHasRight() { return getHrmResourceService(user).getHasRight(); }