Merge branch 'release/个税版本' into feature/申报明细

# Conflicts:
#	src/com/engine/salary/web/EmployeeDeclareController.java
This commit is contained in:
钱涛 2023-12-08 16:44:38 +08:00
commit 942f6baa32
7 changed files with 782 additions and 40 deletions

View File

@ -96,8 +96,8 @@ public class TaxAgentTaxReturnBO {
requestMap.put("djxhid", taxAgentTaxReturn.getTaxRegistrationNumber()); requestMap.put("djxhid", taxAgentTaxReturn.getTaxRegistrationNumber());
requestMap.put("nsrsbh", taxAgentTaxReturn.getTaxCode()); requestMap.put("nsrsbh", taxAgentTaxReturn.getTaxCode());
requestMap.put("areaid", taxAgentTaxReturn.getAreaCode()); requestMap.put("areaid", taxAgentTaxReturn.getAreaCode());
requestMap.put("bmbh", ""); requestMap.put("bmbh", taxAgentTaxReturn.getDepartmentCode());
requestMap.put("bmmc", ""); requestMap.put("bmmc", taxAgentTaxReturn.getDepartmentName());
return requestMap; return requestMap;
} }

View File

@ -0,0 +1,54 @@
package com.engine.salary.service;
import com.engine.salary.entity.employeedeclare.param.EmployeeDeclareListQueryParam;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
/**
* @description: 人员报送人员导入导出
* @author: xiajun
* @modified By: xiajun
* @date: Created in 9/5/22 10:22 AM
* @version:v1.0
*/
public interface EmployeeDeclareExcelService {
/**
* 导出下载模板
*
* @param importParam
* @return
*/
// Map<String, Object> exportTemplate(EmployeeDeclareImportParam importParam);
/**
* 导出人员信息采集-全部
*
* @param queryParam
* @return
*/
XSSFWorkbook export(EmployeeDeclareListQueryParam queryParam);
// /**
// * 导出人员信息采集-本月新增
// *
// * @param queryParam
// * @return
// */
// XSSFWorkbook export4Add(EmployeeDeclareAddListQueryParam queryParam);
//
// /**
// * 导出人员信息采集-本月信息变动
// *
// * @param queryParam
// * @return
// */
// XSSFWorkbook export4Update(EmployeeDeclareListQueryParam queryParam);
//
// /**
// * 导出人员信息采集-本月报送失败
// *
// * @param queryParam
// * @return
// */
// XSSFWorkbook export4Fail(EmployeeDeclareFailListQueryParam queryParam);
}

View File

@ -134,7 +134,21 @@ public abstract class AbstractTaxAgentTaxReturnCheckService extends Service impl
for (int i = 1; i <= registerInfos.size(); i++) { for (int i = 1; i <= registerInfos.size(); i++) {
CompanyRegisterInfoResponse.CompanyRegisterInfo registerInfo = registerInfos.get(i - 1); CompanyRegisterInfoResponse.CompanyRegisterInfo registerInfo = registerInfos.get(i - 1);
SalaryAssert.notNull(registerInfo.getFbmba(), "税局接口异常,请稍后重试"); SalaryAssert.notNull(registerInfo.getFbmba(), "税局接口异常,请稍后重试");
TaxAgentTaxReturnCheckFormDTO checkFormDTO = TaxAgentTaxReturnCheckFormDTO.builder().taxAgentName(registerInfo.getQymc()).taxAgentId(saveParam.getTaxAgentId()).taxCode(saveParam.getTaxCode()).businessAddress(registerInfo.getScjydz()).legalPersonName(registerInfo.getFrxm()).mobile(registerInfo.getLxdh()).industryName(registerInfo.getHymc()).taxAuthorities(registerInfo.getZgswjgmc()).taxBranch(registerInfo.getZgswjgskmc()).taxRegistrationNumber(registerInfo.getDjxhid()).divideFiling(SalaryOnOffEnum.parseByValue(Integer.parseInt(registerInfo.getFbmba()))).index((long) i).build(); TaxAgentTaxReturnCheckFormDTO checkFormDTO = TaxAgentTaxReturnCheckFormDTO
.builder()
.taxAgentName(registerInfo.getQymc())
.taxAgentId(saveParam.getTaxAgentId())
.taxCode(saveParam.getTaxCode())
.businessAddress(registerInfo.getScjydz())
.legalPersonName(registerInfo.getFrxm())
.mobile(registerInfo.getLxdh())
.industryName(registerInfo.getHymc())
.taxAuthorities(registerInfo.getZgswjgmc())
.taxBranch(registerInfo.getZgswjgskmc())
.taxRegistrationNumber(registerInfo.getDjxhid())
.divideFiling(SalaryOnOffEnum.parseByValue(Integer.parseInt(registerInfo.getFbmba())))
.index((long) i)
.build();
checkFormDTOList.add(checkFormDTO); checkFormDTOList.add(checkFormDTO);
} }
return checkFormDTOList; return checkFormDTOList;

View File

@ -0,0 +1,649 @@
package com.engine.salary.service.impl;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.annotation.SalaryTableColumn;
import com.engine.salary.entity.employeedeclare.dto.EmployeeDeclareListDTO;
import com.engine.salary.entity.employeedeclare.param.EmployeeDeclareListQueryParam;
import com.engine.salary.entity.employeedeclare.po.EmployeeDeclarePO;
import com.engine.salary.service.EmployeeDeclareExcelService;
import com.engine.salary.service.EmployeeDeclareService;
import com.engine.salary.service.SalaryEmployeeService;
import com.engine.salary.service.TaxAgentService;
import com.engine.salary.util.JsonUtil;
import com.engine.salary.util.excel.ExcelUtil;
import com.google.common.collect.Lists;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.hrm.User;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @description: 人员报送人员导入导出
* @author: xiajun
* @modified By: xiajun
* @date: Created in 9/7/22 5:39 PM
* @version:v1.0
*/
@Slf4j
public class EmployeeDeclareExcelServiceImpl extends Service implements EmployeeDeclareExcelService {
private EmployeeDeclareService getEmployeeDeclareService(User user) {
return ServiceUtil.getService(EmployeeDeclareServiceImpl.class, user);
}
private SalaryEmployeeService getSalaryEmployeeService(User user) {
return ServiceUtil.getService(SalaryEmployeeServiceImpl.class, user);
}
// private ExtEmployeeService extEmployeeService;
private TaxAgentService getTaxAgentService(User user) {
return ServiceUtil.getService(TaxAgentServiceImpl.class, user);
}
// @Override
// public Map<String, Object> exportTemplate( EmployeeDeclareImportParam importParam) {
// String tenantKey = simpleEmployee.getTenantKey();
// Long currentEmployeeId = simpleEmployee.getEmployeeId();
// // 查询人员
// List<EmployeeDeclarePO> employeeDeclares = Collections.emptyList();
// if (StringUtils.equalsIgnoreCase(importParam.getExportData(), "true")) {
// employeeDeclares = getEmployeeDeclareService(user).listByParam(importParam);
// }
// String yesI18 = SalaryI18nUtil.getI18nLabel( 84967, "");
// String noI18 = SalaryI18nUtil.getI18nLabel( 84968, "");
// List<List<Object>> rows = Lists.newArrayList();
// for (EmployeeDeclarePO employeeDeclare : employeeDeclares) {
// EmploymentStatusEnum employmentStatusEnum = SalaryEnumUtil.enumMatchByValue(employeeDeclare.getEmploymentStatus(), EmploymentStatusEnum.class);
// EmploymentTypeEnum employmentTypeEnum = SalaryEnumUtil.enumMatchByValue(employeeDeclare.getEmploymentType(), EmploymentTypeEnum.class);
// List<Object> row = Lists.newArrayList();
// row.add(employeeDeclare.getJobNum());
// row.add(employeeDeclare.getEmployeeName());
// row.add(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getDefaultLabel());
// row.add(employeeDeclare.getCardNum());
// row.add(employmentStatusEnum == null ? "" : employmentStatusEnum.getDefaultLabel());
// row.add(employmentTypeEnum == null ? "" : employmentTypeEnum.getDefaultLabel());
// row.add(employeeDeclare.getEmploymentFirstYear());
// row.add(employeeDeclare.getMobile());
// row.add(Util.null2String(employeeDeclare.getEmploymentDate()));
// row.add(Util.null2String(employeeDeclare.getDismissDate()));
// row.add(Objects.equals(employeeDeclare.getDisability(), 1) ? yesI18 : noI18);
// row.add(employeeDeclare.getDisabilityCardNo());
// row.add(Objects.equals(employeeDeclare.getMartyrDependents(), 1) ? yesI18 : noI18);
// row.add(employeeDeclare.getMartyrDependentsCardNo());
// row.add(Objects.equals(employeeDeclare.getLonelyOld(), 1) ? yesI18 : noI18);
// row.add(Objects.equals(employeeDeclare.getDeductExpenses(), 1) ? yesI18 : noI18);
// rows.add(row);
// }
// // 组装excel导出数据
// String[] headers = getImportHeader(currentEmployeeId, tenantKey).toArray(new String[0]);
// ExcelSheetData excelSheetData = new ExcelSheetData();
// excelSheetData.setSheetName(SalaryI18nUtil.getI18nLabel( 156425, "人员信息采集"));
// excelSheetData.setHeaders(Collections.singletonList(headers));
// excelSheetData.setRows(rows);
// ExportExcelInfo exportExcelInfo = ExportExcelInfo.builder()
// .fileName(SalaryI18nUtil.getI18nLabel( 156424, "人员信息采集导入模板") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now()))
// .dataType(SalaryI18nUtil.getI18nLabel( 156424, "人员信息采集导入模板"))
// .function(excelExportParam.getFunction())
// .handlerName("exportEmployeeDeclareTemplate")
// .flag(true)
// .bizId(excelExportParam.getBiz())
// .module(excelExportParam.getModule())
// .userId(simpleEmployee.getEmployeeId())
// .tenantKey(simpleEmployee.getTenantKey())
// .operator(simpleEmployee.getUsername())
// .eteamsId(TenantRpcContext.getEteamsId())
// .build();
// return salaryBatchService.simpleExportExcel(exportExcelInfo, Collections.singletonList(excelSheetData));
// }
//
// @BatchExportHandler("exportEmployeeDeclareTemplate")
// private void exportEmployeeDeclareTemplate() {
// BatchCallbackMessage message = BatchExportContext.getBatchCallbackMessage();
// log.info("导出结束:{}", JsonUtil.toJsonString(message));
// }
@Override
public XSSFWorkbook export(EmployeeDeclareListQueryParam queryParam) {
// 查询需要报送的人员
List<EmployeeDeclarePO> employeeDeclares = getEmployeeDeclareService(user).listByParam(queryParam);
// 转换成dto
List<EmployeeDeclareListDTO> dtoList = getEmployeeDeclareService(user).convert(employeeDeclares);
// 需要导出的数据
List<List<Object>> excelSheetData = getExcelSheetData(EmployeeDeclareListDTO.class, dtoList);
return ExcelUtil.genWorkbookV2(excelSheetData, "人员信息采集");
}
// @Override
// public XSSFWorkbook export4Add(EmployeeDeclareAddListQueryParam queryParam) {
// String tenantKey = simpleEmployee.getTenantKey();
// Long currentEmployeeId = simpleEmployee.getEmployeeId();
// // 查询需要报送的人员
// List<EmployeeDeclarePO> employeeDeclares = getEmployeeDeclareService(user).list4AddByParam(queryParam);
// // 转换成dto
// List<EmployeeDeclareListDTO> dtoList = getEmployeeDeclareService(user).convert(employeeDeclares);
// // 需要导出的数据
// ExcelSheetData excelSheetData = getExcelSheetData(EmployeeDeclareListDTO.class, dtoList);
// CustomExportUtil.customColumnsBuild(false, queryParam.getCustomColumns(), excelSheetData);
// ExportExcelInfo exportExcelInfo = ExportExcelInfo.builder()
// .fileName(SalaryI18nUtil.getI18nLabel(156426, "人员信息采集本月新增") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now()))
// .dataType(SalaryI18nUtil.getI18nLabel(156426, "人员信息采集本月新增"))
// .function(excelExportParam.getFunction())
// .handlerName("exportEmployeeDeclare4Add")
// .flag(true)
// .bizId(excelExportParam.getBiz())
// .module(excelExportParam.getModule())
// .userId(simpleEmployee.getEmployeeId())
// .tenantKey(simpleEmployee.getTenantKey())
// .operator(simpleEmployee.getUsername())
// .eteamsId(TenantRpcContext.getEteamsId())
// .build();
// return salaryBatchService.simpleExportExcel(exportExcelInfo, Collections.singletonList(excelSheetData));
// }
//
// @BatchExportHandler("exportEmployeeDeclare4Add")
// private void exportEmployeeDeclare4Add() {
// BatchCallbackMessage message = BatchExportContext.getBatchCallbackMessage();
// log.info("导出结束:{}", JsonUtil.toJsonString(message));
// }
//
// @Override
// public XSSFWorkbook export4Update(EmployeeDeclareListQueryParam queryParam) {
// String tenantKey = simpleEmployee.getTenantKey();
// Long currentEmployeeId = simpleEmployee.getEmployeeId();
// // 查询需要报送的人员
// List<EmployeeDeclarePO> employeeDeclares = getEmployeeDeclareService(user).list4UpdateByParam(queryParam);
// // 转换成dto
// List<EmployeeDeclareListDTO> dtoList = getEmployeeDeclareService(user).convert(employeeDeclares);
// // 需要导出的数据
// ExcelSheetData excelSheetData = getExcelSheetData(EmployeeDeclareListDTO.class, dtoList);
// CustomExportUtil.customColumnsBuild(false, queryParam.getCustomColumns(), excelSheetData);
// ExportExcelInfo exportExcelInfo = ExportExcelInfo.builder()
// .fileName(SalaryI18nUtil.getI18nLabel(156427, "人员信息采集本月信息变动") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now()))
// .dataType(SalaryI18nUtil.getI18nLabel(156427, "人员信息采集本月信息变动"))
// .function(excelExportParam.getFunction())
// .handlerName("exportEmployeeDeclare4Update")
// .flag(true)
// .bizId(excelExportParam.getBiz())
// .module(excelExportParam.getModule())
// .userId(simpleEmployee.getEmployeeId())
// .tenantKey(simpleEmployee.getTenantKey())
// .operator(simpleEmployee.getUsername())
// .eteamsId(TenantRpcContext.getEteamsId())
// .build();
// return salaryBatchService.simpleExportExcel(exportExcelInfo, Collections.singletonList(excelSheetData));
// }
//
// @BatchExportHandler("exportEmployeeDeclare4Update")
// private void exportEmployeeDeclare4Update() {
// BatchCallbackMessage message = BatchExportContext.getBatchCallbackMessage();
// log.info("导出结束:{}", JsonUtil.toJsonString(message));
// }
//
// @Override
// public XSSFWorkbook export4Fail(EmployeeDeclareFailListQueryParam queryParam) {
// String tenantKey = simpleEmployee.getTenantKey();
// Long currentEmployeeId = simpleEmployee.getEmployeeId();
// // 查询需要报送的人员
// List<EmployeeDeclarePO> employeeDeclares = getEmployeeDeclareService(user).list4FailByParam(queryParam);
// // 转换成dto
// List<EmployeeDeclareFailListDTO> dtos = getEmployeeDeclareService(user).convert2FailListDTO(employeeDeclares);
// // 需要导出的数据
// ExcelSheetData excelSheetData = getExcelSheetData(EmployeeDeclareFailListDTO.class, dtos);
// ExportExcelInfo exportExcelInfo = ExportExcelInfo.builder()
// .fileName(SalaryI18nUtil.getI18nLabel(156428, "人员信息采集本月报送失败") + "-" + SalaryDateUtil.getFormatLocalDate(LocalDateTime.now()))
// .dataType(SalaryI18nUtil.getI18nLabel(156428, "人员信息采集本月报送失败"))
// .function(excelExportParam.getFunction())
// .handlerName("exportEmployeeDeclare4Fail")
// .flag(true)
// .bizId(excelExportParam.getBiz())
// .module(excelExportParam.getModule())
// .userId(simpleEmployee.getEmployeeId())
// .tenantKey(simpleEmployee.getTenantKey())
// .operator(simpleEmployee.getUsername())
// .eteamsId(TenantRpcContext.getEteamsId())
// .build();
// return salaryBatchService.simpleExportExcel(exportExcelInfo, Collections.singletonList(excelSheetData));
// }
private <T> List<List<Object>> getExcelSheetData(Class<T> clazz, List<T> dtoList) {
// 导出的表头
Map<String, List<Object>> headerMap = getHeader(clazz);
// 导出的数据
List<List<Object>> rows = new ArrayList<>();
rows.add(headerMap.get("header"));
dtoList.forEach(dto -> {
Map<String, Object> map = JsonUtil.parseMap(dto, Object.class);
List<Object> row = Lists.newArrayListWithExpectedSize(headerMap.get("dataIndex").size());
headerMap.get("dataIndex").forEach(dataIndex -> row.add(map.get(dataIndex)));
rows.add(row);
});
return rows;
}
//
// @Transactional(rollbackFor = Exception.class)
// @BatchImportHandler("importEmployeeDeclare")
// public void importEmployeeDeclare() {
// BatchDocumentMessage message = BatchImportContext.getBatchDocumentMessage();
// Long employeeId = message.getUserId();
// String tenantKey = message.getTenantKey();
// try {
// LocalDateTime now = LocalDateTime.now();
// Map<String, Object> paramMap = JsonUtil.parseMap(message.getUploadSet().getCustomData(), Object.class);
// // 个税扣缴义务人id
// Long taxAgentId = Util.getLongValue(Util.null2String(paramMap.get("taxAgentId")));
// TaxAgentPO taxAgent = getTaxAgentService(user).getById(taxAgentId, employeeId, tenantKey);
// if (taxAgent == null) {
// salaryBatchService.sendImportCallBackInfo(message, SalaryI18nUtil.getI18nLabel(employeeId, 187469, "参数错误,无法找到个税扣缴义务人"));
// return;
// }
// // 税款所属期
// String taxCycle = Util.null2String(paramMap.get("taxCycle"));
// if (!SalaryDateUtil.checkYearMonth(taxCycle)) {
// salaryBatchService.sendImportCallBackInfo(message, SalaryI18nUtil.getI18nLabel(employeeId, 156384, "参数错误,税款所属期参数格式错误"));
// return;
// }
//
// // 导出模板中的表头
// List<String> headerList = getImportHeader(employeeId, tenantKey);
// // 查询所有的人员
// List<Long> orgEmployeeIds = hrmCommonEmployeeService.getAllEmployee(tenantKey);
// List<SimpleEmployee> simpleEmployees = hrmCommonEmployeeService.getEmployeeByIds(orgEmployeeIds, tenantKey);
// // 查询所有的外部人员
// List<ExtEmployeePO> extEmployees = extEmployeeService.listAll(tenantKey);
// // 查询人员报送表的人员
// List<EmployeeDeclarePO> employeeDeclares = getEmployeeDeclareService(user).listByTaxCycleAndTaxAgentId(YearMonth.parse(taxCycle),
// taxAgentId, tenantKey);
// // 校验字段
// String checkType = Util.null2String(paramMap.getOrDefault("checkType", "jobNum"));
// Map<String, ExtEmployeePO> extEmployeeMap = Maps.newHashMap();
// Map<String, SimpleEmployee> simpleEmployeeMap = Maps.newHashMap();
// Map<String, EmployeeDeclarePO> employeeDeclareMap = Maps.newHashMapWithExpectedSize(employeeDeclares.size());
// if (Objects.equals(checkType, "jobNum")) {
// extEmployeeMap = Collections.emptyMap();
// simpleEmployeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, SimpleEmployee::getJobNum);
// employeeDeclareMap = SalaryEntityUtil.convert2Map(employeeDeclares, EmployeeDeclarePO::getJobNum);
// } else {
// // 查询所有人员的个人信息
// List<SimpleUserInfo> simpleUserInfos = getSalaryEmployeeService(user).listByEmployeeIds(orgEmployeeIds, tenantKey);
// Map<Long, SimpleEmployee> idKeySimpleEmployeeMap = SalaryEntityUtil.convert2Map(simpleEmployees, SimpleEmployee::getId);
// for (SimpleUserInfo simpleUserInfo : simpleUserInfos) {
// if (idKeySimpleEmployeeMap.containsKey(simpleUserInfo.getEmployeeId())) {
// simpleEmployeeMap.put(simpleUserInfo.getIdNo(), idKeySimpleEmployeeMap.get(simpleUserInfo.getEmployeeId()));
// }
// }
// extEmployeeMap = SalaryEntityUtil.convert2Map(extEmployees, ExtEmployeePO::getCardNum);
// employeeDeclareMap = SalaryEntityUtil.convert2Map(employeeDeclares, EmployeeDeclarePO::getCardNum);
//
// }
// // 需要新增的报送人员
// List<EmployeeDeclarePO> needAddEmployeeDeclares = Lists.newArrayList();
// // 需要更新的报送人员
// List<EmployeeDeclarePO> needUpdateEmployeeDeclares = Lists.newArrayList();
// // 索引(用于计算进度)
// int index = 0;
// // 失败的数量
// int failCount = 0;
// // 成功的数量
// int successCount = 0;
// // 错误行的索引
// int failRowIndex = 1;
// // 包含错误提示信息的sheet页
// List<ExcelSheet> errorExcelSheets = Lists.newArrayList();
// for (ExcelSheet excelSheet : message.getBatchFile().getExcelSheets()) {
// if (CollectionUtils.isEmpty(excelSheet.getHeader())) {
// continue;
// }
// // 表头
// List<String> headers = excelSheet.getHeader().stream()
// .map(m -> Util.null2String(m.get("key")))
// .collect(Collectors.toList());
// // 检查表头
// boolean isCorrectHeader = checkHeader(message, headers, headerList);
// if (!isCorrectHeader) {
// return;
// }
// // 表头每一列的位置
// Map<String, Integer> columnIndexMap = Maps.newHashMap();
// for (int i = 0; i < headers.size(); i++) {
// columnIndexMap.put(headers.get(i), i);
// }
// // 数据
// List<Map<String, Object>> data = excelSheet.getData();
// if (CollectionUtils.isEmpty(data)) {
// continue;
// }
// // 错误提示信息
// List<ExcelComment> excelComments = Lists.newArrayList();
// // 存在错误的那行数据
// List<Map<String, Object>> errorData = Lists.newArrayList();
// for (int i = 0; i < data.size(); i++) {
// Map<String, Object> map = data.get(i);
// // 数据是否存在错误
// boolean isError = false;
// EmployeeDeclareExcelDTO employeeDeclareExcel = new EmployeeDeclareExcelDTO();
// for (String dataKey : getImportHeader(employeeId, tenantKey)) {
// Integer j = columnIndexMap.get(dataKey);
// String dataValue = Util.null2String(map.get(dataKey));
// if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 86317, "工号"))) {
// if (StringUtils.equals(checkType, "jobNum") && StringUtils.isEmpty(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 136250, "工号不能为空"), failRowIndex, failRowIndex, j, j);
// }
// employeeDeclareExcel.setJobNum(dataValue);
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 85429, "姓名"))) {
// if (StringUtils.isEmpty(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 102838, "姓名不能为空"), failRowIndex, failRowIndex, j, j);
// } else {
// employeeDeclareExcel.setEmployeeName(dataValue);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 105139, "证件类型"))) {
// employeeDeclareExcel.setCardType(CardTypeEnum.RESIDENT_IDENTITY_CARDS.getValue());
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 86318, "证件号码"))) {
// if (StringUtils.isEmpty(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156386, "证件号码不能为空"), failRowIndex, failRowIndex, j, j);
// } else if (!SalaryCardUtil.checkIdNum(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156429, "证件号码格式不正确"), failRowIndex, failRowIndex, j, j);
// } else {
// employeeDeclareExcel.setCardNum(dataValue);
// employeeDeclareExcel.setGender(SalaryCardUtil.judgeGender(dataValue).getValue());
// employeeDeclareExcel.setBirthday(SalaryCardUtil.judgeBirthday(dataValue));
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156394, "人员状态"))) {
// boolean legalDataValue = false;
// for (EmploymentStatusEnum employmentStatusEnum : EmploymentStatusEnum.values()) {
// if (StringUtils.equals(dataValue, employmentStatusEnum.getDefaultLabel())) {
// legalDataValue = true;
// employeeDeclareExcel.setEmploymentStatus(employmentStatusEnum.getValue());
// break;
// }
// }
// if (!legalDataValue) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156430, "人员状态只能填写正常或非正常"), failRowIndex, failRowIndex, j, j);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156396, "任职受雇从业类型"))) {
// boolean legalDataValue = false;
// for (EmploymentTypeEnum employmentTypeEnum : EmploymentTypeEnum.values()) {
// if (StringUtils.equals(dataValue, employmentTypeEnum.getDefaultLabel())) {
// legalDataValue = true;
// employeeDeclareExcel.setEmploymentType(employmentTypeEnum.getValue());
// break;
// }
// }
// if (!legalDataValue) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156431, "任职受雇从业类型填写错误"), failRowIndex, failRowIndex, j, j);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 187374, "入职年度就业情形"))) {
// employeeDeclareExcel.setEmploymentFirstYear(dataValue);
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 98621, "手机号码"))) {
// if (StringUtils.isEmpty(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 106429, "手机号码不能为空"), failRowIndex, failRowIndex, j, j);
// } else if (!SalaryCardUtil.checkMobile(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 160510, "手机号码格式不正确"), failRowIndex, failRowIndex, j, j);
// } else {
// employeeDeclareExcel.setMobile(dataValue);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156409, "任职受雇从业日期"))) {
// if (StringUtils.isEmpty(dataValue)) {
// if (!Objects.equals(employeeDeclareExcel.getEmploymentType(), EmploymentTypeEnum.OTHER.getValue())) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 160511, "任职受雇从业类型不为「其他」时,任职受雇从业日期为必填"), failRowIndex, failRowIndex, j, j);
// }
// } else {
// if (!SalaryDateUtil.checkDay(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156432, "日期格式不正确"), failRowIndex, failRowIndex, j, j);
// } else {
// employeeDeclareExcel.setEmploymentDate(LocalDate.parse(dataValue));
// }
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 95228, "离职日期"))) {
// if (StringUtils.isEmpty(dataValue)) {
// if (Objects.equals(employeeDeclareExcel.getEmploymentStatus(), EmploymentStatusEnum.ABNORMAL.getValue())) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 160512, "人员状态为非正常时,离职日期必填"), failRowIndex, failRowIndex, j, j);
// }
// } else {
// if (!SalaryDateUtil.checkDay(dataValue)) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156432, "日期格式不正确"), failRowIndex, failRowIndex, j, j);
// } else {
// employeeDeclareExcel.setDismissDate(LocalDate.parse(dataValue));
// }
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156399, "是否残疾"))) {
// if (StringUtils.equals(dataValue, SalaryOnOffEnum.ON.getDefaultLabel())) {
// employeeDeclareExcel.setDisability(SalaryOnOffEnum.ON.getValue());
// } else if (StringUtils.equals(dataValue, SalaryOnOffEnum.OFF.getDefaultLabel())) {
// employeeDeclareExcel.setDisability(SalaryOnOffEnum.OFF.getValue());
// } else {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156433, "是否残疾只能填写是与否"), failRowIndex, failRowIndex, j, j);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156412, "残疾证号"))) {
// if (StringUtils.isEmpty(dataValue)) {
// if (Objects.equals(employeeDeclareExcel.getDisability(), SalaryOnOffEnum.ON.getValue())) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 160513, "「是否残疾」填「是」时,残疾证号必填"), failRowIndex, failRowIndex, j, j);
// }
// } else {
// employeeDeclareExcel.setDisabilityCardNo(dataValue);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 187385, "是否烈属"))) {
// if (StringUtils.equals(dataValue, SalaryOnOffEnum.ON.getDefaultLabel())) {
// employeeDeclareExcel.setMartyrDependents(SalaryOnOffEnum.ON.getValue());
// } else if (StringUtils.equals(dataValue, SalaryOnOffEnum.OFF.getDefaultLabel())) {
// employeeDeclareExcel.setMartyrDependents(SalaryOnOffEnum.OFF.getValue());
// } else {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156433, "是否烈属只能填写是与否"), failRowIndex, failRowIndex, j, j);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156413, "烈属证号"))) {
// if (StringUtils.isEmpty(dataValue)) {
// if (Objects.equals(employeeDeclareExcel.getMartyrDependents(), SalaryOnOffEnum.ON.getValue())) {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 160514, "「是否烈属」填「是」时,烈属证号必填"), failRowIndex, failRowIndex, j, j);
// }
// } else {
// employeeDeclareExcel.setMartyrDependentsCardNo(dataValue);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156400, "是否孤老"))) {
// if (StringUtils.equals(dataValue, SalaryOnOffEnum.ON.getDefaultLabel())) {
// employeeDeclareExcel.setLonelyOld(SalaryOnOffEnum.ON.getValue());
// } else if (StringUtils.equals(dataValue, SalaryOnOffEnum.OFF.getDefaultLabel())) {
// employeeDeclareExcel.setLonelyOld(SalaryOnOffEnum.OFF.getValue());
// } else {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156434, "是否孤老只能填写是与否"), failRowIndex, failRowIndex, j, j);
// }
// } else if (StringUtils.equals(dataKey, SalaryI18nUtil.getI18nLabel(employeeId, 156402, "是否扣除减除费用"))) {
// if (StringUtils.equals(dataValue, SalaryOnOffEnum.ON.getDefaultLabel())) {
// employeeDeclareExcel.setDeductExpenses(SalaryOnOffEnum.ON.getValue());
// } else if (StringUtils.equals(dataValue, SalaryOnOffEnum.OFF.getDefaultLabel())) {
// employeeDeclareExcel.setDeductExpenses(SalaryOnOffEnum.OFF.getValue());
// } else {
// isError = true;
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156435, "是否扣除减除费用只能填写是与否"), failRowIndex, failRowIndex, j, j);
// }
// }
// }
// if (!isError) {
// if (StringUtils.equals(checkType, "jobNum")) {
// EmployeeDeclarePO employeeDeclare = employeeDeclareMap.get(employeeDeclareExcel.getJobNum());
// if (employeeDeclare == null) {
// ExtEmployeePO extEmployee = extEmployeeMap.get(employeeDeclareExcel.getJobNum());
// SimpleEmployee simpleEmployee = simpleEmployeeMap.get(employeeDeclareExcel.getJobNum());
// if (extEmployee == null && simpleEmployee == null) {
// isError = true;
// String jobNumI18 = SalaryI18nUtil.getI18nLabel(employeeId, 86317, "工号");
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156436, "系统内的人员不存在该工号"), failRowIndex, failRowIndex, headers.indexOf(jobNumI18), headers.indexOf(jobNumI18));
// } else {
// needAddEmployeeDeclares.add(buildEmployeeDeclare(extEmployee, simpleEmployee,
// employeeDeclareExcel, taxAgentId, taxCycle, now, employeeId, tenantKey));
// }
// } else {
// EmployeeDeclarePO newEmployeeDeclare = new EmployeeDeclarePO();
// BeanUtils.copyProperties(employeeDeclare, newEmployeeDeclare);
// BeanUtils.copyProperties(employeeDeclareExcel, newEmployeeDeclare);
// newEmployeeDeclare.setNewEmployeeInfo(StringUtils.equals(employeeDeclare.toCompareString(), newEmployeeDeclare.toCompareString()) ? 0 : 1)
// .setUpdateTime(now);
// needUpdateEmployeeDeclares.add(newEmployeeDeclare);
// if (Objects.equals(newEmployeeDeclare.getNewEmployeeInfo(), 1)) {
// newEmployeeDeclare.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue());
// newEmployeeDeclare.setDeclareErrorMsg("");
// }
// }
// } else {
// EmployeeDeclarePO employeeDeclare = employeeDeclareMap.get(employeeDeclareExcel.getCardNum());
// if (employeeDeclare == null) {
// ExtEmployeePO extEmployee = extEmployeeMap.get(employeeDeclareExcel.getCardNum());
// SimpleEmployee simpleEmployee = simpleEmployeeMap.get(employeeDeclareExcel.getCardNum());
// if (extEmployee == null && simpleEmployee == null) {
// isError = true;
// String cardNoI18 = SalaryI18nUtil.getI18nLabel(employeeId, 86318, "证件号码");
// salaryBatchService.createExcelComment(excelComments, SalaryI18nUtil.getI18nLabel(employeeId, 156437, "系统内的人员不存在该证件号码"), failRowIndex, failRowIndex, headers.indexOf(cardNoI18), headers.indexOf(cardNoI18));
// } else {
// needAddEmployeeDeclares.add(buildEmployeeDeclare(extEmployee, simpleEmployee,
// employeeDeclareExcel, taxAgentId, taxCycle, now, employeeId, tenantKey));
// }
// } else {
// EmployeeDeclarePO newEmployeeDeclare = new EmployeeDeclarePO();
// BeanUtils.copyProperties(employeeDeclare, newEmployeeDeclare);
// BeanUtils.copyProperties(employeeDeclareExcel, newEmployeeDeclare);
// newEmployeeDeclare.setNewEmployeeInfo(StringUtils.equals(employeeDeclare.toCompareString(), newEmployeeDeclare.toCompareString()) ? 0 : 1)
// .setUpdateTime(now);
// if (Objects.equals(newEmployeeDeclare.getNewEmployeeInfo(), 1)) {
// newEmployeeDeclare.setDeclareStatus(DeclareStatusEnum.NOT_DECLARE.getValue());
// newEmployeeDeclare.setDeclareErrorMsg("");
// }
// needUpdateEmployeeDeclares.add(newEmployeeDeclare);
// }
// }
// }
// if (isError) {
// failCount++;
// failRowIndex++;
// errorData.add(map);
// continue;
// }
// successCount++;
// }
// // 如果sheet包含错误数据
// if (CollectionUtils.isNotEmpty(errorData)) {
// salaryBatchService.createErrorExcelSheet(excelSheet.getHeader(), errorData, excelSheet.getName(), excelComments, errorExcelSheets);
// }
// }
// if (CollectionUtils.isNotEmpty(needAddEmployeeDeclares)) {
// getEmployeeDeclareService(user).saveBatch(needAddEmployeeDeclares);
// }
// if (CollectionUtils.isNotEmpty(needUpdateEmployeeDeclares)) {
// getEmployeeDeclareService(user).updateBatchById(needUpdateEmployeeDeclares);
// }
// // 发送导入回调信息
// salaryBatchService.sendImportCallBackInfo(message, successCount, failCount, errorExcelSheets);
// } catch (Exception e) {
// log.error("人员报送信息导入失败:{}", e.getMessage(), e);
// salaryBatchService.sendImportCallBackInfo(message, SalaryI18nUtil.getI18nLabel(employeeId, 156438, "人员报送信息导入失败:") + e.getMessage());
// }
// }
//
// private EmployeeDeclarePO buildEmployeeDeclare(ExtEmployeePO extEmployee,
// EmployeeDeclareExcelDTO employeeDeclareExcel, Long taxAgentId,
// String taxCycle, LocalDateTime now, Long employeeId, String tenantKey) {
// EmployeeDeclarePO employeeDeclare = new EmployeeDeclarePO()
// .setId(IdGenerator.generate())
// .setTaxAgentId(taxAgentId)
// .setTaxCycle(taxCycle)
// .setTenantKey(tenantKey)
// .setCreator(employeeId)
// .setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue())
// .setCreateTime(now)
// .setUpdateTime(now);
// BeanUtils.copyProperties(employeeDeclareExcel, employeeDeclare);
// if (extEmployee != null) {
// employeeDeclare.setEmployeeId(extEmployee.getId())
// .setEmployeeType(EmployeeTypeEnum.EXT_EMPLOYEE.getValue());
// }
// if (simpleEmployee != null) {
// employeeDeclare.setEmployeeId(simpleEmployee.getEmployeeId())
// .setEmployeeType(EmployeeTypeEnum.ORGANIZATION.getValue());
// }
// return employeeDeclare;
// }
//
// private List<String> getImportHeader(Long employeeId, String tenantKey) {
// return Lists.newArrayList(
// SalaryI18nUtil.getI18nLabel(employeeId, 86317, "工号"),
// SalaryI18nUtil.getI18nLabel(employeeId, 85429, "姓名"),
// SalaryI18nUtil.getI18nLabel(employeeId, 105139, "证件类型"),
// SalaryI18nUtil.getI18nLabel(employeeId, 86318, "证件号码"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156394, "人员状态"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156396, "任职受雇从业类型"),
// SalaryI18nUtil.getI18nLabel(employeeId, 187374, "入职年度就业情形"),
// SalaryI18nUtil.getI18nLabel(employeeId, 98621, "手机号码"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156409, "任职受雇从业日期"),
// SalaryI18nUtil.getI18nLabel(employeeId, 95228, "离职日期"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156399, "是否残疾"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156412, "残疾证号"),
// SalaryI18nUtil.getI18nLabel(employeeId, 187385, "是否烈属"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156413, "烈属证号"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156400, "是否孤老"),
// SalaryI18nUtil.getI18nLabel(employeeId, 156402, "是否扣除减除费用"));
// }
private <T> Map<String, List<Object>> getHeader(Class<T> clazz) {
Map<String, List<Object>> headerMap = new HashMap<>();
// 导出的表头
List<Object> headerList = Lists.newArrayList();
List<Object> dataIndexList = Lists.newArrayList();
Field[] declaredFields = clazz.getDeclaredFields();
for (Field declaredField : declaredFields) {
if (!declaredField.isAnnotationPresent(SalaryTableColumn.class)) {
continue;
}
SalaryTableColumn annotation = declaredField.getAnnotation(SalaryTableColumn.class);
headerList.add(annotation.text());
dataIndexList.add(annotation.column());
}
headerMap.put("header", headerList);
headerMap.put("dataIndex", dataIndexList);
return headerMap;
}
// /**
// * 检查表头
// *
// * @param message
// * @param headers
// * @return
// */
// private boolean checkHeader(BatchDocumentMessage message, List<String> headers, List<String> headerList) {
// Long employeeId = message.getUserId();
// String tenantKey = message.getTenantKey();
// // 缺少的列
// List<String> lackHeaders = headerList.stream()
// .filter(header -> !headers.contains(header))
// .collect(Collectors.toList());
// if (CollectionUtils.isNotEmpty(lackHeaders)) {
// // 发送导入回调信息
// String errorMsg = SalaryI18nUtil.getI18nLabel(employeeId, 101850, "缺少如下列,请检查:") + Joiner.on(",").join(lackHeaders);
// salaryBatchService.sendImportCallBackInfo(message, errorMsg);
// return false;
// }
// return true;
// }
}

