diff --git a/src/com/engine/salary/service/SIAccountService.java b/src/com/engine/salary/service/SIAccountService.java index f4cb5b59a..db3cf5a13 100644 --- a/src/com/engine/salary/service/SIAccountService.java +++ b/src/com/engine/salary/service/SIAccountService.java @@ -140,7 +140,6 @@ public interface SIAccountService { /** * tab信息 - * @param billMonth */ InsuranceAccountTabDTO tabList(AccountParam build); @@ -260,5 +259,9 @@ public interface SIAccountService { */ void editAccount(EditAccountDetailParam param); + /** + * 导出“福利核算-补差导入模板” + */ + XSSFWorkbook exportBalanceImportTemplate(InsuranceAcctDetailImportTemplateParam param); } diff --git a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java index b59e86774..5c34035c3 100644 --- a/src/com/engine/salary/service/impl/SIAccountServiceImpl.java +++ b/src/com/engine/salary/service/impl/SIAccountServiceImpl.java @@ -2475,4 +2475,48 @@ public class SIAccountServiceImpl extends Service implements SIAccountService { insuranceAccountDetailPO.setTotal(perSum.add(comSum).toPlainString()); return insuranceAccountDetailPO; } + + /** + * 导出“福利核算-补差导入”模板 + */ + @Override + public XSSFWorkbook exportBalanceImportTemplate(InsuranceAcctDetailImportTemplateParam param) { + ValidUtil.doValidator(param); + + // 必须选择导入模板所需的薪资项目(福利项) + if (CollectionUtils.isEmpty(param.getWelfareNames())) { + throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(99019, "参数错误,请选择导入模板所需的福利项目核算项")); + } + + // 模板表头(默认必带"个税扣缴义务人"、"姓名") + List headerList = Lists.newArrayList(SalaryI18nUtil.getI18nLabel(85429, "姓名"), + "部门", + SalaryI18nUtil.getI18nLabel(86186, "手机号"), + SalaryI18nUtil.getI18nLabel(86317, "工号"), + SalaryI18nUtil.getI18nLabel(86184, "个税扣缴义务人") + ); + List dataIndexList = Lists.newArrayList("username", "departmentName", "mobile", "workcode", "taxAgentName"); + // 查询福利核算项目 + List welfareNames = (List) param.getWelfareNames(); + headerList.addAll(welfareNames); + +// //查询当前已有的补缴数据 +// List> resultMapList = getSupplyDataByBillMonth(param.getBillMonth(), param.getPaymentOrganization()); +// // excel导出的数据 +// List> rows = Lists.newArrayListWithExpectedSize(resultMapList.size()); +// rows.add(headerList); +// for (Map map : resultMapList) { +// List row = Lists.newArrayListWithExpectedSize(headerList.size()); +// for (String dataIndex : dataIndexList) { +// row.add(map.getOrDefault(dataIndex, StringUtils.EMPTY)); +// } +// rows.add(row); +// } + + List> rows = new ArrayList<>(); + rows.add(headerList); + + String sheetName = "福利核算-补差导入模板"; + return ExcelUtil.genWorkbookV2(rows, sheetName); + } } diff --git a/src/com/engine/salary/web/SIAccountController.java b/src/com/engine/salary/web/SIAccountController.java index 790c125f0..d206d9cfc 100644 --- a/src/com/engine/salary/web/SIAccountController.java +++ b/src/com/engine/salary/web/SIAccountController.java @@ -786,4 +786,18 @@ public class SIAccountController { } // **********************************调差 end*********************************/ + + // **********************************补差 start*********************************/ + /** + * 福利台账-补差福利项列表 + */ + @GET + @Path("/getBalanceWelfareList") + @Produces(MediaType.APPLICATION_JSON) + public String getBalanceWelfareList(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getSalaryFormulaWrapper(user)::balanceWelfareList); + } + + // **********************************补差 end*********************************/ } diff --git a/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java b/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java index 5e66d5c9a..95375091c 100644 --- a/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java +++ b/src/com/engine/salary/wrapper/SalaryFormulaWrapper.java @@ -22,6 +22,7 @@ import weaver.hrm.User; import weaver.servicefiles.DataSourceXML; import java.util.*; +import java.util.stream.Collectors; /** * 薪资项目 @@ -108,4 +109,14 @@ public class SalaryFormulaWrapper extends Service { return welfareList; } + + /** + * 获取福利台账的补差-福利类项目 + */ + public List balanceWelfareList() { + + List welfareList = welfareList(); + welfareList = welfareList.stream().filter(f -> !f.getSalaryItemName().contains("合计")).collect(Collectors.toList()); + return welfareList; + } }