Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
traffic-front
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxiaoming
traffic-front
Commits
d53e31a3
Commit
d53e31a3
authored
Apr 28, 2019
by
chase
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 报表导出无法导出字符串bug
parent
7bdb4388
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
64 additions
and
13 deletions
+64
-13
ReportGeneratorImpl.java
...wc/taxtech/atms/vat/service/impl/ReportGeneratorImpl.java
+39
-3
ReportServiceImpl.java
.../pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
+2
-2
AnalysisSalesValueDto.java
...main/java/pwc/taxtech/atms/dpo/AnalysisSalesValueDto.java
+20
-0
PeriodCellDataExtendsMapper.xml
...tech/atms/vat/dao/extends/PeriodCellDataExtendsMapper.xml
+3
-8
No files found.
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportGeneratorImpl.java
View file @
d53e31a3
...
...
@@ -44,7 +44,6 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
static
org
.
apache
.
poi
.
ss
.
usermodel
.
Cell
.
CELL_TYPE_FORMULA
;
import
static
pwc
.
taxtech
.
atms
.
common
.
util
.
SpringContextUtil
.
reportMapper
;
import
static
pwc
.
taxtech
.
atms
.
dto
.
vatdto
.
WrapPeriodJobDto
.*;
...
...
@@ -574,7 +573,26 @@ public class ReportGeneratorImpl {
List
<
AnalysisSalesValueDto
>
dataList
=
periodCellDataMapper
.
selectReportData
(
a
.
getTemplateId
(),
a
.
getProjectId
(),
a
.
getPeriod
());
for
(
AnalysisSalesValueDto
cellData:
dataList
){
Sheet
sheet
=
tWorkbook
.
getSheetAt
(
0
);
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getData
());
try
{
BigDecimal
amount
=
new
BigDecimal
(
cellData
.
getData
());
BigDecimal
manualAmount
=
new
BigDecimal
(
"0"
);
if
(
StringUtils
.
isNotBlank
(
cellData
.
getKeyinData
())){
manualAmount
=
new
BigDecimal
(
cellData
.
getKeyinData
());
}
else
if
(
StringUtils
.
isNotBlank
(
cellData
.
getManualAmount
())){
manualAmount
=
new
BigDecimal
(
cellData
.
getManualAmount
());
}
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
amount
.
add
(
manualAmount
).
setScale
(
2
).
toString
());
}
catch
(
NumberFormatException
e
){
//判断是否有手工数据源有得话以手工数据源为主
if
(
StringUtils
.
isNotBlank
(
cellData
.
getKeyinData
())){
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getKeyinData
());
}
else
if
(
StringUtils
.
isNotBlank
(
cellData
.
getManualAmount
())){
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getManualAmount
());
}
else
{
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getData
());
}
}
}
POIUtil
.
cloneSheetAndStyle
(
tWorkbook
.
getSheetAt
(
0
),
workbook
.
createSheet
(
a
.
getCode
()),
workbook
);
...
...
@@ -642,7 +660,25 @@ public class ReportGeneratorImpl {
Cell
cell
=
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
());
sheet
.
getRow
(
cellData
.
getRowIndex
()).
removeCell
(
cell
);
sheet
.
getRow
(
cellData
.
getRowIndex
()).
createCell
(
cellData
.
getColumnIndex
());
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getData
());
try
{
BigDecimal
amount
=
new
BigDecimal
(
cellData
.
getData
());
BigDecimal
manualAmount
=
new
BigDecimal
(
"0"
);
if
(
StringUtils
.
isNotBlank
(
cellData
.
getKeyinData
())){
manualAmount
=
new
BigDecimal
(
cellData
.
getKeyinData
());
}
else
if
(
StringUtils
.
isNotBlank
(
cellData
.
getManualAmount
())){
manualAmount
=
new
BigDecimal
(
cellData
.
getManualAmount
());
}
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
amount
.
add
(
manualAmount
).
setScale
(
2
).
toString
());
}
catch
(
NumberFormatException
e
){
//判断是否有手工数据源有得话以手工数据源为主
if
(
StringUtils
.
isNotBlank
(
cellData
.
getKeyinData
())){
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getKeyinData
());
}
else
if
(
StringUtils
.
isNotBlank
(
cellData
.
getManualAmount
())){
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getManualAmount
());
}
else
{
sheet
.
getRow
(
cellData
.
getRowIndex
()).
getCell
(
cellData
.
getColumnIndex
()).
setCellValue
(
cellData
.
getData
());
}
}
}
POIUtil
.
cloneSheetAndStyle
(
tWorkbook
.
getSheetAt
(
0
),
workbook
.
createSheet
(
a
.
getCode
()),
workbook
);
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
View file @
d53e31a3
...
...
@@ -2047,9 +2047,9 @@ public class ReportServiceImpl extends BaseService {
cellData
.
setId
(
distributedIdService
.
nextId
());
cellData
.
setReportId
(
data
.
getReportId
());
cellData
.
setCellTemplateId
(
Long
.
parseLong
(
data
.
getCellTemplateId
()));
cellData
.
setData
(
data
.
getAmount
()
==
null
?
null
:
data
.
getAmount
().
toString
()
);
cellData
.
setData
(
"0.0"
);
cellData
.
setKeyinData
(
data
.
getKeyinData
());
cellData
.
setFormulaExp
(
data
.
get
Amount
()
==
null
?
"0.0"
:
data
.
getAmount
().
toString
());
cellData
.
setFormulaExp
(
data
.
get
KeyinData
()
==
null
?
"0.0"
:
data
.
getKeyinData
());
cellData
.
setCreateBy
(
"admin"
);
cellData
.
setCreateTime
(
new
Date
());
cellData
.
setUpdateBy
(
"admin"
);
...
...
atms-dao/src/main/java/pwc/taxtech/atms/dpo/AnalysisSalesValueDto.java
View file @
d53e31a3
...
...
@@ -9,10 +9,30 @@ public class AnalysisSalesValueDto {
private
String
data
;
private
String
manualAmount
;
private
String
keyinData
;
private
Integer
rowIndex
;
private
Integer
columnIndex
;
public
String
getManualAmount
()
{
return
manualAmount
;
}
public
void
setManualAmount
(
String
manualAmount
)
{
this
.
manualAmount
=
manualAmount
;
}
public
String
getKeyinData
()
{
return
keyinData
;
}
public
void
setKeyinData
(
String
keyinData
)
{
this
.
keyinData
=
keyinData
;
}
public
String
getData
()
{
return
data
;
}
...
...
atms-dao/src/main/resources/pwc/taxtech/atms/vat/dao/extends/PeriodCellDataExtendsMapper.xml
View file @
d53e31a3
...
...
@@ -113,14 +113,9 @@
<select
id =
"selectReportData"
resultType=
"pwc.taxtech.atms.dpo.AnalysisSalesValueDto"
>
select cell_template.row_index as rowIndex,
cell_template.column_index as columnIndex,
case
when (LOCATE('-', cell_data.data) > 0) then
cell_data.data
else
CONVERT(cell_data.data, decimal(18, 2)) +
CONVERT(if(data_source.amount is null, 0, data_source.amount), decimal(18, 2))
end as data
cell_data.data as data,
data_source.amount as manualAmount,
data_source.keyin_data as keyinData
from period_cell_data cell_data
left join period_cell_template cell_template
on cell_data.cell_template_id = cell_template.cell_template_id
...
...
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