Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
1f32f109
Commit
1f32f109
authored
Apr 23, 2025
by
hongguangwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MVP1.7.10-工资条
parent
d0a844fd
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
109 deletions
+26
-109
TSalaryAccountServiceImpl.java
...1/yifu/salary/service/impl/TSalaryAccountServiceImpl.java
+26
-109
No files found.
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryAccountServiceImpl.java
View file @
1f32f109
...
...
@@ -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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment