Commit 1f32f109 authored by hongguangwu's avatar hongguangwu

MVP1.7.10-工资条

parent d0a844fd
......@@ -418,29 +418,40 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
}
ExcelWriter excelWriter = EasyExcelFactory.write(out).registerWriteHandler(EasyExcelStyle.getBaseStyle())
.head(headList).build();
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//ExcelWriter excelWriter = EasyExcelFactory.write(out, TSalaryAccountExportVo.class).includeColumnFiledNames(searchVo.getExportFields()).build();
int index = 0;
WriteSheet writeSheet = null;
if (count > CommonConstants.ZERO_INT) {
//int limit = 1000;
int limit = 5;
// 每次数据库查询条数
int limit = 1000;
int sheetIndex = 0;
// 循环几次重新生成sheet(这里是循环10次,也就是10000条房一个sheet里)
int cyclesNum = 10;
// 固定的报账表列表
List<TSalaryAccountExportSpecialVo> baseList;
// 导出的全量内容列表
List<List<String>> listContent;
// 每一行的内容列表
List<String> contentList;
// 明细表总mvp
Map<String, Map<String, String>> itemMap;
// 每一行的mvp
Map<String, String> tempMap;
// 全部明细表
List<TSalaryAccountExportSpecialItemVo> itemList;
for (int i = 0; i < count; i += limit) {
searchVo.setLimitStart(i);
searchVo.setLimitEnd(limit);
List<TSalaryAccountExportSpecialVo> baseList = baseMapper.getEmpAccountExport(searchVo);
List<List<String>> listContent = new ArrayList<>();
List<String> contentList = new ArrayList<>();
baseList = baseMapper.getEmpAccountExport(searchVo);
listContent = new ArrayList<>();
contentList = new ArrayList<>();
if (baseList != null && !baseList.isEmpty()) {
for (TSalaryAccountExportSpecialVo a : baseList) {
contentList.add(a.getAccountId());
}
Map<String, Map<String, String>> itemMap = new HashMap<>();
Map<String, String> tempMap = new HashMap<>();
itemMap = new HashMap<>();
tempMap = new HashMap<>();
if (titleAllList != null && !titleAllList.isEmpty()) {
List<TSalaryAccountExportSpecialItemVo> itemList = baseMapper.getEmpAccountItemExport(searchVo.getSettlementMonth(), contentList);
itemList = baseMapper.getEmpAccountItemExport(searchVo.getSettlementMonth(), contentList);
for (TSalaryAccountExportSpecialItemVo itemVo : itemList) {
tempMap = itemMap.get(itemVo.getAccountId());
if (tempMap == null) {
......@@ -485,105 +496,11 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
listContent.add(contentList);
}
}
writeSheet = EasyExcelFactory.writerSheet("工资条" + index++).build();
if (sheetIndex++ % cyclesNum == 0) {
writeSheet = EasyExcelFactory.writerSheet("工资条" + index++).build();
}
excelWriter.write(listContent, writeSheet);
}
/*Map<String,TSalaryAccountItemExportVo> itemExportVoMap = new HashMap<>();
List<String> idList = null;
List<String> idStandardList = null;
List<TAuditExportStandardVo> standardItems = null;
Map<String,TAuditExportStandardVo> itemStandardMap = new HashMap<>();
Map<String,TAuditExportItemVo> itemAnnualBonusMap = new HashMap<>();
Map<String,TAuditExportItemVo> itemPersionTaxMap = new HashMap<>();
Map<String,TAuditExportItemVo> itemAnnuityMap = new HashMap<>();
Map<String,TAuditExportItemVo> itemSubsidyMap = new HashMap<>();
Map<String,TAuditExportItemVo> itemCarNoTaxMap = new HashMap<>();
List<TSalaryAccountItemExportVo> items = null;
List<TAuditExportItemVo> annualBonusItems;
List<TAuditExportItemVo> exemptionPersionTaxItems;
List<TAuditExportItemVo> enterpriseAnnuityItems;
List<TAuditExportItemVo> phoneSubsidyItems;
List<TAuditExportItemVo> carNoTaxItems;
List<String> ids = null;
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT_1) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT_1);
if (count < 200000){
list = baseMapper.auditExportDiy(searchVo, searchVo.getIdList());
//list = baseMapper.getEmpAccountExport(searchVo);
}else{
if (Common.isNotNull(searchVo.getIdList())){
ids = searchVo.getIdList();
}else {
ids = baseMapper.auditExportDiyIds(searchVo, searchVo.getIdList());
}
if (Common.isNotNull(ids)){
searchVo.setIdList(null);
list = baseMapper.auditExportDiyByIds(ids);
}else {
list = new ArrayList<>();
}
}
if (Common.isNotNull(ids)){
ids.clear();
}
if (Common.isNotNull(list)) {
//先把数据封装完成
idList = list.stream().map(TSalaryAccountExportVo::getId).collect(Collectors.toList());
idStandardList = list.stream().map(TSalaryAccountExportVo::getSalaryFormId).collect(Collectors.toList());
//初始化明细数据MAP
if (Common.isNotNull(idList)){
items = baseMapper.auditExportSelectItems(idList);
if (Common.isNotNull(items)){
itemExportVoMap = items.stream().collect(Collectors.toMap(TSalaryAccountItemExportVo::getSalaryAccountId,vo -> vo,(k1,k2) -> k1));
}
items.clear();
annualBonusItems = baseMapper.auditExportAnnualBonus(idList);
if (Common.isNotNull(annualBonusItems)){
itemAnnualBonusMap = annualBonusItems.stream().collect(Collectors.toMap(TAuditExportItemVo::getSalaryAccountId,vo -> vo,(k1,k2) -> k1));
}
annualBonusItems.clear();
exemptionPersionTaxItems = baseMapper.auditExportExemptionPersionTax(idList);
if (Common.isNotNull(exemptionPersionTaxItems)){
itemPersionTaxMap = exemptionPersionTaxItems.stream().collect(Collectors.toMap(TAuditExportItemVo::getSalaryAccountId,vo -> vo,(k1,k2) -> k1));
}
exemptionPersionTaxItems.clear();
enterpriseAnnuityItems = baseMapper.auditExportEnterpriseAnnuity(idList);
if (Common.isNotNull(enterpriseAnnuityItems)){
itemAnnuityMap = enterpriseAnnuityItems.stream().collect(Collectors.toMap(TAuditExportItemVo::getSalaryAccountId,vo -> vo,(k1,k2) -> k1));
}
enterpriseAnnuityItems.clear();
phoneSubsidyItems = baseMapper.auditExportPhoneSubsidy(idList);
if (Common.isNotNull(phoneSubsidyItems)){
itemSubsidyMap = phoneSubsidyItems.stream().collect(Collectors.toMap(TAuditExportItemVo::getSalaryAccountId,vo -> vo,(k1,k2) -> k1));
}
phoneSubsidyItems.clear();
carNoTaxItems = baseMapper.auditExportCarNoTax(idList);
if (Common.isNotNull(carNoTaxItems)){
itemCarNoTaxMap = carNoTaxItems.stream().collect(Collectors.toMap(TAuditExportItemVo::getSalaryAccountId,vo -> vo,(k1,k2) -> k1));
}
carNoTaxItems.clear();
}
if (Common.isNotNull(idStandardList)){
standardItems = baseMapper.auditExportStandard(idStandardList);
if (Common.isNotNull(standardItems)){
itemStandardMap = standardItems.stream().collect(Collectors.toMap(TAuditExportStandardVo::getSalaryFormId,vo -> vo,(k1,k2) -> k1));
standardItems.clear();
}
}
//封装信息
initResult(list, itemExportVoMap,itemStandardMap,itemAnnualBonusMap,itemPersionTaxMap,itemAnnuityMap,itemSubsidyMap,itemCarNoTaxMap);
if (i%CommonConstants.EXCEL_EXPORT_LIMIT==0){
writeSheet = EasyExcelFactory.writerSheet("工资条" + index).build();
index++;
}
excelWriter.write(list, writeSheet);
list.clear();
}
clearMap(itemExportVoMap, idList, idStandardList, itemStandardMap, itemAnnualBonusMap, itemPersionTaxMap, itemAnnuityMap, itemSubsidyMap);
}*/
} else {
writeSheet = EasyExcelFactory.writerSheet("工资条" + index).build();
excelWriter.write(list, writeSheet);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment