花名册隐私设置(根据e9后台设置的移动电话,办公室电话,邮件等字段信息)完成对页面的隐私设置(公开,对所有人保密。对安全级别低于自己人员保密)

pull/289/head
Chengliang 2 months ago
parent 47fb84d10d
commit 289242d013

@ -33,7 +33,7 @@ import lombok.NoArgsConstructor;
" left join HRMJOBTITLES t3 on t.JOBTITLE=t3.id" + " left join HRMJOBTITLES t3 on t.JOBTITLE=t3.id" +
" left join HRMJOBACTIVITIES t4 on t3.JOBACTIVITYID=t4.ID" + " left join HRMJOBACTIVITIES t4 on t3.JOBACTIVITYID=t4.ID" +
" left join HRMJOBGROUPS t5 on t4.JOBGROUPID=t5.ID ", " left join HRMJOBGROUPS t5 on t4.JOBGROUPID=t5.ID ",
orderby = " t.dsporder ", orderby = " t.dsporder",
sortway = " asc", sortway = " asc",
primarykey = "id", primarykey = "id",
operates = { operates = {

@ -66,6 +66,7 @@ import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo; import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo; import weaver.hrm.company.SubCompanyComInfo;
import weaver.hrm.definedfield.HrmFieldManager; import weaver.hrm.definedfield.HrmFieldManager;
import weaver.hrm.privacy.PrivacyComInfo;
import weaver.systeminfo.SystemEnv; import weaver.systeminfo.SystemEnv;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -188,25 +189,40 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
} }
List<SearchConditionItem> items = filterByDomkey(all, columnList); List<SearchConditionItem> items = filterByDomkey(all, columnList);
List<String> privacyList = Arrays.asList("-1_hrm_mobile","-1_hrm_telephone","-1_hrm_mobilecall","-1_hrm_fax","-1_hrm_email");
for (SearchConditionItem item : items) { for (SearchConditionItem item : items) {
String columnName = item.getDomkey()[0]; String columnName = item.getDomkey()[0];
WeaTableColumn weaTableColumn = new WeaTableColumn(); WeaTableColumn weaTableColumn = new WeaTableColumn();
if (columnName.equals("-1_cus_"+propValue)){ if (columnName.equals("-1_cus_"+propValue)){
weaTableColumn.setOtherpara(columnName);
fields.add("t.id as " + buildTableSql(columnName).replace(".", "_")); fields.add("t.id as " + buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getOrgValue"); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getOrgValue");
}else if(privacyList.contains(columnName)) {
fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_"));
PrivacyComInfo pc = new PrivacyComInfo();
Map<String, String> mapShowSets = pc.getMapShowSets();
String[] parts = columnName.split("_");
String fieldName = parts[parts.length - 1];
if (mapShowSets != null && mapShowSets.get("mobile") != null) {
weaTableColumn.setOtherpara("column:id+" + user.getUID() + "+"+fieldName+"");
weaTableColumn.setTransmethod("weaver.hrm.privacy.PrivacyComInfo.getSearchContent");
}else {
weaTableColumn.setOtherpara(fieldName+":"+user.getLanguage());
weaTableColumn.setTransmethod("weaver.hrm.HrmTransMethod.getDefineContent");
}
}else{ } else{
weaTableColumn.setOtherpara(columnName);
fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_")); fields.add(buildTableSql(columnName) + " as " + buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue");
} }
String scopeId = columnName.split("_")[0]; String scopeId = columnName.split("_")[0];
String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1); String fieldName = columnName.substring(columnName.lastIndexOf("_") + 1);
weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId, user.getLanguage())); weaTableColumn.setText(getHrmResourceMapper().queryLabelName(fieldName, scopeId, user.getLanguage()));
weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_")); weaTableColumn.setColumn(buildTableSql(columnName).replace(".", "_"));
weaTableColumn.setOtherpara(columnName);
weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE);
weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%");
weaTableColumnList.add(weaTableColumn); weaTableColumnList.add(weaTableColumn);
@ -217,6 +233,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
weaTableColumn.setColumn("id"); weaTableColumn.setColumn("id");
weaTableColumn.setDisplay(WeaBoolAttr.FALSE); weaTableColumn.setDisplay(WeaBoolAttr.FALSE);
weaTableColumnList.add(weaTableColumn); weaTableColumnList.add(weaTableColumn);
fields.add("t.id"); fields.add("t.id");
table.setBackfields(StringUtils.join(fields, ",")); table.setBackfields(StringUtils.join(fields, ","));

Loading…
Cancel
Save