核算结果导出
This commit is contained in:
parent
fafd206101
commit
231961663f
|
|
@ -89,11 +89,11 @@ public class SalaryAcctResultBO {
|
|||
* @param salarySobItemAggregateDTO
|
||||
* @return
|
||||
*/
|
||||
public static List<WeaTableColumn> buildTableColumns(SalarySobItemAggregateDTO salarySobItemAggregateDTO) {
|
||||
List<WeaTableColumn> columns = Lists.newArrayList();
|
||||
public static List<WeaTableColumnGroup> buildTableColumns(SalarySobItemAggregateDTO salarySobItemAggregateDTO) {
|
||||
List<WeaTableColumnGroup> columns = Lists.newArrayList();
|
||||
// 员工信息字段
|
||||
for (SalarySobEmpFieldDTO salarySobEmpFieldDTO : salarySobItemAggregateDTO.getEmpFields()) {
|
||||
columns.add(new WeaTableColumn("150", salarySobEmpFieldDTO.getFieldName(), salarySobEmpFieldDTO.getFieldId()));
|
||||
columns.add(new WeaTableColumnGroup("150", salarySobEmpFieldDTO.getFieldName(), salarySobEmpFieldDTO.getFieldId()));
|
||||
}
|
||||
// 薪资项目分组下的薪资项目
|
||||
// 薪资项目分组下的薪资项目
|
||||
|
|
@ -110,7 +110,7 @@ public class SalaryAcctResultBO {
|
|||
}
|
||||
// 没有分类的薪资项目
|
||||
for (SalarySobItemDTO salarySobItemDTO : salarySobItemAggregateDTO.getItems()) {
|
||||
columns.add(new WeaTableColumn("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId()));
|
||||
columns.add(new WeaTableColumnGroup("150", salarySobItemDTO.getName(), "" + salarySobItemDTO.getSalaryItemId()));
|
||||
}
|
||||
return columns;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,8 +74,8 @@ public class SalaryItemListDTO {
|
|||
//公式内容
|
||||
private String formulaContent;
|
||||
|
||||
@SalaryTableColumn(text = "个税申报表对应字段", width = "10%", column = "taxDeclarationColumn")
|
||||
@TableTitle(title = "个税申报表对应字段",dataIndex = "taxDeclarationColumn",key = "taxDeclarationColumn")
|
||||
// @SalaryTableColumn(text = "个税申报表对应字段", width = "10%", column = "taxDeclarationColumn")
|
||||
// @TableTitle(title = "个税申报表对应字段",dataIndex = "taxDeclarationColumn",key = "taxDeclarationColumn")
|
||||
private String taxDeclarationColumn;
|
||||
|
||||
//备注
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.salary.component.WeaTableColumnGroup;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctImportFieldDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.*;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
|
|
@ -43,7 +43,7 @@ public interface SalaryAcctExcelService {
|
|||
*/
|
||||
XSSFWorkbook exportSalaryAcctResult(SalaryAcctResultQueryParam queryParam);
|
||||
|
||||
List<WeaTableColumn> listWeaTableColumn(SalaryAcctRecordPO salaryAcctRecordPO);
|
||||
List<WeaTableColumnGroup> listWeaTableColumn(SalaryAcctRecordPO salaryAcctRecordPO);
|
||||
|
||||
/**
|
||||
* 薪资核算导入时候薪资项目按取值方式分组
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
|||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.biz.TaxAgentBiz;
|
||||
import com.engine.salary.component.WeaTableColumnGroup;
|
||||
import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctEmployeeBO;
|
||||
|
|
@ -210,10 +211,13 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
if (Objects.isNull(salaryAcctRecordPO)) {
|
||||
throw new SalaryRunTimeException(SalaryI18nUtil.getI18nLabel(98747, "薪资核算记录不存在或已被删除"));
|
||||
}
|
||||
// 查询列表的表头
|
||||
List<WeaTableColumn> weaTableColumns = listWeaTableColumn(salaryAcctRecordPO);
|
||||
// excel导出的表头
|
||||
String[] headers = weaTableColumns.stream()
|
||||
List<WeaTableColumnGroup> headerColumnGroup = Lists.newArrayList();
|
||||
// 查询列表的表头
|
||||
List<WeaTableColumnGroup> weaTableColumns = listWeaTableColumn(salaryAcctRecordPO);
|
||||
parseHeader(headerColumnGroup, weaTableColumns);
|
||||
// excel导出的表头
|
||||
String[] headers = headerColumnGroup.stream()
|
||||
.map(WeaTableColumn::getText)
|
||||
.toArray(String[]::new);
|
||||
List<Object> headerList = new ArrayList<>(Arrays.asList(headers));
|
||||
|
|
@ -223,8 +227,8 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
List<List<Object>> rows = new ArrayList<>();
|
||||
rows.add(headerList);
|
||||
for (Map<String, Object> map : resultMapList) {
|
||||
List<Object> row = Lists.newArrayListWithExpectedSize(weaTableColumns.size());
|
||||
for (WeaTableColumn weaTableColumn : weaTableColumns) {
|
||||
List<Object> row = Lists.newArrayListWithExpectedSize(headerColumnGroup.size());
|
||||
for (WeaTableColumnGroup weaTableColumn : headerColumnGroup) {
|
||||
row.add(map.getOrDefault(weaTableColumn.getColumn(), StringUtils.EMPTY));
|
||||
}
|
||||
rows.add(row);
|
||||
|
|
@ -240,28 +244,29 @@ public class SalaryAcctExcelServiceImpl extends Service implements SalaryAcctExc
|
|||
* @param salaryAcctRecordPO 薪资核算记录
|
||||
* @return
|
||||
*/
|
||||
public List<WeaTableColumn> listWeaTableColumn(SalaryAcctRecordPO salaryAcctRecordPO) {
|
||||
public List<WeaTableColumnGroup> listWeaTableColumn(SalaryAcctRecordPO salaryAcctRecordPO) {
|
||||
// 查询薪资账套下的薪资项目+员工信息字段
|
||||
SalarySobItemAggregateDTO salarySobItemAggregateDTO = getSalarySobItemService(user).getAggregateBySalarySobId(salaryAcctRecordPO.getSalarySobId());
|
||||
// 构建薪资核算结果列表表头
|
||||
return SalaryAcctResultBO.buildTableColumns(salarySobItemAggregateDTO);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 解析表头
|
||||
// *
|
||||
// * @param headerList
|
||||
// * @param weaTableColumns
|
||||
// */
|
||||
// private void parseHeader(List<WeaTableColumnWapper> headerList, List<WeaTableColumnWapper> weaTableColumns) {
|
||||
// for (WeaTableColumnWapper weaTableColumnWapper : weaTableColumns) {
|
||||
// if (CollectionUtils.isEmpty(weaTableColumnWapper.getChildren())) {
|
||||
// headerList.add(weaTableColumnWapper);
|
||||
// continue;
|
||||
// }
|
||||
// parseHeader(headerList, weaTableColumnWapper.getChildren());
|
||||
// }
|
||||
// }
|
||||
/**
|
||||
* 解析表头
|
||||
*
|
||||
* @param headerList
|
||||
* @param weaTableColumns
|
||||
*/
|
||||
private void parseHeader(List<WeaTableColumnGroup> headerList, List<WeaTableColumnGroup> weaTableColumns) {
|
||||
for (WeaTableColumnGroup weaTableColumnGroup : weaTableColumns) {
|
||||
if (CollectionUtils.isEmpty(weaTableColumnGroup.getChildren())) {
|
||||
headerList.add(weaTableColumnGroup);
|
||||
continue;
|
||||
}
|
||||
parseHeader(headerList, weaTableColumnGroup.getChildren());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public SalaryAcctImportFieldDTO getImportField(Long salaryAcctRecordId) {
|
||||
// 查询薪资核算记录
|
||||
|
|
|
|||
|
|
@ -368,8 +368,7 @@ public class SalaryAcctController {
|
|||
setSalaryAcctResultQueryParam(request, param);
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
XSSFWorkbook workbook = getSalaryAcctExcelWrapper(user).exportSalaryAcctResult(param);
|
||||
String time = LocalDate.now().toString();
|
||||
String fileName = "薪资核算结果" + time;
|
||||
String fileName = "薪资核算结果" + LocalDate.now();
|
||||
try {
|
||||
fileName = URLEncoder.encode(fileName + ".xlsx", "UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package com.engine.salary.wrapper;
|
||||
|
||||
import com.cloudstore.eccom.pc.table.WeaTableColumn;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.cache.SalaryCacheKey;
|
||||
import com.engine.salary.component.WeaTableColumnGroup;
|
||||
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
|
||||
import com.engine.salary.entity.salaryacct.dto.ConsolidatedTaxDetailDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctProgressDTO;
|
||||
|
|
@ -86,7 +86,7 @@ public class SalaryAcctResultWrapper extends Service {
|
|||
PageInfo<Map<String, Object>> page = getSalaryAcctResultService(user).listPageByParam(queryParam);
|
||||
|
||||
// 构建薪资核算结果列表的表头
|
||||
List<WeaTableColumn> columns = getSalaryAcctExcelService(user).listWeaTableColumn(salaryAcctRecordPO);
|
||||
List<WeaTableColumnGroup> columns = getSalaryAcctExcelService(user).listWeaTableColumn(salaryAcctRecordPO);
|
||||
|
||||
Map<String,Object> datas = new HashMap<>();
|
||||
datas.put("pageInfo", page);
|
||||
|
|
|
|||
Loading…
Reference in New Issue