|
|
|
@ -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<String> columnList = Arrays.asList(columns.split(","));
|
|
|
|
|
BigDecimal decimal = new BigDecimal(100 / columnList.size());
|
|
|
|
|
List<SearchConditionItem> all = new ArrayList<>();
|
|
|
|
|
for (SearchConditionGroup allCondition : allConditions) {
|
|
|
|
|
List<SearchConditionItem> 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<SearchConditionItem> 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<SearchConditionItem> filterByDomkey(List<SearchConditionItem> items, List<String> domkeys) {
|
|
|
|
|
List<SearchConditionItem> tempResult = items.stream()
|
|
|
|
|
.filter(item -> domkeys.contains(item.getDomkey()[0]))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
Map<String, SearchConditionItem> hashMap = new HashMap<>();
|
|
|
|
|
for (SearchConditionItem item : tempResult) {
|
|
|
|
|
String domkeyElement = item.getDomkey()[0];
|
|
|
|
|
hashMap.put(domkeyElement, item);
|
|
|
|
|
}
|
|
|
|
|
List<SearchConditionItem> 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<String, Object> params) {
|
|
|
|
|
return 0L;
|
|
|
|
|