package com.engine.salary.wrapper; import com.cloudstore.dev.api.util.Util_DataCache; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.cache.SalaryCacheKey; import com.engine.salary.component.SalaryWeaTable; import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.employeedeclare.bo.EmployeeDeclareList; import com.engine.salary.entity.employeedeclare.dto.*; import com.engine.salary.entity.employeedeclare.param.*; import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO; import com.engine.salary.entity.taxagent.po.TaxAgentPO; import com.engine.salary.enums.SalaryOnOffEnum; import com.engine.salary.enums.employeedeclare.*; import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum; import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.service.*; import com.engine.salary.service.impl.*; import com.engine.salary.util.SalaryDateUtil; import com.engine.salary.util.SalaryEntityUtil; import com.engine.salary.util.SalaryEnumUtil; import com.engine.salary.util.SalaryI18nUtil; import com.engine.salary.util.page.Column; import com.engine.salary.util.page.PageInfo; import com.engine.salary.util.page.SalaryPageUtil; import com.engine.salary.util.valid.ValidUtil; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.weaver.util.threadPool.ThreadPoolUtil; import com.weaver.util.threadPool.constant.ModulePoolEnum; import com.weaver.util.threadPool.entity.LocalRunnable; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import weaver.hrm.User; import java.util.*; import java.util.stream.Collectors; /** * @description: 人员报送(人员) * @author: xiajun * @modified By: xiajun * @date: Created in 9/2/22 3:49 PM * @version:v1.0 */ @Slf4j public class EmployeeDeclareWrapper extends Service { private TaxAgentService getTaxAgentService(User user) { return ServiceUtil.getService(TaxAgentServiceImpl.class, user); } private EmployeeDeclareService getEmployeeDeclareService(User user) { return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user); } private ExtEmpService getExtEmpService(User user) { return ServiceUtil.getService(ExtEmpServiceImpl.class, user); } private SalaryEmployeeService getSalaryEmployeeService(User user) { return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user); } private SalaryCacheService getSalaryCacheService(User user) { return ServiceUtil.getService(SalaryCacheServiceImpl.class, user); } /** * 人员报送的个税扣缴义务人列表 * * @param queryParam * @return */ public PageInfo taxAgentDeclareList(TaxAgentDeclareListQueryParam queryParam) { // 判断是否是“总管理员” Boolean isChief = getTaxAgentService(user).isChief(Long.valueOf(user.getUID())); // 是否开启分权 Boolean openDevolution = getTaxAgentService(user).isOpenDevolution(); // 查询个税扣缴义务人 List taxAgents = Lists.newArrayList(); if (!openDevolution || isChief) { taxAgents = getTaxAgentService(user).listAll(); } else { taxAgents = new ArrayList<>(getTaxAgentService(user).listAllTaxAgentsAsAdmin(Long.valueOf(user.getUID()))); } if (StringUtils.isNotEmpty(queryParam.getTaxAgentName())) { taxAgents = taxAgents.stream().filter(e -> StringUtils.contains(e.getName(), queryParam.getTaxAgentName())).collect(Collectors.toList()); } // 分页 List taxAgentPOS = SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), taxAgents); List dtoList = Lists.newArrayList(); for (TaxAgentPO taxAgent : taxAgentPOS) { TaxAgentDeclareListDTO dto = new TaxAgentDeclareListDTO().setId(taxAgent.getId()).setTaxAgentName(taxAgent.getName()); dtoList.add(dto); } return SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), dtoList, TaxAgentDeclareListDTO.class); } /** * 人员报送-全部人员列表 * * @param queryParam * @return */ public Map list(EmployeeDeclareListQueryParam queryParam) { ValidUtil.doValidator(queryParam); List employeeDeclarePOS = getEmployeeDeclareService(user).listByParam(queryParam); employeeDeclarePOS = SalaryPageUtil.subList(queryParam.getCurrent(), queryParam.getPageSize(), employeeDeclarePOS); List convert = getEmployeeDeclareService(user).convert(employeeDeclarePOS); PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), EmployeeDeclareListDTO.class); pageInfo.setList(convert); pageInfo.setTotal(employeeDeclarePOS.size()); // // 判断是否开启分部 // boolean subcompanySupport = hrmConfigSetCache.isSubcompanySupport(tenantKey); // if (!subcompanySupport) { // weaTable.getColumns().stream() // .filter(e -> Objects.equals(e.getDataIndex(), "subCompanyName")) // .findAny() // .ifPresent(weaTableColumn -> weaTableColumn.setHide(true)); // } SalaryWeaTable table = new SalaryWeaTable<>(user, EmployeeDeclareListDTO.class); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); Map datas = new HashMap<>(); datas.put("pageInfo", pageInfo); datas.put("dataKey", result.getResultMap()); return datas; } /** * 人员报送-本月新增人员列表 * * @param queryParam * @return */ public Map list4Add(EmployeeDeclareAddListQueryParam queryParam) { List addPOList = getEmployeeDeclareService(user).list4AddByParam(queryParam); PageInfo addPoPageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), addPOList, EmployeeDeclarePO.class); List addDTOList = getEmployeeDeclareService(user).convert(addPoPageInfo.getList()); // 分页 PageInfo pageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), EmployeeDeclareListDTO.class); pageInfo.setList(addDTOList); pageInfo.setTotal(addPOList.size()); // // 判断是否开启分部 // boolean subcompanySupport = hrmConfigSetCache.isSubcompanySupport(tenantKey); // if (!subcompanySupport) { // weaTable.getColumns().stream() // .filter(e -> Objects.equals(e.getDataIndex(), "subCompanyName")) // .findAny() // .ifPresent(weaTableColumn -> weaTableColumn.setHide(true)); // } SalaryWeaTable table = new SalaryWeaTable<>(user, EmployeeDeclareListDTO.class); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); Map datas = new HashMap<>(); datas.put("pageInfo", pageInfo); datas.put("dataKey", result.getResultMap()); return datas; } /** * 人员报送-本月信息变动人员列表 * * @param queryParam * @return */ public Map list4Update(EmployeeDeclareListQueryParam queryParam) { PageInfo poPageInfo = getEmployeeDeclareService(user).listPage4UpdateByParam(queryParam); List dtoList = getEmployeeDeclareService(user).convert(poPageInfo.getList()); PageInfo dtoPageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), dtoList, EmployeeDeclareListDTO.class); dtoPageInfo.setTotal(poPageInfo.getTotal()); // 查询上个月报送的人员 Set employeeIds = SalaryEntityUtil.properties(poPageInfo.getList(), EmployeeDeclarePO::getEmployeeId); List preTaxCycleEmployeeDeclares = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentIdAndEmployeeIds( SalaryDateUtil.plusMonths(queryParam.getTaxCycle(), -1), queryParam.getTaxAgentId(), employeeIds); // 获取修改了哪些字段 Map> updatedFieldMap = EmployeeDeclareList.getUpdatedField(poPageInfo.getList(), preTaxCycleEmployeeDeclares); for (EmployeeDeclareListDTO employeeDeclareListDTO : (List) dtoPageInfo.getList()) { Set updatedDataIndexSet = updatedFieldMap.get(employeeDeclareListDTO); employeeDeclareListDTO.setUpdatedDataIndexSet(updatedDataIndexSet); } // // 判断是否开启分部 // boolean subcompanySupport = hrmConfigSetCache.isSubcompanySupport(tenantKey); // if (!subcompanySupport) { // weaTable.getColumns().stream() // .filter(e -> Objects.equals(e.getDataIndex(), "subCompanyName")) // .findAny() // .ifPresent(weaTableColumn -> weaTableColumn.setHide(true)); // } SalaryWeaTable table = new SalaryWeaTable<>(user, EmployeeDeclareListDTO.class); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); Map datas = new HashMap<>(); datas.put("pageInfo", dtoPageInfo); datas.put("dataKey", result.getResultMap()); return datas; } /** * 人员报送-本月报送失败人员列表 * * @param queryParam * @return */ public PageInfo list4Fail(EmployeeDeclareFailListQueryParam queryParam) { PageInfo poPageInfo = getEmployeeDeclareService(user).listPage4FailByParam(queryParam); List dtoList = getEmployeeDeclareService(user).convert2FailListDTO(poPageInfo.getList()); PageInfo dtoPageInfo = SalaryPageUtil.buildPage(queryParam.getCurrent(), queryParam.getPageSize(), dtoList, EmployeeDeclareFailListDTO.class); // 判断是否开启分部 // boolean subcompanySupport = hrmConfigSetCache.isSubcompanySupport(tenantKey); // if (!subcompanySupport) { // weaTable.getColumns().stream() // .filter(e -> Objects.equals(e.getDataIndex(), "subCompanyName")) // .findAny() // .ifPresent(weaTableColumn -> weaTableColumn.setHide(true)); // } return dtoPageInfo; } /** * 人员报送-获取新建或编辑的表单 * * @param id * @return */ public Map getForm(Long id) { // 证件类型默认"居民身份证" EmployeeDeclarePO employeeDeclare; EmployeeDeclareFromDTO employeeDeclareFrom = new EmployeeDeclareFromDTO() .setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS) .setGender(GenderEnum.MALE) .setEmploymentStatus(EmploymentStatusEnum.NORMAL) .setEmploymentType(EmploymentTypeEnum.EMPLOYEE) .setDisability(SalaryOnOffEnum.OFF) .setLonelyOld(SalaryOnOffEnum.OFF) .setMartyrDependents(SalaryOnOffEnum.OFF) .setDeductExpenses(SalaryOnOffEnum.ON); if (Objects.nonNull(id)) { employeeDeclare = getEmployeeDeclareService(user).getById(id); // 查询人员信息 Map employeeMap = Maps.newHashMap(); if (Objects.equals(employeeDeclare.getEmployeeType(), EmployeeTypeEnum.ORGANIZATION.getValue())) { DataCollectionEmployee simpleEmployee = getSalaryEmployeeService(user).getEmployeeById(employeeDeclare.getEmployeeId()); employeeMap.put("id", simpleEmployee.getEmployeeId()); employeeMap.put("name", simpleEmployee.getUsername()); employeeMap.put("_entityType", EmployeeTypeEnum.ORGANIZATION); } else { DataCollectionEmployee extEmployee = getExtEmpService(user).getEmployeeById(employeeDeclare.getEmployeeId()); employeeMap.put("id",extEmployee.getEmployeeId()); employeeMap.put("name", extEmployee.getUsername()); employeeMap.put("_entityType", EmployeeTypeEnum.EXT_EMPLOYEE); } employeeDeclareFrom.setId(employeeDeclare.getId()) .setTaxAgentId(employeeDeclare.getTaxAgentId()) .setEmployee(Collections.singletonList(employeeMap)) .setEmployeeName(employeeDeclare.getEmployeeName()) .setJobNum(employeeDeclare.getJobNum()) .setNationality(SalaryI18nUtil.getI18nLabel(94731, "中国")) .setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS) .setCardNum(employeeDeclare.getCardNum()) .setGender(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getGender(), GenderEnum.class)) .setBirthday(employeeDeclare.getBirthday()) .setEmploymentStatus(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.class)) .setMobile(employeeDeclare.getMobile()) .setEmploymentType(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getEmploymentType(), EmploymentTypeEnum.class)) .setEmploymentDate(employeeDeclare.getEmploymentDate()) .setDismissDate(employeeDeclare.getDismissDate()) .setDisability(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getDisability(), SalaryOnOffEnum.class)) .setDisabilityCardNo(employeeDeclare.getDisabilityCardNo()) .setLonelyOld(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getLonelyOld(), SalaryOnOffEnum.class)) .setMartyrDependents(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getMartyrDependents(), SalaryOnOffEnum.class)) .setMartyrDependentsCardNo(employeeDeclare.getMartyrDependentsCardNo()) .setDeductExpenses(SalaryEnumUtil.enumMatchByValue(employeeDeclare.getDeductExpenses(), SalaryOnOffEnum.class)); } else { employeeDeclare = null; } PageInfo pageInfo = new PageInfo<>(EmployeeDeclareFromDTO.class); List columns = pageInfo.getColumns(); List readOnlyColumns = new ArrayList<>(); columns.stream().forEach(column -> { if (Objects.nonNull(column) && StringUtils.equals(column.getKey(), "employee")) { readOnlyColumns.add(column.getKey()); } if (employeeDeclare != null && Objects.equals(employeeDeclare.getDeclareStatus(), DeclareStatusEnum.DECLARE_SUCCESS.getValue()) && (StringUtils.equals(column.getKey(), "employeeName") || StringUtils.equals(column.getKey(), "cardNum"))) { readOnlyColumns.add(column.getKey()); } }); Map datas = new HashMap<>(); datas.put("data", employeeDeclareFrom); datas.put("columns", columns); datas.put("readOnlyColumns", readOnlyColumns); return datas; } // /** // * 人员报送-批量编辑的表单 // * // * @return // */ // public WeaForm getBatchUpdateForm() { // WeaForm weaForm = new WeaForm(); // WeaFormItem batchUpdateItem = new WeaFormItem(WeaFormItemType.SELECT); // List options = new ArrayList<>(); // options.add(new WeaFormOption("employmentStatus", SalaryI18nUtil.getI18nLabel(91075, "状态"))); // options.add(new WeaFormOption("employmentType", SalaryI18nUtil.getI18nLabel(156396, "任职受雇从业类型"))); // options.add(new WeaFormOption("employmentDate", SalaryI18nUtil.getI18nLabel(156409, "任职受雇从业日期"))); // options.add(new WeaFormOption("dismissDate", SalaryI18nUtil.getI18nLabel(95228, "离职日期"))); // options.add(new WeaFormOption("deductExpenses", SalaryI18nUtil.getI18nLabel(156402, "是否扣除减除费用"))); // batchUpdateItem.setOptions(options); // // Map otherParams = new HashMap<>(); // WeaFormSalaryItem employmentStatus = new WeaFormSalaryItem(WeaFormItemType.SELECT); // employmentStatus.setRequired(true); // employmentStatus.setOptions(enum2Option(EmploymentStatusEnum.class)); // otherParams.put("employmentStatus", employmentStatus); // WeaFormSalaryItem employmentType = new WeaFormSalaryItem(WeaFormItemType.SELECT); // employmentType.setRequired(true); // employmentType.setOptions(enum2Option(EmploymentTypeEnum.class)); // otherParams.put("employmentType", employmentType); // WeaFormSalaryItem employmentDate = new WeaFormSalaryItem(WeaFormItemType.DATEPICKER); // employmentDate.setRequired(true); // otherParams.put("employmentDate", employmentDate); // WeaFormSalaryItem dismissDate = new WeaFormSalaryItem(WeaFormItemType.DATEPICKER); // dismissDate.setRequired(true); // otherParams.put("dismissDate", dismissDate); // WeaFormSalaryItem deductExpenses = new WeaFormSalaryItem(WeaFormItemType.RADIO); // deductExpenses.setRequired(true); // deductExpenses.setOptions(enum2Option(SalaryOnOffEnum.class)); // otherParams.put("deductExpenses", deductExpenses); // batchUpdateItem.setOtherParams(otherParams); // weaForm.getItems().put("batchUpdateItem", batchUpdateItem); // // List firstLine = new ArrayList<>(); // firstLine.add(new WeaFormLayout("batchUpdateItem", SalaryI18nUtil.getI18nLabel(145214, "批量编辑项目"), new String[]{"batchUpdateItem"})); // List secondLine = new ArrayList<>(); // secondLine.add(new WeaFormLayout("itemValue", SalaryI18nUtil.getI18nLabel(145215, "批量编辑为"), new String[]{"itemValue"})); // weaForm.getLayout().add(firstLine); // weaForm.getLayout().add(secondLine); // return weaForm; // } // // private List enum2Option(Class optionsEnum) { // BaseEnum[] enumConstants = optionsEnum.getEnumConstants(); // List weaFormOptions = Lists.newArrayListWithExpectedSize(enumConstants.length); // for (BaseEnum enumConstant : enumConstants) { // weaFormOptions.add(new WeaFormOption(enumConstant.name(), // SalaryI18nUtil.getI18nLabel(enumConstant.getLabelId(), enumConstant.getDefaultLabel()))); // } // return weaFormOptions; // } // // /** // * 人员报送-获取高级搜索条件 // * // * @return // */ // public WeaSearchCondition getSearchCondition() { // EmployeeDeclareConditionDTO employeeDeclareCondition = new EmployeeDeclareConditionDTO(); // WeaSearchCondition searchCondition = SalaryFormatUtil.getInstance() // .buildCondition(EmployeeDeclareConditionDTO.class, employeeDeclareCondition, "employeeDeclareCondition"); // // "其他条件"不要 // searchCondition.getGroups().remove(1); // searchCondition.getItems().forEach((k, v) -> { // if (Objects.equals(k, "employmentDate") || Objects.equals(k, "dismissDate")) { // Map otherParams = new HashMap<>(); // otherParams.put("isRange", "true"); // v.setOtherParams(otherParams); // } // }); // return searchCondition; // } /** * 人员报送-新增人员/编辑人员保存 * * @param saveParam */ public void save(EmployeeDeclareSaveParam saveParam) { getEmployeeDeclareService(user).save(saveParam); } /** * 批量编辑 * * @param batchUpdateParam */ public void batchUpdate(EmployeeDeclareBatchUpdateParam batchUpdateParam) { getEmployeeDeclareService(user).batchUpdate(batchUpdateParam); } /** * 人员报送-删除 * * @param ids */ public void deleteByIds(Collection ids) { getEmployeeDeclareService(user).deleteByIds(ids); } /** * 人员报送-刷新数据 * * @param refreshParam */ public String refresh(EmployeeDeclareRefreshParam refreshParam) { EmployeeDeclareRateDTO employeeDeclareRate = new EmployeeDeclareRateDTO() .setIndex(UUID.randomUUID().toString()) .setStatus(true) .setFinish(false) .setMsg(""); Util_DataCache.setObjVal(SalaryCacheKey.EMPLOYEE_DECLARE + "-" + employeeDeclareRate.getIndex(), employeeDeclareRate); LocalRunnable localRunnable = new LocalRunnable() { @Override public void execute() { try { getEmployeeDeclareService(user).refresh(refreshParam, Long.valueOf(user.getUID())); employeeDeclareRate.setFinish(true); } catch (Exception e) { log.error("刷新数据失败:{}", e.getMessage(), e); employeeDeclareRate.setStatus(false).setFinish(true).setMsg(e.getMessage()); } finally { Util_DataCache.setObjVal(SalaryCacheKey.EMPLOYEE_DECLARE + "-" + employeeDeclareRate.getIndex(), employeeDeclareRate); } } }; ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "refresh", localRunnable); return employeeDeclareRate.getIndex(); } /** * 人员报送-获取人员报送的整体情况 * * @param employeeDeclareParam * @return */ public EmployeeDeclareInfoDTO getDeclareInfo(EmployeeDeclareParam employeeDeclareParam) { return getEmployeeDeclareService(user).getDeclareInfo(employeeDeclareParam); } /** * 人员报送-全部报送 * * @param param */ public String declare(EmployeeDeclareParam param) { EmployeeDeclareRateDTO employeeDeclareRate = new EmployeeDeclareRateDTO() .setIndex(UUID.randomUUID().toString()) .setStatus(true) .setFinish(false) .setMsg(""); getSalaryCacheService(user).set(SalaryCacheKey.EMPLOYEE_DECLARE + employeeDeclareRate.getIndex(), employeeDeclareRate); // if (!cacheResult) { // throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(156513, "全部报送失败")); // } LocalRunnable localRunnable = new LocalRunnable() { @Override public void execute() { try { getEmployeeDeclareService(user).declare(param); employeeDeclareRate.setFinish(true); } catch (SalaryRunTimeException e) { employeeDeclareRate.setStatus(false).setFinish(true).setMsg(e.getMessage()); } catch (Exception e) { log.error("全部报送失败:{}", e.getMessage(), e); employeeDeclareRate.setStatus(false).setFinish(true).setMsg(SalaryI18nUtil.getI18nLabel(187472, "系统错误,请联系管理员:") + e.getMessage()); } finally { getSalaryCacheService(user).set(SalaryCacheKey.EMPLOYEE_DECLARE + employeeDeclareRate.getIndex(), employeeDeclareRate); } } }; ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "declare", localRunnable); return employeeDeclareRate.getIndex(); } /** * 人员报送-获取报送结果反馈 * * @param param */ public String getDeclareFeedback(EmployeeDeclareParam param) { EmployeeDeclareRateDTO employeeDeclareRate = new EmployeeDeclareRateDTO() .setIndex(UUID.randomUUID().toString()) .setStatus(true) .setFinish(false) .setMsg(""); getSalaryCacheService(user).set(SalaryCacheKey.EMPLOYEE_DECLARE + employeeDeclareRate.getIndex(), employeeDeclareRate); // if (!cacheResult) { // throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(tenantKey, employeeId, 156514, "获取报送结果反馈失败")); // } LocalRunnable localRunnable = new LocalRunnable() { @Override public void execute() { try { getEmployeeDeclareService(user).getDeclareFeedback(param, employeeDeclareRate); employeeDeclareRate.setFinish(true); } catch (SalaryRunTimeException e) { employeeDeclareRate.setStatus(false).setFinish(true).setMsg(e.getMessage()); } catch (Exception e) { log.error("获取报送结果反馈失败:{}", e.getMessage(), e); employeeDeclareRate.setStatus(false).setFinish(true).setMsg(SalaryI18nUtil.getI18nLabel(187472, "系统错误,请联系管理员:") + e.getMessage()); } finally { getSalaryCacheService(user).set(SalaryCacheKey.EMPLOYEE_DECLARE + employeeDeclareRate.getIndex(), employeeDeclareRate); } } }; ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "getDeclareFeedback", localRunnable); return employeeDeclareRate.getIndex(); } /** * 获取人员报送相关后端接口是否已经完成 * * @param index * @return */ public EmployeeDeclareRateDTO getRate(String index) { return getSalaryCacheService(user).get(SalaryCacheKey.EMPLOYEE_DECLARE + index); } // /** // * 人员报送-导出本月全部的人员 // * // * @param queryParam // * @param simpleEmployee // * @return // */ // public Map export(EmployeeDeclareListQueryParam queryParam, SimpleEmployee simpleEmployee) { // ExcelExportParam excelExportParam = new ExcelExportParam() // .setBiz(String.valueOf(IdGenerator.generate())) // .setModule(EntityType.hrmsalary.name()) // .setFunction("exportEmployeeDeclare"); // LocalRunnable localRunnable = new LocalRunnable() { // @Override // public void execute() { // employeeDeclareExcelService.export(excelExportParam, queryParam, simpleEmployee); // } // }; // ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployeeDeclare", localRunnable); // return JsonUtil.parseMap(excelExportParam, Object.class); // } // // /** // * 人员报送-导出本月新增的人员 // * // * @param queryParam // * @param simpleEmployee // * @return // */ // public Map export4Add(EmployeeDeclareAddListQueryParam queryParam, SimpleEmployee simpleEmployee) { // ExcelExportParam excelExportParam = new ExcelExportParam() // .setBiz(String.valueOf(IdGenerator.generate())) // .setModule(EntityType.hrmsalary.name()) // .setFunction("exportEmployeeDeclare4Add"); // LocalRunnable localRunnable = new LocalRunnable() { // @Override // public void execute() { // employeeDeclareExcelService.export4Add(excelExportParam, queryParam, simpleEmployee); // } // }; // ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployeeDeclare4Add", localRunnable); // return JsonUtil.parseMap(excelExportParam, Object.class); // } // // /** // * 人员报送-导出本月信息变动的人员 // * // * @param queryParam // * @param simpleEmployee // * @return // */ // public Map export4Update(EmployeeDeclareListQueryParam queryParam, SimpleEmployee simpleEmployee) { // ExcelExportParam excelExportParam = new ExcelExportParam() // .setBiz(String.valueOf(IdGenerator.generate())) // .setModule(EntityType.hrmsalary.name()) // .setFunction("exportEmployeeDeclare4Update"); // LocalRunnable localRunnable = new LocalRunnable() { // @Override // public void execute() { // employeeDeclareExcelService.export4Update(excelExportParam, queryParam, simpleEmployee); // } // }; // ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployeeDeclare4Update", localRunnable); // return JsonUtil.parseMap(excelExportParam, Object.class); // } // // /** // * 人员报送-导出本月报送失败的人员 // * // * @param queryParam // * @param simpleEmployee // * @return // */ // public Map export4Fail(EmployeeDeclareFailListQueryParam queryParam, SimpleEmployee simpleEmployee) { // ExcelExportParam excelExportParam = new ExcelExportParam() // .setBiz(String.valueOf(IdGenerator.generate())) // .setModule(EntityType.hrmsalary.name()) // .setFunction("exportEmployeeDeclare4Fail"); // LocalRunnable localRunnable = new LocalRunnable() { // @Override // public void execute() { // employeeDeclareExcelService.export4Fail(excelExportParam, queryParam, simpleEmployee); // } // }; // ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployeeDeclare4Fail", localRunnable); // return JsonUtil.parseMap(excelExportParam, Object.class); // } // // /** // * 人员报送-导出导入模板 // * // * @param importParam // * @param simpleEmployee // * @return // */ // public Map exportTemplate(EmployeeDeclareImportParam importParam, SimpleEmployee simpleEmployee) { // ExcelExportParam excelExportParam = new ExcelExportParam() // .setBiz(String.valueOf(IdGenerator.generate())) // .setModule(EntityType.hrmsalary.name()) // .setFunction("exportEmployeeDeclareTemplate"); // LocalRunnable localRunnable = new LocalRunnable() { // @Override // public void execute() { // employeeDeclareExcelService.exportTemplate(excelExportParam, importParam, simpleEmployee); // } // }; // ThreadPoolUtil.fixedPoolExecute(ModulePoolEnum.OTHER, "exportEmployeeDeclareTemplate", localRunnable); // return JsonUtil.parseMap(excelExportParam, Object.class); // } }