View File

@ -244,8 +244,12 @@ public class EmployeeDeclareServiceImpl extends Service implements EmployeeDecla
employeeDeclare.setId(originEmployeeDeclare.getId()); employeeDeclare.setId(originEmployeeDeclare.getId());
employeeDeclare.setEmployeeId(originEmployeeDeclare.getEmployeeId()); employeeDeclare.setEmployeeId(originEmployeeDeclare.getEmployeeId());
employeeDeclare.setEmployeeType(originEmployeeDeclare.getEmployeeType()); employeeDeclare.setEmployeeType(originEmployeeDeclare.getEmployeeType());
employeeDeclare.setSuccessfullyDeclared(originEmployeeDeclare.getSuccessfullyDeclared()); employeeDeclare.setTenantKey(originEmployeeDeclare.getTenantKey());
employeeDeclare.setCreator(originEmployeeDeclare.getCreator());
employeeDeclare.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
employeeDeclare.setCreateTime(originEmployeeDeclare.getCreateTime());
employeeDeclare.setUpdateTime(now); employeeDeclare.setUpdateTime(now);
employeeDeclare.setSuccessfullyDeclared(originEmployeeDeclare.getSuccessfullyDeclared());
// 判断本次编辑是否有修改人员信息 // 判断本次编辑是否有修改人员信息
if (!StringUtils.equals(employeeDeclare.toCompareString(), originEmployeeDeclare.toCompareString())) { if (!StringUtils.equals(employeeDeclare.toCompareString(), originEmployeeDeclare.toCompareString())) {
employeeDeclare.setNewEmployeeInfo(1); employeeDeclare.setNewEmployeeInfo(1);

View File

@ -12,6 +12,8 @@ import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.EmployeeDeclareWrapper; import com.engine.salary.wrapper.EmployeeDeclareWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody; import io.swagger.v3.oas.annotations.parameters.RequestBody;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.hrm.HrmUserVarify; import weaver.hrm.HrmUserVarify;
import weaver.hrm.User; import weaver.hrm.User;
@ -20,6 +22,11 @@ import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.*; import javax.ws.rs.*;
import javax.ws.rs.core.Context; import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
@ -265,19 +272,38 @@ public class EmployeeDeclareController {
return new ResponseResult<EmployeeDeclareParam, Object>(user).run(getEmployeeDeclareWrapper(user)::getCompanyEmployee, param); return new ResponseResult<EmployeeDeclareParam, Object>(user).run(getEmployeeDeclareWrapper(user)::getCompanyEmployee, param);
} }
// /** /**
// * 人员报送-导出全部人员 * 人员报送-导出全部人员
// * *
// * @param queryParam 导出参数 * @param queryParam 导出参数
// * @return * @return
// */ */
// @POST @POST
// @Path("/export") @Path("/export")
// @Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_OCTET_STREAM)
// public String export(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody EmployeeDeclareListQueryParam queryParam) { public Response export(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody EmployeeDeclareListQueryParam queryParam) {
// Map<String, Object> exportMap = employeeDeclareWrapper.export(queryParam, UserContext.getCurrentUser());
// return WeaResult.success(exportMap); try {
// } User user = HrmUserVarify.getUser(request, response);
XSSFWorkbook workbook = getEmployeeDeclareWrapper(user).export(queryParam);
String fileName = "人员信息采集-" + LocalDate.now();
try {
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
StreamingOutput output = outputStream -> {
workbook.write(outputStream);
outputStream.flush();
};
response.setContentType("application/octet-stream");
return Response.ok(output).header("Content-disposition", "attachment;filename=" + fileName).header("Cache-Control", "no-cache").build();
} catch (Exception e) {
log.error("人员报送-导出全部人员异常", e);
throw e;
}
}
// /** // /**
// * 人员报送-导出本月新增人员 // * 人员报送-导出本月新增人员

