From 503697dd55770a1f0527cf0b690f057e29c06482 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Fri, 6 Jan 2023 17:40:23 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E6=90=9C=E7=B4=A2=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/mapper/resource/HrmResourceMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 567ee6b6..6caf907d 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -11,7 +11,7 @@ - + From 01c042ebbc6f8964c2cd09eceeb00ebe303123a5 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 9 Jan 2023 10:27:30 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E9=AB=98=E7=BA=A7=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fieldset/param/TransferDataParam.java | 21 ---- .../service/impl/HrmResourceServiceImpl.java | 118 ++++++++++++------ .../web/HrmResourceController.java | 2 +- 3 files changed, 82 insertions(+), 59 deletions(-) delete mode 100644 src/com/engine/organization/entity/fieldset/param/TransferDataParam.java diff --git a/src/com/engine/organization/entity/fieldset/param/TransferDataParam.java b/src/com/engine/organization/entity/fieldset/param/TransferDataParam.java deleted file mode 100644 index 7eb80085..00000000 --- a/src/com/engine/organization/entity/fieldset/param/TransferDataParam.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.engine.organization.entity.fieldset.param; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author:dxfeng - * @createTime: 2023/01/05 - * @version: 1.0 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class TransferDataParam { - private String id; - private String label; - private String title; -} diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 13513603..9dec59d7 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -13,7 +13,6 @@ import com.engine.organization.entity.company.bo.CompBO; import com.engine.organization.entity.company.po.CompPO; import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; -import com.engine.organization.entity.fieldset.param.TransferDataParam; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; @@ -49,7 +48,6 @@ import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.definedfield.HrmFieldManager; -import weaver.systeminfo.SystemEnv; import java.util.*; import java.util.stream.Collectors; @@ -173,6 +171,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); + String selectKeys = Util.null2String(params.get("selectKeys")); if (StringUtils.isBlank(templateId)) { templateId = "-1"; } @@ -182,30 +181,19 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic // 穿梭框ID,展示所选字段信息 HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); if ("-1".equals(templateId)) { - // 未选择模板展示默认模板搜索条件 - List searchConditionItems = new ArrayList<>(); - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); - createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, searchConditionItems); - if (CollectionUtils.isNotEmpty(searchConditionItems)) { - addGroups.add(new SearchConditionGroup("基本信息", true, searchConditionItems)); + if (StringUtils.isNotBlank(selectKeys)) { + SearchTemplatePO templatePO = buildSearchTemplateByFields(selectKeys); + buildSearchConditionGroup(templatePO, hrmFieldSearchConditionComInfo, addGroups); + } else { + // 未选择模板展示默认模板搜索条件 + if (CollectionUtils.isNotEmpty(allConditions)) { + addGroups.add(allConditions.get(0)); + } } } else { // 选择模板则遍历所选模板所选字段 SearchTemplatePO searchTemplateById = getHrmResourceMapper().getSearchTemplateById(templateId); - String[] basicFields = Util.null2String(searchTemplateById.getBasicFields()).split(","); - if (basicFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); - } - - String[] personalFields = Util.null2String(searchTemplateById.getPersonalFields()).split(","); - if (personalFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); - } - String[] workFields = Util.null2String(searchTemplateById.getWorkFields()).split(","); - if (workFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); - } - + buildSearchConditionGroup(searchTemplateById, hrmFieldSearchConditionComInfo, addGroups); } apiDatas.put("defaultcondition", addGroups); apiDatas.put("conditions", allConditions); @@ -341,10 +329,24 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @return */ private String buildSqlWhere(Map params) { + HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); + List conditionItems = new ArrayList<>(); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); + Map allFieldsMap = conditionItems.stream().collect(Collectors.toMap(item -> item.getDomkey()[0], item -> item, (k1, k2) -> k1)); + + DBType dbType = DBType.get(new RecordSet().getDBType()); String sqlWhere = " where 1=1 "; for (Map.Entry entry : params.entrySet()) { String key = entry.getKey(); + SearchConditionItem searchConditionItem = allFieldsMap.get(key); + + // 根据不同的类型,不同的查询方式 Object value = entry.getValue(); } @@ -587,6 +589,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return templates; } + /** + * 获取所有搜索字段信息构建的高级搜索表单 + * + * @return + */ public List getAllConditions() { HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); List addGroups = new ArrayList<>(); @@ -642,21 +649,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } } - /** - * 构建穿梭框字段 - * - * @param formFields - * @param dataParamList - * @param title - */ - private void createTransferData(List formFields, List dataParamList, String title) { - for (CusFormFieldPO cusFormFieldPO : formFields) { - String id = cusFormFieldPO.getTableName() + "_" + cusFormFieldPO.getScopeId() + "_" + cusFormFieldPO.getFieldId(); - String label = Util.toScreen(SystemEnv.getHtmlLabelName(Integer.parseInt(cusFormFieldPO.getFieldLabel()), user.getLanguage()), user.getLanguage()); - dataParamList.add(TransferDataParam.builder().id(id).label(label).title(title).build()); - } - } - /** * 获取模板中的字段,构建搜索条件 * @@ -698,4 +690,56 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic throw new RuntimeException(e); } } + + /** + * 根据所选字段信息,构建搜素模板对象 + * + * @param fields + * @return + */ + private SearchTemplatePO buildSearchTemplateByFields(String fields) { + SearchTemplatePO templatePO = new SearchTemplatePO(); + String[] split = fields.split(","); + if (split.length > 0) { + List basicFieldsBuilder = new ArrayList<>(); + List personalFieldsBuilder = new ArrayList<>(); + List workFieldsBuilder = new ArrayList<>(); + for (String fieldName : split) { + if (fieldName.startsWith("-1")) { + basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } else if (fieldName.startsWith("1")) { + personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } else if (fieldName.startsWith("3")) { + workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + } + } + templatePO.setBasicFields(basicFieldsBuilder.toString()); + templatePO.setPersonalFields(personalFieldsBuilder.toString()); + templatePO.setWorkFields(workFieldsBuilder.toString()); + } + return templatePO; + } + + /** + * 根据搜索模板对象,构建搜索条件表单 + * + * @param templatePO + * @param hrmFieldSearchConditionComInfo + * @param addGroups + */ + private void buildSearchConditionGroup(SearchTemplatePO templatePO, HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List addGroups) { + String[] basicFields = Util.null2String(templatePO.getBasicFields()).split(","); + if (basicFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); + } + + String[] personalFields = Util.null2String(templatePO.getPersonalFields()).split(","); + if (personalFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); + } + String[] workFields = Util.null2String(templatePO.getWorkFields()).split(","); + if (workFields.length > 0) { + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); + } + } } diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index b7045aec..eac0cd50 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -166,7 +166,7 @@ public class HrmResourceController { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - return ReturnResult.successed(getHrmResourceWrapper(user).getSearchCondition(map)); + return ReturnResult.successed(JSON.toJSON(getHrmResourceWrapper(user).getSearchCondition(map))); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } From 07786bc2a6e7aecc97e90022ef614fbdfc91fe20 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 9 Jan 2023 14:59:26 +0800 Subject: [PATCH 03/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/organization/service/impl/HrmResourceServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 13513603..7fd72381 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -227,6 +227,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic ArrayList topMenuList = new ArrayList<>(); ArrayList rightMenuList = new ArrayList<>(); topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build()); + topMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("customization").menuIcon("icon-coms-task-list").menuName("列定制").type("BTN_COLUMN").build()); btnDatas.put("topMenu", topMenuList); rightMenuList.add(MenuBtn.builder().isBatch("1").isTop("1").menuFun("new").menuIcon("icon-coms-New-Flow").menuName("新建人员").type("BTN_Addnew").build()); rightMenuList.add(MenuBtn.builder().isBatch("0").isTop("0").menuFun("custom").menuIcon("icon-coms-task-list").menuName("显示列定制").type("BTN_COLUMN").build()); From cfe08ddf4ce8f2e0305033253dc9914d6ab0b728 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Mon, 9 Jan 2023 18:06:57 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E6=9F=A5=E8=AF=A2SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/hrmresource/vo/HrmResourceVO.java | 4 +- .../organization/enums/HrmGroupEnum.java | 2 +- .../service/HrmResourceService.java | 3 +- .../service/impl/HrmResourceServiceImpl.java | 199 ++++++++++++------ .../service/impl/JobServiceImpl.java | 2 +- .../util/db/DBOperateAdapter.java | 2 + .../engine/organization/util/db/DBType.java | 17 +- .../web/HrmResourceController.java | 4 +- .../wrapper/HrmResourceWrapper.java | 3 +- 9 files changed, 160 insertions(+), 76 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java index 2a51e8e2..84443890 100644 --- a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java @@ -26,8 +26,8 @@ import lombok.NoArgsConstructor; "t.telephone," + "t.managerid, " + "t.dsporder ", - fromSql = "FROM hrmresource t ", - orderby = " dsporder ", + fromSql = "FROM hrmresource t left join cus_fielddata t0 on t.id = t0.id and t0.scopeid ='-1' left join cus_fielddata t1 on t.id = t1.id and t1.scopeid ='1' left join cus_fielddata t2 on t.id = t2.id and t2.scopeid ='3' ", + orderby = " t.dsporder ", sortway = " asc", primarykey = "id", operates = { diff --git a/src/com/engine/organization/enums/HrmGroupEnum.java b/src/com/engine/organization/enums/HrmGroupEnum.java index 75a1b6ed..f4280465 100644 --- a/src/com/engine/organization/enums/HrmGroupEnum.java +++ b/src/com/engine/organization/enums/HrmGroupEnum.java @@ -6,7 +6,7 @@ package com.engine.organization.enums; * @version: 1.0 */ public enum HrmGroupEnum { - COMPANY(4), DEPARTMENT(5); + HRM_BASIC(-1), HRM_PERSONAL(1), HRM_WORK(3), COMPANY(4), DEPARTMENT(5); HrmGroupEnum(Integer groupType) { this.groupType = groupType; diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 255d52b4..98cf1cd5 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -1,7 +1,6 @@ package com.engine.organization.service; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import org.apache.ibatis.annotations.Param; @@ -29,7 +28,7 @@ public interface HrmResourceService { * @param params * @return */ - Map listPage(HrmResourceSearchParam params); + Map listPage(Map params); /** * 获取新增表单 diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 9dec59d7..df140af1 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -2,6 +2,8 @@ package com.engine.organization.service.impl; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; +import com.api.browser.bean.SearchConditionOption; +import com.api.browser.util.ConditionType; import com.api.hrm.bean.HrmFieldBean; import com.api.hrm.util.HrmFieldSearchConditionComInfo; import com.cloudstore.eccom.result.WeaResultMsg; @@ -15,7 +17,6 @@ import com.engine.organization.entity.department.bo.DepartmentBO; import com.engine.organization.entity.department.po.DepartmentPO; import com.engine.organization.entity.hrmresource.bo.HrmRelationBO; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.HrmRelationPO; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; @@ -25,6 +26,7 @@ import com.engine.organization.entity.job.bo.JobBO; import com.engine.organization.entity.job.po.JobPO; import com.engine.organization.entity.searchtree.SearchTree; import com.engine.organization.entity.searchtree.SearchTreeParams; +import com.engine.organization.enums.HrmGroupEnum; import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.HrmRelationMapper; @@ -107,10 +109,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } @Override - public Map listPage(HrmResourceSearchParam params) { + public Map listPage(Map params) { OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); - Map searchParams = new HashMap<>(); - String sqlWhere = buildSqlWhere(searchParams); + String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -149,11 +150,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List personalFieldsBuilder = new ArrayList<>(); List workFieldsBuilder = new ArrayList<>(); for (String fieldName : split) { - if (fieldName.startsWith("-1")) { + if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("1")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("3")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } @@ -331,73 +332,37 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private String buildSqlWhere(Map params) { HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo = new HrmFieldSearchConditionComInfo(); List conditionItems = new ArrayList<>(); - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_WORK.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, conditionItems); Map allFieldsMap = conditionItems.stream().collect(Collectors.toMap(item -> item.getDomkey()[0], item -> item, (k1, k2) -> k1)); DBType dbType = DBType.get(new RecordSet().getDBType()); - String sqlWhere = " where 1=1 "; + //String sqlWhere = ""; + StringBuilder sb = new StringBuilder(" where 1=1 "); for (Map.Entry entry : params.entrySet()) { + String value = Util.null2String(entry.getValue()); + if (StringUtils.isBlank(value)) { + continue; + } String key = entry.getKey(); SearchConditionItem searchConditionItem = allFieldsMap.get(key); - + buildDynamicSql(searchConditionItem, key, value, sb, dbType); // 根据不同的类型,不同的查询方式 - Object value = entry.getValue(); } - //String lastName = params.getLastName(); - //if (StringUtils.isNotBlank(lastName)) { - // sqlWhere += " AND t.lastname " + dbType.like(lastName); - //} - //Long companyId = params.getCompanyId(); - //if (null != companyId) { - // sqlWhere += " AND t.subcompanyid1 = '" + companyId + "'"; - //} - //Long departmentId = params.getDepartmentId(); - //if (null != departmentId) { - // sqlWhere += " AND t.departmentid = '" + departmentId + "'"; - //} - //Long ecCompany = params.getEcCompany(); - //if (null != ecCompany) { - // sqlWhere += " AND t.subcompanyid1 = '" + ecCompany + "'"; - //} - //Long ecDepartment = params.getEcDepartment(); - //if (null != ecDepartment) { - // sqlWhere += " AND t.departmentid = '" + ecDepartment + "'"; - //} - //String telephone = params.getTelephone(); - //if (StringUtils.isNotBlank(telephone)) { - // sqlWhere += " AND t.telephone " + dbType.like(telephone); - //} - //String mobile = params.getMobile(); - //if (StringUtils.isNotBlank(mobile)) { - // sqlWhere += " AND t.mobile " + dbType.like(mobile); - //} - //Long jobTitle = params.getJobTitle(); - //if (null != jobTitle) { - // JobPO ecJobTitleByJobId = JobBO.getEcJobTitleByJobId(jobTitle); - // if (null != ecJobTitleByJobId) { - // sqlWhere += " AND t.subcompanyid1 = '" + ecJobTitleByJobId.getEcCompany() + "'"; - // sqlWhere += " AND t.departmentid = '" + ecJobTitleByJobId.getEcDepartment() + "'"; - // sqlWhere += " AND t.jobtitle = '" + ecJobTitleByJobId.getEcJobTitle() + "'"; - // } else { - // sqlWhere = " where 1 = 2 "; - // } - //} - // 分权查询 DetachUtil detachUtil = new DetachUtil(user); String parentCompanyIds = detachUtil.getJclRoleLevels(); if (detachUtil.isDETACH()) { - sqlWhere += " And t.subcompanyid1 in(" + parentCompanyIds + ")"; + sb.append(" And t.subcompanyid1 in(").append(parentCompanyIds).append(")"); } - return sqlWhere; + return sb.toString(); } public List getFilterCompany(String id, String type, String keyword) { @@ -602,21 +567,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List workConditionItems = new ArrayList<>(); // 基本信息:-1 - List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("-1"); + List hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_BASIC.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, basicConditionItems); if (CollectionUtils.isNotEmpty(basicConditionItems)) { addGroups.add(new SearchConditionGroup("基本信息", true, basicConditionItems)); } // 个人信息:1 - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("1"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, personalConditionItems); if (CollectionUtils.isNotEmpty(personalConditionItems)) { addGroups.add(new SearchConditionGroup("个人信息", true, personalConditionItems)); } // 工作信息:3 - hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId("3"); + hrmFieldsByScopeId = getSystemDataMapper().getHrmFieldsByScopeId(HrmGroupEnum.HRM_WORK.getGroupType().toString()); createConditionItems(hrmFieldSearchConditionComInfo, hrmFieldsByScopeId, workConditionItems); if (CollectionUtils.isNotEmpty(workConditionItems)) { addGroups.add(new SearchConditionGroup("工作信息", true, workConditionItems)); @@ -646,6 +611,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsFormField(true); SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); conditionItems.add(searchConditionItem); + // 如果为下拉框,添加一条空选项 + if (searchConditionItem.getConditionType().equals(ConditionType.SELECT)) { + addEmptyForSelect(searchConditionItem); + } + } } @@ -682,6 +652,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsScope(false); SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); conditionItems.add(searchConditionItem); + // 如果为下拉框,添加一条空选项 + if (searchConditionItem.getConditionType().equals(ConditionType.SELECT)) { + addEmptyForSelect(searchConditionItem); + } } if (CollectionUtils.isNotEmpty(conditionItems)) { addGroups.add(new SearchConditionGroup(title, true, conditionItems)); @@ -705,11 +679,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List personalFieldsBuilder = new ArrayList<>(); List workFieldsBuilder = new ArrayList<>(); for (String fieldName : split) { - if (fieldName.startsWith("-1")) { + if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("1")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith("3")) { + } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } @@ -730,16 +704,113 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic private void buildSearchConditionGroup(SearchTemplatePO templatePO, HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List addGroups) { String[] basicFields = Util.null2String(templatePO.getBasicFields()).split(","); if (basicFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", -1, basicFields); + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "基本信息", HrmGroupEnum.HRM_BASIC.getGroupType(), basicFields); } String[] personalFields = Util.null2String(templatePO.getPersonalFields()).split(","); if (personalFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", 1, personalFields); + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "个人信息", HrmGroupEnum.HRM_PERSONAL.getGroupType(), personalFields); } String[] workFields = Util.null2String(templatePO.getWorkFields()).split(","); if (workFields.length > 0) { - getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", 3, workFields); + getTemplateItems(hrmFieldSearchConditionComInfo, addGroups, "工作信息", HrmGroupEnum.HRM_WORK.getGroupType(), workFields); } } + + /** + * 根据字段信息,动态拼接where条件SQL + * + * @param conditionItem + * @param key + * @param value + * @param sb + * @param dbType + */ + private void buildDynamicSql(SearchConditionItem conditionItem, String key, String value, StringBuilder sb, DBType dbType) { + if (null == conditionItem) { + return; + } + if (key.endsWith("workyear") || key.endsWith("companyworkyear")) { + conditionItem.setConditionType(ConditionType.INPUTNUMBER); + } + String tableSql = buildTableSql(key); + if (StringUtils.isBlank(tableSql)) { + return; + } + switch (conditionItem.getConditionType()) { + case INPUT:// 单行文本框 + case TEXTAREA:// 多行文本框 + sb.append(" and ").append(tableSql).append(dbType.like(value)); + // 模糊搜索 + break; + + case INPUTNUMBER:// 数字 + case SELECT://选择框 + case BROWSER://浏览按钮 + case CHECKBOX: + case SWITCH: + sb.append(" and ").append(dbType.ifNull(tableSql, "0")).append(" = '").append(value).append("' "); + break; + case DATE: + case DATEPICKER: + case TIMEPICKER: + case RANGEPICKER: + // 精准搜索 + sb.append(" and ").append(tableSql).append(" = '").append(value).append("' "); + break; + default: + break; + } + } + + /** + * 处理当前字段所在表关系 + * + * @param key + * @return + */ + private String buildTableSql(String key) { + StringBuilder sb = new StringBuilder(); + String[] s = key.split("_"); + if (s.length < 3) { + return ""; + } + String scopeId = s[0]; + String tableName = s[1]; + String fieldName = s[2]; + if ("hrm".equals(tableName)) { + sb.append("t.").append(fieldName); + } else { + switch (scopeId) { + case "-1": + sb.append("t0.").append(fieldName); + break; + case "1": + sb.append("t1.").append(fieldName); + break; + case "3": + sb.append("t2.").append(fieldName); + break; + default: + return ""; + + } + } + + + return sb.toString(); + } + + private void addEmptyForSelect(SearchConditionItem searchConditionItem) { + searchConditionItem.setValue(""); + List options = searchConditionItem.getOptions(); + options.forEach(item -> { + item.setSelected(false); + }); + SearchConditionOption searchConditionOption = new SearchConditionOption(); + searchConditionOption.setSelected(true); + searchConditionOption.setKey(""); + options.add(0, searchConditionOption); + + } } diff --git a/src/com/engine/organization/service/impl/JobServiceImpl.java b/src/com/engine/organization/service/impl/JobServiceImpl.java index 25cf632f..3268828b 100644 --- a/src/com/engine/organization/service/impl/JobServiceImpl.java +++ b/src/com/engine/organization/service/impl/JobServiceImpl.java @@ -581,7 +581,7 @@ public class JobServiceImpl extends Service implements JobService { //2.数据过滤 //3.数据插入 resourcePOS.forEach(resourcePO -> { - if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && 0 != resourcePO.getJobtitle()) { + if (Objects.nonNull(resourcePO) && null != resourcePO.getJobtitle() && resourcePO.getJobtitle() > 0) { int count = getJobMapper().selectByConditions(resourcePO); if (count == 0) { JobPO jobPO = JobPO.builder() diff --git a/src/com/engine/organization/util/db/DBOperateAdapter.java b/src/com/engine/organization/util/db/DBOperateAdapter.java index 50d2dda6..e9caa997 100644 --- a/src/com/engine/organization/util/db/DBOperateAdapter.java +++ b/src/com/engine/organization/util/db/DBOperateAdapter.java @@ -6,4 +6,6 @@ public interface DBOperateAdapter { String concat(String some); String currentDate(); + + String ifNull(String some, String defaultValue); } diff --git a/src/com/engine/organization/util/db/DBType.java b/src/com/engine/organization/util/db/DBType.java index 6581acab..d929560d 100644 --- a/src/com/engine/organization/util/db/DBType.java +++ b/src/com/engine/organization/util/db/DBType.java @@ -20,6 +20,11 @@ public enum DBType implements DBOperateAdapter { public String currentDate() { return "now()"; } + + @Override + public String ifNull(String some, String defaultValue) { + return " ifnull(" + some + ",'" + defaultValue + "')"; + } }, SQLSERVER("sqlserver") { @Override @@ -36,11 +41,16 @@ public enum DBType implements DBOperateAdapter { public String currentDate() { return "GETDATE()"; } + + @Override + public String ifNull(String some, String defaultValue) { + return " isnull(" + some + ",'" + defaultValue + "')"; + } }, ORACLE("oracle") { @Override public String like(String some) { - return " like '%'||" + some + "||'%' "; + return " like '%" + some + "%' "; } @Override @@ -52,6 +62,11 @@ public enum DBType implements DBOperateAdapter { public String currentDate() { return "SYSDATE"; } + + @Override + public String ifNull(String some, String defaultValue) { + return " NVL(" + some + ",'" + defaultValue + "')"; + } }; private String dbtype; diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index eac0cd50..33800701 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.hrmresource.po.SearchTemplatePO; import com.engine.organization.entity.searchtree.SearchTreeParams; @@ -67,8 +66,7 @@ public class HrmResourceController { try { User user = HrmUserVarify.getUser(request, response); Map map = ParamUtil.request2Map(request); - HrmResourceSearchParam param = JSONObject.toJavaObject((JSON) JSONObject.toJSON(map), HrmResourceSearchParam.class); - return ReturnResult.successed(getHrmResourceWrapper(user).listPage(param)); + return ReturnResult.successed(getHrmResourceWrapper(user).listPage(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 553e8fa1..71f4a379 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON; import com.engine.common.util.ServiceUtil; import com.engine.organization.annotation.Log; import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; -import com.engine.organization.entity.hrmresource.param.HrmResourceSearchParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.enums.LogModuleNameEnum; @@ -31,7 +30,7 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getSearchTree(params); } - public Map listPage(HrmResourceSearchParam params) { + public Map listPage(Map params) { return getHrmResourceService(user).listPage(params); } From 4ba6d5c21e53508a4cfe2b7530a374cb6e85c1c7 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 11:37:28 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=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 --- .../personnelcard/PersonnelCardMapper.xml | 2 +- .../mapper/resource/HrmResourceMapper.xml | 58 ++++++++++++++++++- .../service/HrmResourceService.java | 2 +- .../service/impl/HrmResourceServiceImpl.java | 51 +++++++--------- .../web/HrmResourceController.java | 3 +- .../wrapper/HrmResourceWrapper.java | 4 +- 6 files changed, 83 insertions(+), 37 deletions(-) diff --git a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml index cc7ed5b9..3b45911f 100644 --- a/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml +++ b/src/com/engine/organization/mapper/personnelcard/PersonnelCardMapper.xml @@ -8,7 +8,7 @@ - + diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 6caf907d..226c6e67 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -129,7 +129,63 @@ where id = #{id} - + + INSERT INTO JCL_ORG_SEARCH_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + + + + + select JCL_ORG_SEARCH_TEMPLATE_ID.currval from dual + INSERT INTO JCL_ORG_SEARCH_TEMPLATE diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index 98cf1cd5..6b891e28 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -97,7 +97,7 @@ public interface HrmResourceService { */ long updateTabForm(HrmRelationSaveParam params); - void saveSearchTemplate(SearchTemplateParam params); + Integer saveSearchTemplate(SearchTemplateParam params); void deleteSearchTemplate(@Param("id") Integer id); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 4ab476f3..48f825ce 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -143,25 +143,17 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } @Override - public void saveSearchTemplate(SearchTemplateParam params) { - String[] split = params.getFields().split(","); - if (split.length > 0) { - List basicFieldsBuilder = new ArrayList<>(); - List personalFieldsBuilder = new ArrayList<>(); - List workFieldsBuilder = new ArrayList<>(); - for (String fieldName : split) { - if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { - basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { - personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { - workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); - } - } - SearchTemplatePO searchTemplatePO = SearchTemplatePO.builder().name(params.getShowname()).basicFields(StringUtils.join(basicFieldsBuilder, ",")).personalFields(StringUtils.join(personalFieldsBuilder, ",")).workFields(StringUtils.join(workFieldsBuilder, ",")).creator(user.getUID()).createTime(new Date()).updateTime(new Date()).build(); - getHrmResourceMapper().insertSearchTemplate(searchTemplatePO); - // 保存模板 + public Integer saveSearchTemplate(SearchTemplateParam params) { + SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); + if (null == templatePO) { + return -1; } + templatePO.setName(params.getShowname()); + templatePO.setCreator(user.getUID()); + templatePO.setCreateTime(new Date()); + templatePO.setUpdateTime(new Date()); + getHrmResourceMapper().insertSearchTemplate(templatePO); + return templatePO.getId(); } @Override @@ -184,7 +176,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if ("-1".equals(templateId)) { if (StringUtils.isNotBlank(selectKeys)) { SearchTemplatePO templatePO = buildSearchTemplateByFields(selectKeys); - buildSearchConditionGroup(templatePO, hrmFieldSearchConditionComInfo, addGroups); + if (null != templatePO) { + buildSearchConditionGroup(templatePO, hrmFieldSearchConditionComInfo, addGroups); + } } else { // 未选择模板展示默认模板搜索条件 if (CollectionUtils.isNotEmpty(allConditions)) { @@ -673,26 +667,23 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic * @return */ private SearchTemplatePO buildSearchTemplateByFields(String fields) { - SearchTemplatePO templatePO = new SearchTemplatePO(); String[] split = fields.split(","); if (split.length > 0) { - List basicFieldsBuilder = new ArrayList<>(); - List personalFieldsBuilder = new ArrayList<>(); - List workFieldsBuilder = new ArrayList<>(); + List basicFields = new ArrayList<>(); + List personalFields = new ArrayList<>(); + List workFields = new ArrayList<>(); for (String fieldName : split) { if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { - basicFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + basicFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { - personalFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + personalFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { - workFieldsBuilder.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + workFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); } } - templatePO.setBasicFields(basicFieldsBuilder.toString()); - templatePO.setPersonalFields(personalFieldsBuilder.toString()); - templatePO.setWorkFields(workFieldsBuilder.toString()); + return SearchTemplatePO.builder().basicFields(StringUtils.join(basicFields, ",")).personalFields(StringUtils.join(personalFields, ",")).workFields(StringUtils.join(workFields, ",")).build(); } - return templatePO; + return null; } /** diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 33800701..81370e3e 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -177,8 +177,7 @@ public class HrmResourceController { public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { try { User user = HrmUserVarify.getUser(request, response); - getHrmResourceWrapper(user).saveSearchTemplate(params); - return ReturnResult.successed(); + return ReturnResult.successed(getHrmResourceWrapper(user).saveSearchTemplate(params)); } 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 71f4a379..89b6f9cd 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -59,8 +59,8 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).getSearchCondition(params); } - public void saveSearchTemplate(SearchTemplateParam params) { - getHrmResourceService(user).saveSearchTemplate(params); + public Integer saveSearchTemplate(SearchTemplateParam params) { + return getHrmResourceService(user).saveSearchTemplate(params); } public void deleteSearchTemplate(Integer id) { From 9dbce1e8c537417b7917033ebe58ba8e2086a1c8 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 14:08:41 +0800 Subject: [PATCH 06/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=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 --- .../service/impl/HrmResourceServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 48f825ce..d70245ea 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -628,7 +628,8 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", scopeid); List conditionItems = new ArrayList<>(); - for (String fieldName : fieldNames) { + for (String field : fieldNames) { + String fieldName = field.substring(field.lastIndexOf("_") + 1); JSONObject hrmFieldConf = hfm.getHrmFieldConf(fieldName); if (null == hrmFieldConf) { continue; @@ -674,11 +675,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List workFields = new ArrayList<>(); for (String fieldName : split) { if (fieldName.startsWith(HrmGroupEnum.HRM_BASIC.getGroupType().toString())) { - basicFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + basicFields.add(fieldName); } else if (fieldName.startsWith(HrmGroupEnum.HRM_PERSONAL.getGroupType().toString())) { - personalFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + personalFields.add(fieldName); } else if (fieldName.startsWith(HrmGroupEnum.HRM_WORK.getGroupType().toString())) { - workFields.add(fieldName.substring(fieldName.lastIndexOf("_") + 1)); + workFields.add(fieldName); } } return SearchTemplatePO.builder().basicFields(StringUtils.join(basicFields, ",")).personalFields(StringUtils.join(personalFields, ",")).workFields(StringUtils.join(workFields, ",")).build(); From f7ce6b028a4f98ba0145eb25a49c64d342ae6894 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 15:13:33 +0800 Subject: [PATCH 07/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=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(); } From 832fb2b9c44153bf0dc2af6a09d5482f53bb0c7f Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 16:52:40 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=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 | 9 ++++ .../service/impl/HrmResourceServiceImpl.java | 49 ++++++++++--------- .../web/HrmResourceController.java | 13 +++++ .../wrapper/HrmResourceWrapper.java | 4 ++ 5 files changed, 54 insertions(+), 25 deletions(-) diff --git a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java index 0e01ccba..90434e99 100644 --- a/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java +++ b/src/com/engine/organization/entity/hrmresource/param/SearchTemplateParam.java @@ -5,8 +5,6 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; - /** * @author:dxfeng * @createTime: 2023/01/05 @@ -20,5 +18,5 @@ public class SearchTemplateParam { private String key; private boolean selected; private String showname; - private List fields; + private String fields; } diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index deed1f83..dc14af4d 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -4,6 +4,7 @@ import com.engine.organization.entity.hrmresource.param.HrmRelationSaveParam; import com.engine.organization.entity.hrmresource.param.SearchTemplateParam; import com.engine.organization.entity.searchtree.SearchTreeParams; +import java.util.List; import java.util.Map; /** @@ -118,4 +119,12 @@ public interface HrmResourceService { * @return */ String getTemplateSelectKeys(Map params); + + /** + * 展示所有搜索模板 + * + * @param params + * @return + */ + List getSearchTemplate(Map params); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 1ac80d5e..2926d163 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(StringUtils.join(params.getFields(), ",")); + SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); if (null == templatePO) { return -1; } @@ -188,6 +188,21 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } + @Override + public List getSearchTemplate(Map params) { + String templateId = StringUtils.isNotBlank(Util.null2String(params.get("templateId"))) ? Util.null2String(params.get("templateId")) : "-1"; + int userUID = user.getUID(); + // 根据ID查询所存储的模板 + List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); + templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); + templates.forEach(item -> { + if (templateId.equals(item.getKey())) { + item.setSelected(true); + } + }); + return templates; + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); @@ -219,14 +234,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } apiDatas.put("defaultcondition", addGroups); apiDatas.put("conditions", allConditions); - List searchTemplate = getSearchTemplate(); - String finalTemplateId = templateId; - searchTemplate.forEach(item -> { - if (finalTemplateId.equals(item.getKey())) { - item.setSelected(true); - } - }); - apiDatas.put("templates", searchTemplate); return apiDatas; } @@ -563,19 +570,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic } - /** - * 获取当前人员所有的模板信息 - * - * @return - */ - public List getSearchTemplate() { - int userUID = user.getUID(); - // 根据ID查询所存储的模板 - List templates = getHrmResourceMapper().getSearchTemplatesByUser(userUID); - templates.add(0, SearchTemplateParam.builder().key("-1").selected(false).showname("默认模板").build()); - return templates; - } - /** * 获取所有搜索字段信息构建的高级搜索表单 * @@ -620,6 +614,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic */ private void createConditionItems(HrmFieldSearchConditionComInfo hrmFieldSearchConditionComInfo, List formFields, List conditionItems) { for (CusFormFieldPO cusFormFieldPO : formFields) { + if ("jobactivity".equals(cusFormFieldPO.getFieldName())) { + // 职务:282 + cusFormFieldPO.setType("282"); + } HrmFieldBean hrmFieldBean = new HrmFieldBean(); hrmFieldBean.setFieldid(Util.null2String(cusFormFieldPO.getFieldId())); hrmFieldBean.setFieldname(cusFormFieldPO.getScopeId() + "_" + cusFormFieldPO.getTableName() + "_" + cusFormFieldPO.getFieldName()); @@ -673,6 +671,10 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic hrmFieldBean.setIsFormField(true); hrmFieldBean.setIsQuickSearch(false); hrmFieldBean.setIsScope(false); + if ("jobactivity".equals(fieldName)) { + // 职务:282 + hrmFieldBean.setType("282"); + } SearchConditionItem searchConditionItem = hrmFieldSearchConditionComInfo.getSearchConditionItem(hrmFieldBean, user); conditionItems.add(searchConditionItem); // 如果为下拉框,添加一条空选项 @@ -798,6 +800,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String scopeId = s[0]; String tableName = s[1]; String fieldName = s[2]; + if ("jobactivity".equals(fieldName)) { + fieldName = "jobactivitydesc"; + } if ("hrm".equals(tableName)) { sb.append("t.").append(fieldName); } else { diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 75f21677..6671b7d9 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -209,6 +209,19 @@ public class HrmResourceController { } } + @GET + @Path("/getSearchTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult getSearchTemplate(@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).getSearchTemplate(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 ad0f93b1..6139b17f 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -13,6 +13,7 @@ import com.engine.organization.service.impl.HrmResourceServiceImpl; import com.engine.organization.util.OrganizationWrapper; import weaver.hrm.User; +import java.util.List; import java.util.Map; /** @@ -87,4 +88,7 @@ public class HrmResourceWrapper extends OrganizationWrapper { return getHrmResourceService(user).updateTabForm(params); } + public List getSearchTemplate(Map params) { + return getHrmResourceService(user).getSearchTemplate(params); + } } From 1d053a04379948ee14321d1d69525be76272bf16 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 17:31:22 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=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 --- src/com/engine/organization/web/HrmResourceController.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index 6671b7d9..a3638a5a 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -11,6 +11,7 @@ import com.engine.organization.entity.searchtree.SearchTreeParams; import com.engine.organization.util.response.ReturnResult; import com.engine.organization.wrapper.HrmResourceWrapper; import io.swagger.v3.oas.annotations.parameters.RequestBody; +import weaver.general.Util; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; @@ -177,7 +178,8 @@ public class HrmResourceController { public ReturnResult saveSearchTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { try { User user = HrmUserVarify.getUser(request, response); - return ReturnResult.successed(getHrmResourceWrapper(user).saveSearchTemplate(params)); + Integer templateId = getHrmResourceWrapper(user).saveSearchTemplate(params); + return ReturnResult.successed(Util.null2String(templateId)); } catch (Exception e) { return ReturnResult.exceptionHandle(e); } From 6e1f70ef82ffd0dea75fc31a3d2bbc4dffee7b3b Mon Sep 17 00:00:00 2001 From: dxfeng Date: Tue, 10 Jan 2023 18:25:53 +0800 Subject: [PATCH 10/10] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=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 --- .../mapper/resource/HrmResourceMapper.java | 4 + .../mapper/resource/HrmResourceMapper.xml | 112 ++++++++++++++++++ .../service/HrmResourceService.java | 15 +++ .../service/impl/HrmResourceServiceImpl.java | 37 +++++- .../web/HrmResourceController.java | 26 ++++ .../wrapper/HrmResourceWrapper.java | 8 ++ 6 files changed, 199 insertions(+), 3 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java index 1c2bec80..aaa7f84e 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.java +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.java @@ -51,4 +51,8 @@ public interface HrmResourceMapper { Integer insertSearchTemplate(SearchTemplatePO templatePO); Integer deleteSearchTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); + + Integer insertCustomTemplate(SearchTemplatePO templatePO); + + Integer deleteCustomTemplate(@Param("id") Integer Id, @Param("userId") Integer userId); } diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index 226c6e67..793d042a 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -234,6 +234,111 @@ + + INSERT INTO JCL_ORG_CUSTOM_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + + + + + select JCL_ORG_CUSTOM_TEMPLATE_ID.currval from dual + + INSERT INTO JCL_ORG_CUSTOM_TEMPLATE + + + creator, + + + create_time, + + + update_time, + + + name, + + + basic_fields, + + + personal_fields, + + + work_fields, + + + + + #{creator}, + + + #{createTime}, + + + #{updateTime}, + + + #{name}, + + + #{basicFields}, + + + #{personalFields}, + + + #{workFields}, + + + delete @@ -242,6 +347,13 @@ and creator = #{userId} + + delete + from jcl_org_custom_template + where id = #{id} + and creator = #{userId} + + AND t.lastname like CONCAT('%',#{resourcePO.lastName},'%') diff --git a/src/com/engine/organization/service/HrmResourceService.java b/src/com/engine/organization/service/HrmResourceService.java index dc14af4d..a794f2b0 100644 --- a/src/com/engine/organization/service/HrmResourceService.java +++ b/src/com/engine/organization/service/HrmResourceService.java @@ -127,4 +127,19 @@ public interface HrmResourceService { * @return */ List getSearchTemplate(Map params); + + /** + * 保存定制列模板 + * + * @param params + * @return + */ + Integer saveCustomTemplate(SearchTemplateParam params); + + /** + * 删除定制列模板 + * + * @param id + */ + void deleteCustomTemplate(Integer id); } diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 2926d163..557e5526 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -98,6 +98,11 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return MapperProxyFactory.getProxy(SystemDataMapper.class); } + // 所有满足条件的岗位ID + private List jobTitleList = new ArrayList<>(); + // 是否 + boolean searchJobTitle = false; + @Override public Map getSearchTree(SearchTreeParams params) { @@ -203,6 +208,25 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return templates; } + @Override + public Integer saveCustomTemplate(SearchTemplateParam params) { + SearchTemplatePO templatePO = buildSearchTemplateByFields(params.getFields()); + if (null == templatePO) { + return -1; + } + templatePO.setName(params.getShowname()); + templatePO.setCreator(user.getUID()); + templatePO.setCreateTime(new Date()); + templatePO.setUpdateTime(new Date()); + getHrmResourceMapper().insertCustomTemplate(templatePO); + return templatePO.getId(); + } + + @Override + public void deleteCustomTemplate(Integer id) { + getHrmResourceMapper().deleteCustomTemplate(id, user.getUID()); + } + @Override public Map getSearchCondition(Map params) { String templateId = Util.null2String(params.get("templateId")); @@ -755,6 +779,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic if (key.endsWith("workyear") || key.endsWith("companyworkyear")) { conditionItem.setConditionType(ConditionType.INPUTNUMBER); } + // + if (key.endsWith("jobactivity")) { + searchJobTitle = true; + } + if (key.endsWith("jobGroupId")) { + searchJobTitle = true; + } + if (key.endsWith("jobtitle")) { + searchJobTitle = true; + } String tableSql = buildTableSql(key); if (StringUtils.isBlank(tableSql)) { return; @@ -800,9 +834,6 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String scopeId = s[0]; String tableName = s[1]; String fieldName = s[2]; - if ("jobactivity".equals(fieldName)) { - fieldName = "jobactivitydesc"; - } if ("hrm".equals(tableName)) { sb.append("t.").append(fieldName); } else { diff --git a/src/com/engine/organization/web/HrmResourceController.java b/src/com/engine/organization/web/HrmResourceController.java index a3638a5a..7813c5f0 100644 --- a/src/com/engine/organization/web/HrmResourceController.java +++ b/src/com/engine/organization/web/HrmResourceController.java @@ -279,4 +279,30 @@ public class HrmResourceController { return ReturnResult.exceptionHandle(e); } } + + @POST + @Path("/saveCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult saveCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplateParam params) { + try { + User user = HrmUserVarify.getUser(request, response); + Integer templateId = getHrmResourceWrapper(user).saveCustomTemplate(params); + return ReturnResult.successed(Util.null2String(templateId)); + } catch (Exception e) { + return ReturnResult.exceptionHandle(e); + } + } + + @POST + @Path("/deleteCustomTemplate") + @Produces(MediaType.APPLICATION_JSON) + public ReturnResult deleteCustomTemplate(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SearchTemplatePO params) { + try { + User user = HrmUserVarify.getUser(request, response); + getHrmResourceWrapper(user).deleteCustomTemplate(params.getId()); + return ReturnResult.successed(); + } 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 6139b17f..8e1e183d 100644 --- a/src/com/engine/organization/wrapper/HrmResourceWrapper.java +++ b/src/com/engine/organization/wrapper/HrmResourceWrapper.java @@ -91,4 +91,12 @@ public class HrmResourceWrapper extends OrganizationWrapper { public List getSearchTemplate(Map params) { return getHrmResourceService(user).getSearchTemplate(params); } + + public Integer saveCustomTemplate(SearchTemplateParam params) { + return getHrmResourceService(user).saveCustomTemplate(params); + } + + public void deleteCustomTemplate(Integer id) { + getHrmResourceService(user).deleteCustomTemplate(id); + } }