花名册模板列定制优化20230113

pull/142/head
Mlin 2 years ago
parent 58d5bccddc
commit 78682a47c7

@ -26,7 +26,7 @@ import lombok.NoArgsConstructor;
"t.telephone," + "t.telephone," +
"t.managerid, " + "t.managerid, " +
"t.dsporder ", "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 ", orderby = " t.dsporder ",
sortway = " asc", sortway = " asc",
primarykey = "id", primarykey = "id",

@ -138,44 +138,65 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
List<WeaTableColumn> weaTableColumnList = new ArrayList<>(); List<WeaTableColumn> weaTableColumnList = new ArrayList<>();
JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID())); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = MapperProxyFactory.getProxy(JclOrgCustomTemplateMapper.class).queryIsusedTemp("1", String.valueOf(user.getUID()));
String columns = null; String columns = null;
List<String> fields = new ArrayList<>();
List<SearchConditionGroup> allConditions = getAllConditions();
if (jclOrgCustomTemplatePO != null) { if (jclOrgCustomTemplatePO != null) {
columns = jclOrgCustomTemplatePO.getBasicFields(); columns = jclOrgCustomTemplatePO.getBasicFields();
if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) { if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getPersonalFields())) {
columns = "," + jclOrgCustomTemplatePO.getPersonalFields(); columns = columns + "," + jclOrgCustomTemplatePO.getPersonalFields();
} }
if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getWorkFields())) { if (StringUtils.isNotBlank(jclOrgCustomTemplatePO.getWorkFields())) {
columns = "," + jclOrgCustomTemplatePO.getWorkFields(); columns = columns + "," + jclOrgCustomTemplatePO.getWorkFields();
} }
} else { } 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"; 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)) { List<String> columnList = Arrays.asList(columns.split(","));
String[] tmp = columns.split(","); for (SearchConditionGroup allCondition : allConditions) {
for (int i = 0; i < tmp.length; i++) { List<SearchConditionItem> items = allCondition.getItems();
String scopeId = tmp[i].split("_")[0]; for (SearchConditionItem item : items) {
String fieldName = tmp[i].substring(tmp[i].lastIndexOf("_") + 1); 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 weaTableColumn = new WeaTableColumn();
weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId)); weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId));
weaTableColumn.setColumn(fieldName); weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setDisplay(WeaBoolAttr.TRUE);
weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE);
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
String param = tmp[i]; weaTableColumn.setOtherpara(columnName);
weaTableColumn.setOtherpara(param);
weaTableColumnList.add(weaTableColumn); 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字段,跳转人员卡片 // 增加id字段,跳转人员卡片
WeaTableColumn weaTableColumn = new WeaTableColumn(); WeaTableColumn weaTableColumn = new WeaTableColumn();
weaTableColumn.setText("id"); // weaTableColumn.setText("id");
weaTableColumn.setColumn("id"); weaTableColumn.setColumn("id");
weaTableColumn.setDisplay(WeaBoolAttr.FALSE); 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); table.setColumns(weaTableColumnList);
WeaResultMsg result = new WeaResultMsg(false); WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult()); result.putAll(table.makeDataResult());
@ -366,16 +387,16 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
String templateId = Util.null2String(params.get("templateId")); String templateId = Util.null2String(params.get("templateId"));
SearchTemplatePO templatePO = buildSearchTemplateByFields(columns); SearchTemplatePO templatePO = buildSearchTemplateByFields(columns);
JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO(); JclOrgCustomTemplatePO jclOrgCustomTemplatePO = new JclOrgCustomTemplatePO();
if (StringUtils.isNotBlank(templateId)){ if (StringUtils.isNotBlank(templateId)) {
jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId)); jclOrgCustomTemplatePO = getJclOrgCustomTemplateMapper().selectByPrimaryKey(Long.parseLong(templateId));
if (jclOrgCustomTemplatePO!=null){ if (jclOrgCustomTemplatePO != null) {
jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId)); jclOrgCustomTemplatePO.setId(Integer.valueOf(templateId));
jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields()); jclOrgCustomTemplatePO.setBasicFields(templatePO.getBasicFields());
jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields()); jclOrgCustomTemplatePO.setPersonalFields(templatePO.getPersonalFields());
jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields()); jclOrgCustomTemplatePO.setWorkFields(templatePO.getWorkFields());
jclOrgCustomTemplatePO.setIsused(1); jclOrgCustomTemplatePO.setIsused(1);
//取消已启用模板 //取消已启用模板
getJclOrgCustomTemplateMapper().updateUsed("0",templateId,String.valueOf(user.getUID())); getJclOrgCustomTemplateMapper().updateUsed("0", templateId, String.valueOf(user.getUID()));
//启用当前模板 //启用当前模板
getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO); getJclOrgCustomTemplateMapper().updateByPrimaryKeySelective(jclOrgCustomTemplatePO);
} }
@ -1066,6 +1087,13 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
String tableName = s[1]; String tableName = s[1];
String fieldName = s[2]; String fieldName = s[2];
if ("jobactivity".equalsIgnoreCase(fieldName)) {
return "t4.id";
}
if ("jobGroupId".equalsIgnoreCase(fieldName)) {
return "t5.id";
}
if ("hrm".equals(tableName)) { if ("hrm".equals(tableName)) {
return sb.append("t.").append(fieldName).toString(); return sb.append("t.").append(fieldName).toString();
} }

Loading…
Cancel
Save