package com.engine.salary.wrapper; import com.cloudstore.eccom.pc.table.WeaTableColumn; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.salary.component.SalaryWeaTable; import com.engine.salary.entity.taxdeclaration.bo.TaxDeclarationDetailListColumn; import com.engine.salary.entity.taxdeclaration.dto.TaxDeclarationDetailListDTO; import com.engine.salary.entity.taxdeclaration.param.TaxDeclarationDetailListQueryParam; import com.engine.salary.service.TaxDeclarationDetailService; import com.engine.salary.service.impl.TaxDeclarationDetailServiceImpl; import com.engine.salary.util.page.PageInfo; import lombok.extern.slf4j.Slf4j; import weaver.hrm.User; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** @description: 个税申报表明细 * @author: xiajun * @modified By: xiajun * @date: Created in 1/23/22 6:07 PM * @version:v1.0*/ @Slf4j public class TaxDeclarationDetailWrapper extends Service { private TaxDeclarationDetailService getTaxDeclarationDetailService(User user) { return (TaxDeclarationDetailService) ServiceUtil.getService(TaxDeclarationDetailServiceImpl.class, user); } /** 个税申报表明细列表 * * @param queryParam 列表查询条件 * @return*/ public Map listPage(TaxDeclarationDetailListQueryParam queryParam) { PageInfo dtoPage = getTaxDeclarationDetailService(user).listDtoPageByParam(queryParam); // 列表的表头 List weaTableColumns = TaxDeclarationDetailListColumn.listTableColumn().stream() .map(weaTableColumnWapper -> (WeaTableColumn) weaTableColumnWapper) .collect(Collectors.toList()); SalaryWeaTable table = new SalaryWeaTable(user, TaxDeclarationDetailListDTO.class); table.setColumns(weaTableColumns); dtoPage.setTotal(dtoPage.getPageSize()); dtoPage.setPageNum(queryParam.getCurrent()); dtoPage.setPageSize(queryParam.getPageSize()); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); Map datas = new HashMap<>(); datas.put("pageInfo", dtoPage); datas.put("dataKey",result.getResultMap()); datas.put("pageUid", "taxDeclarationDetailList"); return datas; } }