diff --git a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java index 84443890..aa6869e7 100644 --- a/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java +++ b/src/com/engine/organization/entity/hrmresource/vo/HrmResourceVO.java @@ -26,7 +26,7 @@ import lombok.NoArgsConstructor; "t.telephone," + "t.managerid, " + "t.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' ", + 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' left join HRMJOBTITLES t3 on t.JOBTITLE=t3.id left join HRMJOBACTIVITIES t4 on t3.JOBACTIVITYID=t4.ID left join HRMJOBGROUPS t5 on t4.JOBGROUPID=t5.ID ", orderby = " t.dsporder ", sortway = " asc", primarykey = "id", diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index a7d32c2f..bd3feab3 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -138,44 +138,65 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List weaTableColumnList = new ArrayList<>(); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID())); String columns = null; + List fields = new ArrayList<>(); + List allConditions = getAllConditions(); + if (jclOrgCustomTemplatePO != null) { columns = jclOrgCustomTemplatePO.getBasicFields(); if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) { - columns = "," + jclOrgCustomTemplatePO.getPersonalFields(); + columns = columns + "," + jclOrgCustomTemplatePO.getPersonalFields(); } if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getWorkFields())) { - columns = "," + jclOrgCustomTemplatePO.getWorkFields(); + columns = columns + "," + jclOrgCustomTemplatePO.getWorkFields(); } } else { //初次使用,无模板初始值 columns = "-1_hrm_lastname,-1_hrm_departmentid,-1_hrm_subcompanyid1,-1_hrm_jobtitle,-1_hrm_mobile,-1_hrm_telephone,-1_hrm_managerid,-1_hrm_sporder"; } - if (StringUtils.isNotBlank(columns)) { - String[] tmp = columns.split(","); - for (int i = 0; i < tmp.length; i++) { - String scopeId = tmp[i].split("_")[0]; - String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); + List columnList = Arrays.asList(columns.split(",")); + for (SearchConditionGroup allCondition : allConditions) { + List items = allCondition.getItems(); + for (SearchConditionItem item : items) { + String columnName = item.getDomkey()[0]; + fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_")); + + String scopeId = columnName.split("_")[0]; + String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1); WeaTableColumn weaTableColumn = new WeaTableColumn(); weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId)); - weaTableColumn.setColumn(fieldName); - weaTableColumn.setDisplay(WeaBoolAttr.TRUE); + weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_")); + + weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); - String param = tmp[i]; - weaTableColumn.setOtherpara(param); + weaTableColumn.setOtherpara(columnName); weaTableColumnList.add(weaTableColumn); } } +// if (StringUtils.isNotBlank(columns)) { +// String[] tmp = columns.split(","); +// for (int i = 0; i < tmp.length; i++) { +// String scopeId = tmp[i].split("_")[0]; +// String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); +// WeaTableColumn weaTableColumn = new WeaTableColumn(); +// weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId)); +// weaTableColumn.setColumn(buildTableSql(tmp[i]).replace(".", "_")); +// weaTableColumn.setDisplay(WeaBoolAttr.TRUE); +// weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); +// String param = tmp[i]; +// weaTableColumn.setOtherpara(param); +// weaTableColumnList.add(weaTableColumn); +// } +// } // 增加id字段,跳转人员卡片 WeaTableColumn weaTableColumn = new WeaTableColumn(); - weaTableColumn.setText("id"); +// 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); + weaTableColumnList.add(weaTableColumn); + fields.add("t.id"); + table.setBackfields(StringUtils.join(fields, ",")); table.setColumns(weaTableColumnList); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); @@ -366,16 +387,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String templateId = Util.null2String(params.get("templateId")); SearchTemplatePO templatePO = buildSearchTemplateByFields(columns); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO(); - if (StringUtils.isNotBlank(templateId)){ + if (StringUtils.isNotBlank(templateId)) { jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); - if (jclOrgCustomTemplatePO!=null){ + if (jclOrgCustomTemplatePO != null) { jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); jclOrgCustomTemplatePO.setIsused(1); //取消已启用模板 - getJclOrgCustomTemplateMapper().updateUsed("0",templateId,String.valueOf(user.getUID())); + getJclOrgCustomTemplateMapper().updateUsed("0", templateId, String.valueOf(user.getUID())); //启用当前模板 getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); } @@ -1066,6 +1087,13 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic String tableName = s[1]; String fieldName = s[2]; + if ("jobactivity".equalsIgnoreCase(fieldName)) { + return "t4.id"; + } + if ("jobGroupId".equalsIgnoreCase(fieldName)) { + return "t5.id"; + } + if ("hrm".equals(tableName)) { return sb.append("t.").append(fieldName).toString(); }