diff --git a/src/com/engine/organization/service/impl/ChartServiceImpl.java b/src/com/engine/organization/service/impl/ChartServiceImpl.java index e07d4c49..f123915a 100644 --- a/src/com/engine/organization/service/impl/ChartServiceImpl.java +++ b/src/com/engine/organization/service/impl/ChartServiceImpl.java @@ -21,6 +21,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.conn.RecordSetTrans; +import weaver.general.BaseBean; import weaver.general.Util; import weaver.hrm.User; import weaver.hrm.company.DepartmentComInfo; @@ -654,6 +655,10 @@ public class ChartServiceImpl extends Service implements ChartService { " and b.plan_year = ?"); } + if ("false".equals(new BaseBean().getPropValue("hrmOrganization","accountType"))) { + jobSql.append(" and accounttype != 1"); + } + rs.executeQuery(jobSql.toString()); rs.next(); stp.setOnJobNum(Util.getIntValue(rs.getString("count"))); diff --git a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java index 66cc3284..ef7db662 100644 --- a/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java +++ b/src/com/engine/organization/service/impl/HrmResourceServiceImpl.java @@ -69,6 +69,7 @@ import java.time.LocalDate; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; +import java.util.stream.IntStream; import static weaver.general.Util.getIntValue; @@ -169,25 +170,29 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic List columnList = Arrays.asList(columns.split(",")); BigDecimal decimal = new BigDecimal(100 / columnList.size()); + List all = new ArrayList<>(); 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(buildTableSql(columnName).replace(".", "_")); - - weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); - weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); - weaTableColumn.setOtherpara(columnName); - weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); - weaTableColumnList.add(weaTableColumn); - } + all.addAll(allCondition.getItems()); + + } + List items = filterByDomkey(all, columnList); + 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(buildTableSql(columnName).replace(".", "_")); + + weaTableColumn.setDisplay(columnList.contains(columnName) ? WeaBoolAttr.TRUE : WeaBoolAttr.FALSE); + weaTableColumn.setTransmethod("com.engine.organization.transmethod.HrmResourceTransMethod.getFieldTrueValue"); + weaTableColumn.setOtherpara(columnName); + weaTableColumn.setWidth(decimal.setScale(2, RoundingMode.HALF_UP).doubleValue() + "%"); + weaTableColumnList.add(weaTableColumn); } + // 增加id字段,跳转人员卡片 WeaTableColumn weaTableColumn = new WeaTableColumn(); weaTableColumn.setColumn("id"); @@ -211,6 +216,28 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic return apiDatas; } + private List filterByDomkey(List items, List domkeys) { + List tempResult = items.stream() + .filter(item -> domkeys.contains(item.getDomkey()[0])) + .collect(Collectors.toList()); + + Map hashMap = new HashMap<>(); + for (SearchConditionItem item : tempResult) { + String domkeyElement = item.getDomkey()[0]; + hashMap.put(domkeyElement, item); + } + List resultList = new ArrayList<>(); + + for (String domkeyElement : domkeys) { + SearchConditionItem item = hashMap.get(domkeyElement); + if (item != null) { + resultList.add(item); + } + } + + return resultList; + } + @Override public Long saveBaseForm(Map params) { return 0L; diff --git a/src/com/engine/organization/service/impl/StaffServiceImpl.java b/src/com/engine/organization/service/impl/StaffServiceImpl.java index e31d2c0c..abe185fa 100644 --- a/src/com/engine/organization/service/impl/StaffServiceImpl.java +++ b/src/com/engine/organization/service/impl/StaffServiceImpl.java @@ -517,6 +517,11 @@ public class StaffServiceImpl extends Service implements StaffService { Integer ecJobTitle = jobById.getEcJobTitle(); sql += " and jobtitle = " + ecJobTitle; } + + if ("false".equals(new BaseBean().getPropValue("hrmOrganization","accountType"))) { + sql += " and accounttype != 1"; + } + rs.executeQuery(sql); if (rs.next()) { staffPO.setPermanentNum(-1 == rs.getInt("num") ? 0 : rs.getInt("num"));