薪酬系统-福利台账,核算明细列表合计行导出
This commit is contained in:
parent
ea1a46839d
commit
4ffca1872a
|
|
@ -7,6 +7,8 @@ import lombok.Builder;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
|
|
@ -27,4 +29,20 @@ public class InsuranceExportParam extends BaseQueryParam {
|
|||
private String paymentOrganization;
|
||||
|
||||
private Long creator;
|
||||
|
||||
private Integer paymentStatus;
|
||||
|
||||
private List<Long> employeeIds;
|
||||
|
||||
private String userName;
|
||||
|
||||
|
||||
/**
|
||||
* 退差月份
|
||||
*/
|
||||
private List<String> recessionMonthList;
|
||||
|
||||
private List<Long> taxAgents;
|
||||
|
||||
private String workcode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,14 +7,13 @@ import com.engine.core.impl.Service;
|
|||
import com.engine.salary.biz.SIAccountBiz;
|
||||
import com.engine.salary.encrypt.EncryptUtil;
|
||||
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
|
||||
import com.engine.salary.entity.siaccount.param.InsuranceAccountDetailParam;
|
||||
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
|
||||
import com.engine.salary.entity.siarchives.po.InsuranceArchivesBaseInfoPO;
|
||||
import com.engine.salary.entity.sicategory.po.ICategoryPO;
|
||||
import com.engine.salary.entity.siexport.param.InsuranceExportParam;
|
||||
import com.engine.salary.entity.siexport.po.AccountExportPO;
|
||||
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
|
||||
import com.engine.salary.enums.siaccount.BillStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.EmployeeStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.PaymentStatusEnum;
|
||||
import com.engine.salary.enums.siaccount.ResourceFromEnum;
|
||||
import com.engine.salary.enums.sicategory.DataTypeEnum;
|
||||
|
|
@ -24,10 +23,13 @@ import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
|
|||
import com.engine.salary.mapper.siarchives.InsuranceBaseInfoMapper;
|
||||
import com.engine.salary.mapper.sicategory.ICategoryMapper;
|
||||
import com.engine.salary.mapper.taxagent.TaxAgentMapper;
|
||||
import com.engine.salary.service.SIAccountService;
|
||||
import com.engine.salary.service.SIExportService;
|
||||
import com.engine.salary.service.SISchemeService;
|
||||
import com.engine.salary.service.TaxAgentService;
|
||||
import com.engine.salary.sys.entity.po.SalarySysConfPO;
|
||||
import com.engine.salary.sys.entity.vo.OrderRuleVO;
|
||||
import com.engine.salary.sys.enums.OpenEnum;
|
||||
import com.engine.salary.sys.service.SalarySysConfService;
|
||||
import com.engine.salary.sys.service.impl.SalarySysConfServiceImpl;
|
||||
import com.engine.salary.util.SalaryAssert;
|
||||
|
|
@ -35,6 +37,7 @@ import com.engine.salary.util.SalaryEnumUtil;
|
|||
import com.engine.salary.util.SalaryI18nUtil;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.engine.salary.util.excel.ExcelUtil;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
|
@ -47,6 +50,7 @@ import java.util.function.Function;
|
|||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.engine.salary.enums.UserStatusEnum.getDefaultLabelByValue;
|
||||
import static com.engine.salary.sys.constant.SalarySysConstant.OPEN_ACCT_RESULT_SUM;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
|
|
@ -94,6 +98,10 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
return MapperProxyFactory.getProxy(ICategoryMapper.class);
|
||||
}
|
||||
|
||||
private SIAccountService getSIAccountService(User user) {
|
||||
return ServiceUtil.getService(SIAccountServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public XSSFWorkbook exportOverView(InsuranceExportParam queryParam) {
|
||||
List<InsuranceAccountDetailPO> insuranceAccountDetailPOS = getInsuranceAccountDetailMapper().selectList(queryParam.getBillMonth(), StringUtils.isBlank(queryParam.getPaymentOrganization()) ? null : Long.valueOf(queryParam.getPaymentOrganization()));
|
||||
|
|
@ -158,8 +166,10 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
if (CollectionUtils.isEmpty(taxAgents)) {
|
||||
//防止普通用户查询
|
||||
accountExportPOS = new ArrayList<>();
|
||||
param = new InsuranceExportParam();
|
||||
} else {
|
||||
accountExportPOS.stream().filter(f -> taxAgents.contains(f.getPaymentOrganization())).collect(Collectors.toList());
|
||||
param.setTaxAgents(taxAgents);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -193,6 +203,28 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
//工作簿名称
|
||||
String sheetName = SalaryI18nUtil.getI18nLabel(85368, "社保福利档案");
|
||||
excelSheetData.add(Arrays.asList(columns.stream().map(WeaTableColumn::getText).toArray(String[]::new)));
|
||||
//合计
|
||||
boolean total = false;
|
||||
SalarySysConfPO openSum = getSalarySysConfService(user).getOneByCode(OPEN_ACCT_RESULT_SUM);
|
||||
if (openSum != null && StringUtils.isNotBlank(openSum.getConfValue()) && OpenEnum.parseByValue(openSum.getConfValue()) == OpenEnum.OPEN) {
|
||||
total = true;
|
||||
InsuranceAccountDetailParam queryParam = new InsuranceAccountDetailParam();
|
||||
BeanUtils.copyProperties(param, queryParam);
|
||||
Map<String, Object> sumRow = new HashMap<>();
|
||||
if (paymentStatus.equals(PaymentStatusEnum.COMMON.getValue())) {
|
||||
sumRow = getSIAccountService(user).listCommonSum(queryParam);
|
||||
} else if (paymentStatus.equals(PaymentStatusEnum.REPAIR.getValue())) {
|
||||
sumRow = getSIAccountService(user).listSupplementarySum(queryParam);
|
||||
} else if (paymentStatus.equals(PaymentStatusEnum.RECESSION.getValue())) {
|
||||
sumRow = getSIAccountService(user).listRecessionSum(queryParam);
|
||||
} else if (paymentStatus.equals(PaymentStatusEnum.BALANCE.getValue())) {
|
||||
sumRow = getSIAccountService(user).listBalanceSum(queryParam);
|
||||
}
|
||||
Map<String, Object> sumMap = (Map<String, Object>) sumRow.get("sumRow");
|
||||
sumMap.put("department", "总计");
|
||||
|
||||
records.add(sumMap);
|
||||
}
|
||||
//工作簿数据
|
||||
List<List<Object>> rows = new LinkedList<>();
|
||||
for (Map<String, Object> recordData : records) {
|
||||
|
|
@ -202,8 +234,9 @@ public class SIExportServiceImpl extends Service implements SIExportService {
|
|||
}
|
||||
rows.add(row);
|
||||
}
|
||||
|
||||
excelSheetData.addAll(rows);
|
||||
return ExcelUtil.genWorkbookV2(excelSheetData, sheetName);
|
||||
return ExcelUtil.genWorkbookV2(excelSheetData, sheetName, total);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -223,6 +223,7 @@ public class ExcelUtil {
|
|||
redFont.setFontName("宋体");
|
||||
redFont.setFontHeightInPoints((short) 10);// 设置字体大小
|
||||
redFont.setColor(new XSSFColor(new Color(0xFF3333), null));
|
||||
redFont.setBold(true);
|
||||
redCellStyle.setWrapText(true);
|
||||
redCellStyle.setFont(redFont);// 选择需要用到的字体格式
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue