From 06b0d09f92a071e9214ac5b64f9a4ac75dce66b5 Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 27 Nov 2023 17:51:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=E8=8A=B1=E5=90=8D=E5=86=8C=E5=AE=9A=E5=88=B6?= =?UTF-8?q?=E5=88=97table=E5=AD=97=E6=AE=B5=E9=A1=BA=E5=BA=8F=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E6=97=A0=E6=95=88=E4=BF=AE=E5=A4=8D=202.=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E6=9E=B6=E6=9E=84=E5=9B=BE=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=B1=95=E7=A4=BA=20=E8=BF=BD=E6=BA=AF?= =?UTF-8?q?=E9=83=A8=E5=88=86=E5=B1=95=E7=A4=BA=E6=95=B0=E6=8D=AE=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E5=A4=8D=203.=E7=BB=84=E7=BB=87=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=9B=BE=E5=8F=8A=E7=BC=96=E5=88=B6=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=B8=AD=E5=9C=A8=E8=81=8C=E4=BA=BA=E6=95=B0=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=BB=E6=AC=A1=E8=B4=A6=E5=8F=B7=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ChartServiceImpl.java | 5 ++ .../service/impl/HrmResourceServiceImpl.java | 61 +++++++++++++------ .../service/impl/StaffServiceImpl.java | 5 ++ 3 files changed, 54 insertions(+), 17 deletions(-) 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"));