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
eb111dbe
Commit
eb111dbe
authored
Aug 24, 2018
by
frank.xa.zhang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into dev_frank
parents
e0ac49ad
f30b0979
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
52 additions
and
16 deletions
+52
-16
BBParasBo.java
.../src/main/java/pwc/taxtech/atms/dto/vatdto/BBParasBo.java
+12
-0
CurrentPeriodBo.java
...ain/java/pwc/taxtech/atms/dto/vatdto/CurrentPeriodBo.java
+8
-0
ReportCellDataSourceDto.java
.../pwc/taxtech/atms/dto/vatdto/ReportCellDataSourceDto.java
+2
-2
Exceptions.java
.../src/main/java/pwc/taxtech/atms/exception/Exceptions.java
+1
-1
BB.java
...wc/taxtech/atms/vat/service/impl/report/functions/BB.java
+18
-8
FunctionBase.java
.../atms/vat/service/impl/report/functions/FunctionBase.java
+11
-5
No files found.
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/BBParasBo.java
View file @
eb111dbe
...
...
@@ -95,4 +95,16 @@ public class BBParasBo {
this
.
year
=
curYear
;
this
.
formulaExpression
=
otherBo
.
formulaExpression
;
}
@Override
public
String
toString
()
{
return
"BBParasBo{"
+
"reportCode='"
+
reportCode
+
'\''
+
", columnIndex="
+
columnIndex
+
", rowIndex="
+
rowIndex
+
", period="
+
period
+
", year="
+
year
+
", formulaExpression='"
+
formulaExpression
+
'\''
+
'}'
;
}
}
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/CurrentPeriodBo.java
View file @
eb111dbe
...
...
@@ -35,4 +35,12 @@ public class CurrentPeriodBo {
return
new
CurrentPeriodBo
(
parameterPeriod
);
}
}
@Override
public
String
toString
()
{
return
"CurrentPeriodBo{"
+
"curYear="
+
curYear
+
", curPeriod="
+
curPeriod
+
'}'
;
}
}
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/ReportCellDataSourceDto.java
View file @
eb111dbe
...
...
@@ -42,9 +42,9 @@ public class ReportCellDataSourceDto extends FormulaDataSourceDto {
dataSource
.
name
=
DataSourceName
.
ReportDataSource
;
dataSource
.
year
=
currentPeriodBo
.
curYear
;
dataSource
.
period
=
currentPeriodBo
.
curPeriod
;
dataSource
.
columnIndex
=
bbParasBo
.
getColumnIndex
();
dataSource
.
columnIndex
=
bbParasBo
.
getColumnIndex
()
-
1
;
dataSource
.
columnName
=
cellTemplateData
.
getColumnName
();
dataSource
.
rowIndex
=
bbParasBo
.
getRowIndex
();
dataSource
.
rowIndex
=
bbParasBo
.
getRowIndex
()
-
1
;
dataSource
.
rowName
=
cellTemplateData
.
getRowName
();
dataSource
.
reportTemplateID
=
cellTemplateData
.
getReportTemplateID
();
dataSource
.
cellDataID
=
cellData
.
getId
()
+
""
;
...
...
atms-api/src/main/java/pwc/taxtech/atms/exception/Exceptions.java
View file @
eb111dbe
package
pwc
.
taxtech
.
atms
.
exception
;
public
class
Exceptions
{
public
static
final
FormulaException
BB_CELL_TEMP_NULL
=
new
FormulaException
(
"cell template
data is null
"
);
public
static
final
FormulaException
BB_CELL_TEMP_NULL
=
new
FormulaException
(
"cell template
group is null or empty
"
);
public
static
final
FormulaException
BB_REPORT_NULL
=
new
FormulaException
(
"cell report is null"
);
public
static
final
FormulaException
BB_CELL_DATA_NULL
=
new
FormulaException
(
"cell data is null"
);
public
static
final
FormulaException
BB_CELL_DATA_EMPTY
=
new
FormulaException
(
"cell data is empty"
);
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/BB.java
View file @
eb111dbe
package
pwc
.
taxtech
.
atms
.
vat
.
service
.
impl
.
report
.
functions
;
import
org.apache.poi.ss.formula.OperationEvaluationContext
;
import
org.apache.poi.ss.formula.WorkbookEvaluator
;
import
org.apache.poi.ss.formula.eval.NumberEval
;
import
org.apache.poi.ss.formula.eval.OperandResolver
;
import
org.apache.poi.ss.formula.eval.StringEval
;
import
org.apache.poi.ss.formula.eval.ValueEval
;
import
org.apache.poi.ss.formula.functions.FreeRefFunction
;
...
...
@@ -18,6 +20,7 @@ import pwc.taxtech.atms.exception.Exceptions;
import
pwc.taxtech.atms.exception.FormulaException
;
import
pwc.taxtech.atms.vat.entity.CellData
;
import
java.lang.reflect.Field
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -57,11 +60,14 @@ public class BB extends FunctionBase implements FreeRefFunction {
ReportCellDataSourceDto
nullCellDto
=
ReportCellDataSourceDto
.
nullDataSource
(
bo
,
curPeriod
);
ds
.
add
(
nullCellDto
);
CellTemplatePerGroupDto
cellTemplateData
=
agent
.
getCellTemplateGroupDto
(
formulaContext
.
getReportTemplateGroupID
(),
formulaContext
.
getProjectID
()).
stream
().
filter
(
dto
->
dto
.
getRowIndex
()
==
bo
.
getColumnIndex
()
-
1
&&
dto
.
getColumnIndex
()
==
bo
.
getColumnIndex
()
-
1
).
findFirst
().
get
();
BigDecimal
cellValue
=
BigDecimal
.
ZERO
;
try
{
CellTemplatePerGroupDto
cellTemplateData
=
agent
.
getCellTemplateGroupDto
(
formulaContext
.
getReportTemplateGroupID
(),
formulaContext
.
getProjectID
()).
stream
().
filter
(
dto
->
dto
.
getRowIndex
()
==
bo
.
getColumnIndex
()
-
1
&&
dto
.
getColumnIndex
()
==
bo
.
getColumnIndex
()
-
1
).
findFirst
().
orElseThrow
(()
->
{
return
Exceptions
.
BB_CELL_TEMP_NULL
;
});
MyAsserts
.
assertNotNull
(
cellTemplateData
,
Exceptions
.
BB_CELL_TEMP_NULL
);
nullCellDto
.
fixedWithGroup
(
cellTemplateData
);
...
...
@@ -85,13 +91,16 @@ public class BB extends FunctionBase implements FreeRefFunction {
return
returnEval
;
}
else
if
(
bo
.
getPeriod
().
intValue
()
==
0
)
{
cellValue
=
new
BigDecimal
(
ec
.
getWorkbook
().
getSheet
(
ec
.
getWorkbook
().
getSheetIndex
(
bo
.
getReportCode
()))
.
getCell
(
bo
.
getRowIndex
()
-
1
,
bo
.
getColumnIndex
()
-
1
).
getNumericCellValue
());
return
cellValue
;
Field
evaluatorField
=
OperationEvaluationContext
.
class
.
getDeclaredField
(
"_bookEvaluator"
);
evaluatorField
.
setAccessible
(
true
);
WorkbookEvaluator
evaluator
=(
WorkbookEvaluator
)
evaluatorField
.
get
(
ec
);
ValueEval
eval
=
evaluator
.
evaluate
(
ec
.
getWorkbook
().
getSheet
(
ec
.
getWorkbook
().
getSheetIndex
(
bo
.
getReportCode
()))
.
getCell
(
bo
.
getRowIndex
()
-
1
,
bo
.
getColumnIndex
()
-
1
));
return
cellValue
=
new
BigDecimal
(
OperandResolver
.
coerceValueToDouble
(
eval
));
}
bo
.
disCount
();
//
bo.disCount();
CellData
cellData
=
null
;
String
dbName
=
agent
.
getPastProjectDbName
(
curPeriod
.
getCurYear
(),
...
...
@@ -129,8 +138,9 @@ public class BB extends FunctionBase implements FreeRefFunction {
LOGGER
.
debug
(
"cell static value "
);
return
cellValue
;
}
finally
{
LOGGER
.
warn
(
"error for bb cacls for {} and current for {}"
,
bo
.
toString
(),
curPeriod
.
toString
());
Long
dataSourceID
=
saveDataSource
(
ec
,
ds
,
FormulaDataSourceDetailType
.
ReportCellDataSourceDto
,
cellValue
,
formulaContext
.
getPeriod
(),
formulaContext
.
getReportTemplateGroupID
());
cellValue
,
formulaContext
.
getPeriod
(),
formulaContext
.
getReportTemplateGroupID
()
,
bo
.
getColumnIndex
()-
1
,
bo
.
getRowIndex
()-
1
);
saveFormulaBlock
(
formulaContext
.
getPeriod
(),
ec
,
bo
.
expression
(
curPeriod
.
getCurPeriod
(),
curPeriod
.
getCurYear
()),
cellValue
,
dataSourceID
);
}
}
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/FunctionBase.java
View file @
eb111dbe
...
...
@@ -10,10 +10,11 @@ import org.slf4j.LoggerFactory;
import
pwc.taxtech.atms.common.util.SpringContextUtil
;
import
pwc.taxtech.atms.constant.enums.FormulaDataSourceDetailType
;
import
pwc.taxtech.atms.constant.enums.FormulaDataSourceType
;
import
pwc.taxtech.atms.vat.entity.*
;
import
pwc.taxtech.atms.vat.entity.DataSource
;
import
pwc.taxtech.atms.vat.entity.DataSourceDetail
;
import
pwc.taxtech.atms.vat.entity.PeriodFormulaBlock
;
import
pwc.taxtech.atms.vat.service.impl.FormulaAgent
;
import
java.lang.reflect.Type
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.HashMap
;
...
...
@@ -90,9 +91,14 @@ public class FunctionBase {
}
}
public
Long
saveDataSource
(
OperationEvaluationContext
ec
,
List
<
Object
>
dataSourceList
,
FormulaDataSourceDetailType
formulaDataSourceDetailType
,
BigDecimal
val
,
int
period
,
Long
templateGroupId
)
{
return
saveDataSource
(
ec
,
dataSourceList
,
formulaDataSourceDetailType
,
val
,
period
,
templateGroupId
,
null
,
null
);
}
public
Long
saveDataSource
(
OperationEvaluationContext
ec
,
List
<
Object
>
dataSourceList
,
FormulaDataSourceDetailType
formulaDataSourceDetailType
,
BigDecimal
val
,
int
period
,
Long
templateGroupId
)
{
int
period
,
Long
templateGroupId
,
Integer
colNumP
,
Integer
rowNumP
)
{
String
reportCode
=
ec
.
getWorkbook
().
getSheetName
(
ec
.
getSheetIndex
());
int
colNum
=
ec
.
getColumnIndex
();
int
rowNum
=
ec
.
getRowIndex
();
...
...
@@ -117,8 +123,8 @@ public class FunctionBase {
dataSource
.
setUpdateBy
(
"Admin"
);
dataSource
.
setCreateTime
(
creatime
);
dataSource
.
setUpdateTime
(
creatime
);
dataSource
.
setRowIndex
(
ec
.
getRowIndex
()
);
dataSource
.
setColumnIndex
(
ec
.
getColumnIndex
()
);
dataSource
.
setRowIndex
(
rowNumP
==
null
?
ec
.
getRowIndex
()
:
rowNumP
);
dataSource
.
setColumnIndex
(
colNumP
==
null
?
ec
.
getColumnIndex
()
:
colNumP
);
dataSource
.
setRowName
(
""
);
dataSource
.
setColumnName
(
""
);
dataSource
.
setCellTemplateId
(
periodCellTemplateId
);
...
...
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