From e3a78a05c74c141241b25abe265b4dd3f9735df6 Mon Sep 17 00:00:00 2001 From: Mlin Date: Fri, 13 Jan 2023 08:50:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8A=B1=E5=90=8D=E5=86=8C=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E5=88=97=E5=AE=9A=E5=88=B620230113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/resource/HrmResourceMapper.xml | 34 ++---------- .../resource/JclOrgCustomTemplateMapper.java | 2 + .../resource/JclOrgCustomTemplateMapper.xml | 12 +++++ .../service/impl/HrmResourceServiceImpl.java | 54 ++++++++++++++----- .../transmethod/HrmResourceTransMethod.java | 20 +++++++ 5 files changed, 77 insertions(+), 45 deletions(-) diff --git a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml index e478265e..16a6fea4 100644 --- a/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml +++ b/src/com/engine/organization/mapper/resource/HrmResourceMapper.xml @@ -386,37 +386,9 @@ \ No newline at end of file diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java index 51a566f8..e57e72e7 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.java @@ -32,4 +32,6 @@ public interface JclOrgCustomTemplateMapper { int deleteByIds(@Param("ids") Collection ids); + int updateUsed(@Param("isused")String isused,@Param("id") String id,@Param("creator") String creator); + } diff --git a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml index 13b9acd4..9b4388c7 100644 --- a/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml +++ b/src/com/engine/organization/mapper/resource/JclOrgCustomTemplateMapper.xml @@ -129,4 +129,16 @@ + + update JCL_ORG_CUSTOM_TEMPLATE set isused = #{isused} + + + id = #{id} + + + and creator = #{creator} + + + + diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index f73f15e0..341692c8 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -6,6 +6,7 @@ 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.constant.WeaBoolAttr; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; @@ -132,22 +133,47 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic OrganizationWeaTable table = new OrganizationWeaTable<>(user, HrmResourceVO.class); String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); - + String[] str={"lastname","departmentid","subcompanyid1","jobtitle","mobile","telephone","managerid","dsporder"} ; + String columns = (String) params.get("columns"); + if (StringUtils.isNotBlank(columns)){ + String[] tmp = columns.split(","); + str = new String[tmp.length]; + for (int i=0;i weaTableColumnList = new ArrayList<>(); - WeaTableColumn weaTableColumn = new WeaTableColumn(); - - List jsonObjectList = getHrmResourceMapper().queryAllResColumns(level,grade); -// for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ -// System.out.println(jsonObject.getString("level_name")); -// weaTableColumn.setText("职等"); -// weaTableColumn.setDisplay(WeaBoolAttr.TRUE); -// weaTableColumn.setColumn("levelName"); -// weaTableColumnList.add(weaTableColumn); -// } -// table.setColumns(weaTableColumnList); - -// weaTableColumnList = columns.stream().map(v -> new WeaTableColumn("100", v.getTitle(), v.getKey())).collect(Collectors.toList()); + for (com.alibaba.fastjson.JSONObject jsonObject : jsonObjectList){ + WeaTableColumn weaTableColumn = new WeaTableColumn(); + weaTableColumn.setText(jsonObject.getString("labelname")); + weaTableColumn.setColumn(jsonObject.getString("fieldname")); + weaTableColumn.setDisplay(WeaBoolAttr.FALSE); + if(Arrays.asList(str).contains(jsonObject.getString("fieldname"))){ + weaTableColumn.setDisplay(WeaBoolAttr.TRUE); + } + weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); + String param = "-1_hrm_"+jsonObject.getString("fieldname")+"_"+user.getUID(); + weaTableColumn.setOtherpara(param); + weaTableColumnList.add(weaTableColumn); + } + // 增加id字段 + WeaTableColumn weaTableColumn = new WeaTableColumn(); + weaTableColumn.setText("id"); + weaTableColumn.setColumn("id"); + weaTableColumn.setDisplay(WeaBoolAttr.FALSE); + weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); + String param = "-1_hrm_id_"+user.getUID(); + weaTableColumn.setOtherpara(param); + weaTableColumnList.add(weaTableColumn); + + table.setColumns(weaTableColumnList); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); diff --git a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java index fc52ea13..3a48ba05 100644 --- a/src/com/engine/organization/transmethod/HrmResourceTransMethod.java +++ b/src/com/engine/organization/transmethod/HrmResourceTransMethod.java @@ -5,7 +5,10 @@ import com.engine.organization.mapper.comp.CompMapper; import com.engine.organization.mapper.department.DepartmentMapper; import com.engine.organization.mapper.hrmresource.SystemDataMapper; import com.engine.organization.util.db.MapperProxyFactory; +import org.json.JSONObject; +import weaver.conn.RecordSet; import weaver.hrm.User; +import weaver.hrm.definedfield.HrmFieldManager; /** * @author:dxfeng @@ -14,6 +17,23 @@ import weaver.hrm.User; */ public class HrmResourceTransMethod { + public static String getFieldTrueValue(String id, String para) { +// type = "-1_hrm_lastname"; + HrmFieldManager hfm = new HrmFieldManager("HrmCustomFieldByInfoType", Integer.parseInt(para.split("_")[0])); + hfm.getCustomFields(); + + String fieldName = hfm.getFieldname(); + JSONObject hrmFieldConf = hfm.getHrmFieldConf(para.split("_")[2]); + String hrmData = id; + User user = new User(); + user.setUid(Integer.parseInt(para.split("_")[3])); + try { + return hfm.getFieldvalue(null, user, null, hrmFieldConf.getString("dmlurl"), hrmFieldConf.getInt("id"), hrmFieldConf.getInt("fieldhtmltype"), hrmFieldConf.getInt("type"), hrmData, 0, fieldName); + } catch (Exception e) { + return ""; + } + } + public static String getDepartmentName(String departmentId) { return MapperProxyFactory.getProxy(DepartmentMapper.class).getDeptNameById(Integer.parseInt(departmentId)); }