薪酬系统-薪资核算,自定义导出字段优化未分类字段识别逻辑

This commit is contained in:
sy 2023-07-17 17:53:59 +08:00
parent b007b1b351
commit f93090b063
1 changed files with 12 additions and 12 deletions

View File

@ -44,6 +44,7 @@ import com.engine.salary.util.excel.ExcelSupport;
import com.engine.salary.util.excel.ExcelUtilPlus;
import com.engine.salary.util.page.Column;
import com.engine.salary.util.valid.ValidUtil;
import com.engine.salary.wrapper.SalarySobItemWrapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@ -102,10 +103,6 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
return (SalaryItemService) ServiceUtil.getService(SalaryItemServiceImpl.class, user);
}
// private SalaryFormulaService getSalaryFormulaService(User user) {
// return (SalaryFormulaService) ServiceUtil.getService(SalaryFormulaServiceImpl.class, user);
// }
private SalaryComparisonResultService getSalaryComparisonResultService(User user) {
return (SalaryComparisonResultService) ServiceUtil.getService(SalaryComparisonResultServiceImpl.class, user);
}
@ -123,12 +120,6 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
return ServiceUtil.getService(SalarySobItemGroupServiceImpl.class, user);
}
private SalaryCheckResultService salaryCheckResultService;
private SalaryCheckResultDetailService salaryCheckResultDetailService;
private SalarySobCheckRuleService salarySobCheckRuleService;
private SalaryAcctReportService getSalaryAcctReportService(User user) {
return ServiceUtil.getService(SalaryAcctReportServiceImpl.class, user);
}
@ -145,6 +136,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
return ServiceUtil.getService(SalaryAcctResultLogServiceImpl.class, user);
}
private SalarySobItemWrapper getSalarySobItemWrapper(User user) {
return ServiceUtil.getService(SalarySobItemWrapper.class, user);
}
@Override
public XSSFWorkbook exportSalaryAcctEmployee(SalaryAcctEmployeeQueryParam queryParam) {
ValidUtil.doValidator(queryParam);
@ -291,6 +286,10 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
//判断是否按照自定义字段导出表头
List<WeaTableColumnGroup> finalWeaTableColumns = new ArrayList<>();
if (queryParam.getSalaryItemIds() != null ) {
//获取人员基本信息字段汇总
Collection<Map<String, String>> empFieldList = getSalarySobItemWrapper(user).empFieldList();
List<String> empFieldIdList= new ArrayList<>();
empFieldList.forEach(f -> empFieldIdList.add(f.get("id")));
// 必须选择导出所需的薪资项目
if (CollectionUtils.isEmpty(queryParam.getSalaryItemIds())) {
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(99019, "参数错误,请选择导入模板所需的薪资项目"));
@ -308,7 +307,7 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
columnGroupItem.setChildren(childrenColumns);
finalWeaTableColumns.add(columnGroupItem);
}
} else if (headerRangeList.contains(columnGroupItem.getColumn())) {
} else if (empFieldIdList.contains(tableColumn.getColumn()) || headerRangeList.contains(tableColumn.getColumn())){
finalWeaTableColumns.add(columnGroupItem);
}
@ -319,7 +318,8 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
// parseHeader(headerColumnGroup, weaTableColumns);
parseHeader(headerColumnGroup, finalWeaTableColumns);
// // excel导出的表头
List<Object> headerList = new ArrayList<>(weaTableColumns);
// List<Object> headerList = new ArrayList<>(weaTableColumns);
List<Object> headerList = new ArrayList<>(finalWeaTableColumns);
// 查询薪资核算结果
List<Map<String, Object>> resultMapList = getSalaryAcctResultService(user).listByParam(queryParam);