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
96abb90a
Commit
96abb90a
authored
Jul 12, 2018
by
neo.wang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_neo' into 'dev'
Dev neo See merge request root/atms!64
parents
b9b5e708
ccf0112a
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
58 additions
and
14 deletions
+58
-14
CloseableFormulaDataSource.java
...c/taxtech/atms/dto/vatdto/CloseableFormulaDataSource.java
+1
-1
ReportGenerator.java
...in/java/pwc/taxtech/atms/vat/service/ReportGenerator.java
+1
-1
FormulaAgent.java
.../java/pwc/taxtech/atms/vat/service/impl/FormulaAgent.java
+23
-2
ReportFormulaFactory.java
...c/taxtech/atms/vat/service/impl/ReportFormulaFactory.java
+1
-1
ReportGeneratorImpl.java
...wc/taxtech/atms/vat/service/impl/ReportGeneratorImpl.java
+32
-8
ReportServiceImpl.java
.../pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
+0
-1
No files found.
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/CloseableFormulaDataSource.java
View file @
96abb90a
...
@@ -28,7 +28,7 @@ public class CloseableFormulaDataSource implements AutoCloseable{
...
@@ -28,7 +28,7 @@ public class CloseableFormulaDataSource implements AutoCloseable{
@Override
@Override
public
void
close
()
throws
Exception
{
public
void
close
()
throws
Exception
{
if
(!
dataSourceList
.
isEmpty
()){
if
(!
dataSourceList
.
isEmpty
()){
//
agent.save(dataSourceList);//TODO: save datasources;
agent
.
save
(
dataSourceList
);
//TODO: save datasources;
}
}
}
}
}
}
atms-api/src/main/java/pwc/taxtech/atms/vat/service/ReportGenerator.java
View file @
96abb90a
...
@@ -5,7 +5,7 @@ import pwc.taxtech.atms.dto.vatdto.CellCalcInfoDto;
...
@@ -5,7 +5,7 @@ import pwc.taxtech.atms.dto.vatdto.CellCalcInfoDto;
import
java.util.List
;
import
java.util.List
;
public
interface
ReportGenerator
{
public
interface
ReportGenerator
{
String
generateData
(
String
projectId
,
List
<
Long
>
templateIds
,
Boolean
ifDeleteManualDataSource
,
List
<
String
>
exceptCellTemplates
,
Integer
periodParam
,
String
generator
);
String
generateData
(
String
projectId
,
List
<
Long
>
templateIds
,
Boolean
ifDeleteManualDataSource
,
List
<
String
>
exceptCellTemplates
,
Integer
periodParam
,
String
generator
);
List
<
CellCalcInfoDto
>
getCellCalcInfo
(
List
<
Long
>
templateIDList
,
Integer
periodParam
);
List
<
CellCalcInfoDto
>
getCellCalcInfo
(
List
<
Long
>
templateIDList
,
Integer
periodParam
);
}
}
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/FormulaAgent.java
View file @
96abb90a
...
@@ -6,6 +6,7 @@ import pwc.taxtech.atms.constant.enums.EnumServiceType;
...
@@ -6,6 +6,7 @@ import pwc.taxtech.atms.constant.enums.EnumServiceType;
import
pwc.taxtech.atms.dao.FormulaAdminMapper
;
import
pwc.taxtech.atms.dao.FormulaAdminMapper
;
import
pwc.taxtech.atms.dto.GroupId
;
import
pwc.taxtech.atms.dto.GroupId
;
import
pwc.taxtech.atms.dto.vatdto.CellTemplatePerGroupDto
;
import
pwc.taxtech.atms.dto.vatdto.CellTemplatePerGroupDto
;
import
pwc.taxtech.atms.dto.vatdto.FormulaDataSourceDto
;
import
pwc.taxtech.atms.entitiy.ProjectServiceType
;
import
pwc.taxtech.atms.entitiy.ProjectServiceType
;
import
pwc.taxtech.atms.entitiy.ProjectServiceTypeExample
;
import
pwc.taxtech.atms.entitiy.ProjectServiceTypeExample
;
import
pwc.taxtech.atms.vat.dao.CellDataMapper
;
import
pwc.taxtech.atms.vat.dao.CellDataMapper
;
...
@@ -13,6 +14,7 @@ import pwc.taxtech.atms.vat.dao.FormulaProjectMapper;
...
@@ -13,6 +14,7 @@ import pwc.taxtech.atms.vat.dao.FormulaProjectMapper;
import
pwc.taxtech.atms.vat.dao.ReportMapper
;
import
pwc.taxtech.atms.vat.dao.ReportMapper
;
import
pwc.taxtech.atms.vat.entity.CellData
;
import
pwc.taxtech.atms.vat.entity.CellData
;
import
pwc.taxtech.atms.vat.entity.CellDataExample
;
import
pwc.taxtech.atms.vat.entity.CellDataExample
;
import
pwc.taxtech.atms.vat.entity.DataSource
;
import
pwc.taxtech.atms.vat.entity.Report
;
import
pwc.taxtech.atms.vat.entity.Report
;
import
pwc.taxtech.atms.vat.entity.ReportExample
;
import
pwc.taxtech.atms.vat.entity.ReportExample
;
...
@@ -58,7 +60,7 @@ public class FormulaAgent extends VatAbstractService {
...
@@ -58,7 +60,7 @@ public class FormulaAgent extends VatAbstractService {
.
andPeriodEqualTo
(
periodId
);
.
andPeriodEqualTo
(
periodId
);
List
<
Report
>
reports
=
reportMapper
.
selectByExample
(
example
);
List
<
Report
>
reports
=
reportMapper
.
selectByExample
(
example
);
if
(
reports
!=
null
||
!
reports
.
isEmpty
())
return
reports
.
get
(
FIRST_OR_DEFAULT
);
if
(
reports
!=
null
&&
!
reports
.
isEmpty
())
return
reports
.
get
(
FIRST_OR_DEFAULT
);
return
null
;
return
null
;
}
}
...
@@ -67,8 +69,27 @@ public class FormulaAgent extends VatAbstractService {
...
@@ -67,8 +69,27 @@ public class FormulaAgent extends VatAbstractService {
dataExample
.
createCriteria
().
andCellTemplateIdEqualTo
(
Long
.
valueOf
(
templateId
));
dataExample
.
createCriteria
().
andCellTemplateIdEqualTo
(
Long
.
valueOf
(
templateId
));
List
<
CellData
>
cellDataList
=
cellDataMapper
.
selectByExample
(
dataExample
);
List
<
CellData
>
cellDataList
=
cellDataMapper
.
selectByExample
(
dataExample
);
if
(
cellDataList
!=
null
||
!
cellDataList
.
isEmpty
())
return
cellDataList
.
get
(
FIRST_OR_DEFAULT
);
if
(
cellDataList
!=
null
&&
!
cellDataList
.
isEmpty
())
return
cellDataList
.
get
(
FIRST_OR_DEFAULT
);
return
null
;
return
null
;
}
}
public
void
save
(
List
<
FormulaDataSourceDto
>
dataSourceDtos
){
dataSourceDtos
.
forEach
(
m
->{
DataSource
ds
=
new
DataSource
();
ds
.
setAmount
(
m
.
getAmount
());
ds
.
setCreateBy
(
m
.
getCreator
());
ds
.
setCreateTime
(
m
.
getCreateTime
());
ds
.
setDescription
(
m
.
getDescription
());
ds
.
setKeyValueDataId
(
m
.
getKeyValueDataID
());
ds
.
setName
(
m
.
getName
());
ds
.
setId
(
Long
.
parseLong
(
m
.
getId
()));
ds
.
setType
(
m
.
getType
());
ds
.
setUpdateBy
(
m
.
getUpdater
());
ds
.
setUpdateTime
(
m
.
getUpdateTime
());
dataSourceMapper
.
insert
(
ds
);
});
}
}
}
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportFormulaFactory.java
View file @
96abb90a
...
@@ -109,7 +109,7 @@ public class ReportFormulaFactory {
...
@@ -109,7 +109,7 @@ public class ReportFormulaFactory {
ShardingContextHolder
.
setDataSourceKey
(
dbName
);
ShardingContextHolder
.
setDataSourceKey
(
dbName
);
try
{
try
{
Report
report
=
agent
.
getReportByTemplate
(
cellTemplateData
.
get
Cell
TemplateID
(),
curPeriod
.
getCurPeriod
());
Report
report
=
agent
.
getReportByTemplate
(
cellTemplateData
.
get
Report
TemplateID
(),
curPeriod
.
getCurPeriod
());
MyAsserts
.
assertNotNull
(
report
,
Exceptions
.
BB_REPORT_NULL
);
MyAsserts
.
assertNotNull
(
report
,
Exceptions
.
BB_REPORT_NULL
);
CellData
cellData
=
agent
.
getCellDataListByTemplate
(
cellTemplateData
.
getCellTemplateID
(),
report
.
getId
());
CellData
cellData
=
agent
.
getCellDataListByTemplate
(
cellTemplateData
.
getCellTemplateID
(),
report
.
getId
());
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportGeneratorImpl.java
View file @
96abb90a
...
@@ -6,17 +6,32 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
...
@@ -6,17 +6,32 @@ import org.apache.poi.ss.formula.functions.FreeRefFunction;
import
org.apache.poi.ss.formula.udf.AggregatingUDFFinder
;
import
org.apache.poi.ss.formula.udf.AggregatingUDFFinder
;
import
org.apache.poi.ss.formula.udf.DefaultUDFFinder
;
import
org.apache.poi.ss.formula.udf.DefaultUDFFinder
;
import
org.apache.poi.ss.formula.udf.UDFFinder
;
import
org.apache.poi.ss.formula.udf.UDFFinder
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.usermodel.Cell
;
import
org.apache.poi.ss.usermodel.FormulaEvaluator
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Sheet
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.WorkbookFactory
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
pwc.taxtech.atms.common.POIUtil
;
import
pwc.taxtech.atms.common.POIUtil
;
import
pwc.taxtech.atms.constant.enums.CellDataSourceType
;
import
pwc.taxtech.atms.constant.enums.CellDataSourceType
;
import
pwc.taxtech.atms.dao.ProjectMapper
;
import
pwc.taxtech.atms.dto.vatdto.CellCalcInfoDto
;
import
pwc.taxtech.atms.dto.vatdto.CellCalcInfoDto
;
import
pwc.taxtech.atms.dto.vatdto.CellTemplateConfigGroupDto
;
import
pwc.taxtech.atms.dto.vatdto.CellTemplateConfigGroupDto
;
import
pwc.taxtech.atms.dto.vatdto.PeriodCellTemplateConfigExtendDto
;
import
pwc.taxtech.atms.dto.vatdto.PeriodCellTemplateConfigExtendDto
;
import
pwc.taxtech.atms.vat.entity.*
;
import
pwc.taxtech.atms.entitiy.Project
;
import
pwc.taxtech.atms.vat.entity.CellData
;
import
pwc.taxtech.atms.vat.entity.PeriodCellTemplate
;
import
pwc.taxtech.atms.vat.entity.PeriodCellTemplateConfig
;
import
pwc.taxtech.atms.vat.entity.PeriodCellTemplateConfigExample
;
import
pwc.taxtech.atms.vat.entity.PeriodCellTemplateExample
;
import
pwc.taxtech.atms.vat.entity.PeriodTemplate
;
import
pwc.taxtech.atms.vat.entity.PeriodTemplateExample
;
import
pwc.taxtech.atms.vat.entity.Report
;
import
pwc.taxtech.atms.vat.service.ReportGenerator
;
import
pwc.taxtech.atms.vat.service.ReportGenerator
;
import
pwc.taxtech.atms.vat.service.impl.report.functions.FSJZ
;
import
pwc.taxtech.atms.vat.service.impl.report.functions.FSJZ
;
import
pwc.taxtech.atms.vat.service.impl.report.functions.FormulaContext
;
import
pwc.taxtech.atms.vat.service.impl.report.functions.FormulaContext
;
...
@@ -26,7 +41,12 @@ import pwc.taxtech.atms.vat.service.impl.report.functions.SGSR;
...
@@ -26,7 +41,12 @@ import pwc.taxtech.atms.vat.service.impl.report.functions.SGSR;
import
java.io.File
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.io.FileNotFoundException
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
pwc
.
taxtech
.
atms
.
constant
.
Constant
.
EMPTY
;
import
static
pwc
.
taxtech
.
atms
.
constant
.
Constant
.
EMPTY
;
...
@@ -35,14 +55,17 @@ import static pwc.taxtech.atms.constant.Constant.EMPTY;
...
@@ -35,14 +55,17 @@ import static pwc.taxtech.atms.constant.Constant.EMPTY;
public
class
ReportGeneratorImpl
extends
VatAbstractService
implements
ReportGenerator
{
public
class
ReportGeneratorImpl
extends
VatAbstractService
implements
ReportGenerator
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ReportGeneratorImpl
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ReportGeneratorImpl
.
class
);
@Autowired
private
ProjectMapper
projectMapper
;
@Override
@Override
public
String
generateData
(
String
projectId
,
List
<
Long
>
templateIds
public
String
generateData
(
String
projectId
,
List
<
Long
>
templateIds
,
Boolean
ifDeleteManualDataSource
,
,
Boolean
ifDeleteManualDataSource
,
List
<
String
>
exceptCellTemplates
List
<
String
>
exceptCellTemplates
,
Integer
periodParam
,
String
generator
)
{
,
Integer
periodParam
,
String
generator
)
{
Date
createTime
=
new
Date
();
Date
createTime
=
new
Date
();
int
period
=
periodParam
!=
null
?
periodParam
:
0
;
int
period
=
periodParam
!=
null
?
periodParam
:
0
;
Project
project
=
projectMapper
.
selectByPrimaryKey
(
projectId
);
PeriodTemplateExample
periodTemplateExample
=
new
PeriodTemplateExample
();
PeriodTemplateExample
periodTemplateExample
=
new
PeriodTemplateExample
();
periodTemplateExample
.
createCriteria
().
andIdIn
(
templateIds
);
periodTemplateExample
.
createCriteria
().
andIdIn
(
templateIds
);
List
<
PeriodTemplate
>
periodTemplateList
=
periodTemplateMapper
.
selectByExample
(
periodTemplateExample
);
List
<
PeriodTemplate
>
periodTemplateList
=
periodTemplateMapper
.
selectByExample
(
periodTemplateExample
);
...
@@ -69,8 +92,9 @@ public class ReportGeneratorImpl extends VatAbstractService implements ReportGen
...
@@ -69,8 +92,9 @@ public class ReportGeneratorImpl extends VatAbstractService implements ReportGen
formulaContext
.
setFormulaAgent
(
formulaAgent
);
formulaContext
.
setFormulaAgent
(
formulaAgent
);
formulaContext
.
setPeriod
(
6
);
//todo: assign value later
formulaContext
.
setPeriod
(
6
);
//todo: assign value later
formulaContext
.
setReportTemplateGroupID
(
templateGroupID
);
formulaContext
.
setReportTemplateGroupID
(
templateGroupID
);
formulaContext
.
setProjectID
(
projectId
);
formulaContext
.
setProjectID
(
project
.
getID
());
formulaContext
.
setYear
(
2018
);
//todo: assign value later
formulaContext
.
setYear
(
project
.
getYear
());
//todo: assign value later
formulaContext
.
setOrganizationID
(
project
.
getOrganizationID
());
addFunctionsToWorkbook
(
newWorkbook
,
formulaContext
);
addFunctionsToWorkbook
(
newWorkbook
,
formulaContext
);
int
sheetCount
=
newWorkbook
.
getNumberOfSheets
();
int
sheetCount
=
newWorkbook
.
getNumberOfSheets
();
...
...
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
View file @
96abb90a
...
@@ -270,7 +270,6 @@ public class ReportServiceImpl extends VatAbstractService implements ReportServi
...
@@ -270,7 +270,6 @@ public class ReportServiceImpl extends VatAbstractService implements ReportServi
templateIds
=
periodTemplateMapper
.
selectByExample
(
periodTemplateExample
).
stream
().
map
(
PeriodTemplate:
:
getId
).
collect
(
Collectors
.
toList
());
templateIds
=
periodTemplateMapper
.
selectByExample
(
periodTemplateExample
).
stream
().
map
(
PeriodTemplate:
:
getId
).
collect
(
Collectors
.
toList
());
}
}
String
rslt
=
reportGenerator
.
generateData
(
projectId
,
templateIds
,
ifDeleteManualDataSource
,
null
,
periodParam
,
generator
);
String
rslt
=
reportGenerator
.
generateData
(
projectId
,
templateIds
,
ifDeleteManualDataSource
,
null
,
periodParam
,
generator
);
if
(
StringUtils
.
isBlank
(
rslt
))
{
if
(
StringUtils
.
isBlank
(
rslt
))
{
operationResultDto
.
setResultMsg
(
"ReportGenerateFailed!"
);
operationResultDto
.
setResultMsg
(
"ReportGenerateFailed!"
);
...
...
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