View File

@ -5,7 +5,6 @@ import com.cloudstore.eccom.result.WeaResultMsg;
import com.engine.common.util.ServiceUtil; import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service; import com.engine.core.impl.Service;
import com.engine.salary.cache.SalaryCacheKey; import com.engine.salary.cache.SalaryCacheKey;
import com.engine.salary.remote.tax.client.EmployeeClient;
import com.engine.salary.component.SalaryWeaTable; import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.entity.datacollection.DataCollectionEmployee; import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.employeedeclare.bo.EmployeeDeclareList; import com.engine.salary.entity.employeedeclare.bo.EmployeeDeclareList;
@ -17,6 +16,7 @@ import com.engine.salary.enums.SalaryOnOffEnum;
import com.engine.salary.enums.employeedeclare.*; import com.engine.salary.enums.employeedeclare.*;
import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum; import com.engine.salary.enums.salaryaccounting.EmployeeTypeEnum;
import com.engine.salary.exception.SalaryRunTimeException; import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.remote.tax.client.EmployeeClient;
import com.engine.salary.remote.tax.response.employee.GetCompanyEmployeeResponse; import com.engine.salary.remote.tax.response.employee.GetCompanyEmployeeResponse;
import com.engine.salary.service.*; import com.engine.salary.service.*;
import com.engine.salary.service.impl.*; import com.engine.salary.service.impl.*;
@ -35,6 +35,7 @@ import com.weaver.util.threadPool.constant.ModulePoolEnum;
import com.weaver.util.threadPool.entity.LocalRunnable; import com.weaver.util.threadPool.entity.LocalRunnable;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import weaver.hrm.User; import weaver.hrm.User;
import java.util.*; import java.util.*;
@ -71,6 +72,12 @@ public class EmployeeDeclareWrapper extends Service {
return ServiceUtil.getService(SalaryCacheServiceImpl.class, user); return ServiceUtil.getService(SalaryCacheServiceImpl.class, user);
} }
private EmployeeDeclareExcelService employeeDeclareExcelService;
private EmployeeDeclareExcelService getEmployeeDeclareExcelService(User user) {
return ServiceUtil.getService(EmployeeDeclareExcelServiceImpl.class, user);
}
/** /**
* 人员报送的个税扣缴义务人列表 * 人员报送的个税扣缴义务人列表
* *
@ -550,28 +557,16 @@ public class EmployeeDeclareWrapper extends Service {
return companyEmployee; return companyEmployee;
} }
// /** /**
// * 人员报送-导出本月全部的人员 * 人员报送-导出本月全部的人员
// * *
// * @param queryParam * @param queryParam
// * @param simpleEmployee * @return
// * @return */
// */ public XSSFWorkbook export(EmployeeDeclareListQueryParam queryParam) {
// public Map<String, Object> export(EmployeeDeclareListQueryParam queryParam, SimpleEmployee simpleEmployee) { return getEmployeeDeclareExcelService(user).export(queryParam);
// 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);
// }
//
// /** // /**
// * 人员报送-导出本月新增的人员 // * 人员报送-导出本月新增的人员
// * // *