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
f3d2ceac
Commit
f3d2ceac
authored
Nov 05, 2018
by
neo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[DEV] split mualt select to singel select
parent
b422bd93
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
168 additions
and
177 deletions
+168
-177
ReportServiceImpl.java
.../pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
+168
-177
No files found.
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
View file @
f3d2ceac
...
...
@@ -270,186 +270,11 @@ public class ReportServiceImpl {
}
List
<
Long
>
exceptTemplateIds
=
templateMapper
.
getIdsForExceptTemplate
();
// String strExceptTemplateIds = StringUtils.EMPTY;
// if (exceptTemplateIds != null && exceptTemplateIds.size() > 0) {
// strExceptTemplateIds = StringUtils.join(exceptTemplateIds, ",");
// } else {
// strExceptTemplateIds = "''";
// }
//todo: according to projectId get the templateGroupId
Long
templateGroupId
=
projectMapper
.
getTemplateGroupIdByProject
(
projectId
,
EnumServiceType
.
VAT
.
getCode
());
if
(
templateGroupId
!=
null
&&
templateGroupId
!=
0
)
{
// 先进行数据清理,包括period开头的所有报表配置表 条件Period
clearPeriodData
(
projectId
,
period
,
exceptTemplateIds
,
isMergeManualData
);
// 根据templategroupid 把 template 插入到 periodTemplate
TemplateExample
example
=
new
TemplateExample
();
example
.
createCriteria
().
andTemplateGroupIdEqualTo
(
templateGroupId
);
List
<
Template
>
templates
=
templateMapper
.
selectByExample
(
example
);
List
<
PeriodTemplate
>
periodTemplateList
=
new
ArrayList
<>();
int
i
=
0
;
Long
startTimeOut
=
System
.
currentTimeMillis
();
logger
.
debug
(
"templates copy start: "
+
startTimeOut
);
for
(
Template
template
:
templates
)
{
i
++;
Long
startTime
=
System
.
currentTimeMillis
();
logger
.
debug
(
"template copy start: "
+
startTime
);
PeriodTemplate
periodTemplate
=
new
PeriodTemplate
();
CommonUtils
.
copyProperties
(
template
,
periodTemplate
);
periodTemplate
.
setId
(
distributedIdService
.
nextId
());
periodTemplate
.
setPeriod
(
period
);
periodTemplate
.
setName
(
template
.
getName
());
periodTemplate
.
setCode
(
template
.
getCode
());
periodTemplate
.
setPath
(
template
.
getPath
());
periodTemplate
.
setReportType
(
template
.
getReportType
());
periodTemplate
.
setTemplateGroupId
(
template
.
getTemplateGroupId
());
periodTemplate
.
setOrderIndex
(
template
.
getOrderIndex
());
periodTemplate
.
setCreateTime
(
template
.
getCreateTime
());
periodTemplate
.
setUpdateTime
(
template
.
getUpdateTime
());
periodTemplate
.
setIsSystemType
(
template
.
getIsSystemType
());
periodTemplate
.
setIsActiveAssociation
(
template
.
getIsActiveAssociation
());
periodTemplate
.
setParentId
(
Utils
.
isEmpty
(
template
.
getParentId
())
?
null
:
template
.
getParentId
());
periodTemplate
.
setTemplateId
(
template
.
getId
());
periodTemplate
.
setCreateBy
(
Utils
.
isEmpty
(
template
.
getCreateBy
())
?
"admin"
:
template
.
getCreateBy
());
periodTemplate
.
setUpdateBy
(
Utils
.
isEmpty
(
template
.
getUpdateBy
())
?
"admin"
:
template
.
getUpdateBy
());
periodTemplate
.
setProjectId
(
projectId
);
periodTemplateList
.
add
(
periodTemplate
);
logger
.
debug
(
"template copy end,used time: "
+
(
System
.
currentTimeMillis
()
-
startTime
)
+
" ms"
);
}
logger
.
debug
(
"templates copy end,used: "
+
(
System
.
currentTimeMillis
()
-
startTimeOut
)
+
" ms, copy: "
+
i
+
" items"
);
List
<
Long
>
templateIdList
=
periodTemplateList
.
stream
().
map
(
PeriodTemplate:
:
getTemplateId
).
collect
(
Collectors
.
toList
());
CellTemplateExample
cellTemplateExample
=
new
CellTemplateExample
();
cellTemplateExample
.
createCriteria
().
andReportTemplateIdIn
(
templateIdList
);
List
<
CellTemplate
>
cellTemplateList
=
cellTemplateMapper
.
selectByExample
(
cellTemplateExample
);
List
<
PeriodCellTemplate
>
periodCellTemplateList
=
new
ArrayList
<>();
i
=
0
;
startTimeOut
=
System
.
currentTimeMillis
();
logger
.
debug
(
"cellTemplates copy start: "
+
startTimeOut
);
for
(
CellTemplate
cellTemplate
:
cellTemplateList
)
{
i
++;
Long
startTime
=
System
.
currentTimeMillis
();
//logger.debug("celltemplate copy start: " + startTime);
PeriodCellTemplate
periodCellTemplate
=
new
PeriodCellTemplate
();
CommonUtils
.
copyProperties
(
cellTemplate
,
periodCellTemplate
);
periodCellTemplate
.
setId
(
distributedIdService
.
nextId
());
periodCellTemplate
.
setPeriod
(
period
);
periodCellTemplate
.
setReportTemplateId
(
cellTemplate
.
getReportTemplateId
());
periodCellTemplate
.
setRowIndex
(
cellTemplate
.
getRowIndex
());
periodCellTemplate
.
setRowName
(
cellTemplate
.
getRowName
());
periodCellTemplate
.
setColumnIndex
(
cellTemplate
.
getColumnIndex
());
periodCellTemplate
.
setColumnName
(
cellTemplate
.
getColumnName
());
periodCellTemplate
.
setComment
(
cellTemplate
.
getComment
());
periodCellTemplate
.
setCreateTime
(
cellTemplate
.
getCreateTime
());
periodCellTemplate
.
setUpdateTime
(
cellTemplate
.
getUpdateTime
());
periodCellTemplate
.
setCellTemplateId
(
cellTemplate
.
getId
());
periodCellTemplate
.
setDataType
(
cellTemplate
.
getDataType
());
periodCellTemplate
.
setIsReadOnly
(
cellTemplate
.
getIsReadOnly
()
?
1
:
0
);
periodCellTemplate
.
setCopyFromId
(
cellTemplate
.
getCopyFromId
());
periodCellTemplate
.
setCreateBy
(
Utils
.
isEmpty
(
cellTemplate
.
getCreateBy
())
?
"admin"
:
cellTemplate
.
getCreateBy
());
periodCellTemplate
.
setUpdateBy
(
Utils
.
isEmpty
(
cellTemplate
.
getUpdateBy
())
?
"admin"
:
cellTemplate
.
getUpdateBy
());
periodCellTemplate
.
setProjectId
(
projectId
);
periodCellTemplateList
.
add
(
periodCellTemplate
);
//logger.debug("celltemplate copy end,used time: " + (System.currentTimeMillis() - startTime) + " ms");
}
logger
.
debug
(
"templates copy end,used: "
+
(
System
.
currentTimeMillis
()
-
startTimeOut
)
+
" ms, copy: "
+
i
+
" items"
);
List
<
Long
>
cellTemplateIdList
=
periodCellTemplateList
.
stream
().
map
(
PeriodCellTemplate:
:
getCellTemplateId
).
collect
(
Collectors
.
toList
());
CellTemplateConfigExample
cellTemplateConfigExample
=
new
CellTemplateConfigExample
();
cellTemplateConfigExample
.
createCriteria
().
andReportTemplateIdIn
(
templateIdList
).
andCellTemplateIdIn
(
cellTemplateIdList
);
List
<
CellTemplateConfig
>
cellTemplateConfigList
=
cellTemplateConfigMapper
.
selectByExample
(
cellTemplateConfigExample
);
List
<
PeriodCellTemplateConfig
>
periodCellTemplateConfigList
=
new
ArrayList
<>();
i
=
0
;
startTimeOut
=
System
.
currentTimeMillis
();
logger
.
debug
(
"cellTemplateConfigs copy start:"
+
startTimeOut
);
for
(
CellTemplateConfig
cellTemplateConfig
:
cellTemplateConfigList
)
{
i
++;
Long
startTime
=
System
.
currentTimeMillis
();
//logger.debug("cellTemplateConfig copy start: " + startTime);
PeriodCellTemplateConfig
periodCellTemplateConfig
=
new
PeriodCellTemplateConfig
();
CommonUtils
.
copyProperties
(
cellTemplateConfig
,
periodCellTemplateConfig
);
periodCellTemplateConfig
.
setId
(
distributedIdService
.
nextId
());
periodCellTemplateConfig
.
setPeriod
(
period
);
periodCellTemplateConfig
.
setCellTemplateId
(
cellTemplateConfig
.
getCellTemplateId
());
periodCellTemplateConfig
.
setReportTemplateId
(
cellTemplateConfig
.
getReportTemplateId
());
periodCellTemplateConfig
.
setDataSourceType
(
cellTemplateConfig
.
getDataSourceType
());
periodCellTemplateConfig
.
setFormula
(
Utils
.
isEmpty
(
cellTemplateConfig
.
getFormula
())
?
null
:
cellTemplateConfig
.
getFormula
());
periodCellTemplateConfig
.
setParsedFormula
(
null
);
periodCellTemplateConfig
.
setFormulaDescription
(
cellTemplateConfig
.
getFormulaDescription
());
periodCellTemplateConfig
.
setAccountCodes
(
cellTemplateConfig
.
getAccountCodes
());
periodCellTemplateConfig
.
setInvoiceType
(
cellTemplateConfig
.
getInvoiceType
());
periodCellTemplateConfig
.
setTaxRate
(
cellTemplateConfig
.
getTaxRate
());
periodCellTemplateConfig
.
setInvoiceAmountType
(
cellTemplateConfig
.
getInvoiceAmountType
());
periodCellTemplateConfig
.
setModelIds
(
cellTemplateConfig
.
getModelIds
());
periodCellTemplateConfig
.
setCreateBy
(
Utils
.
isEmpty
(
cellTemplateConfig
.
getCreateBy
())
?
"admin"
:
cellTemplateConfig
.
getCreateBy
());
periodCellTemplateConfig
.
setCreateTime
(
cellTemplateConfig
.
getCreateTime
());
periodCellTemplateConfig
.
setUpdateBy
(
Utils
.
isEmpty
(
cellTemplateConfig
.
getUpdateBy
())
?
"admin"
:
cellTemplateConfig
.
getUpdateBy
());
periodCellTemplateConfig
.
setUpdateTime
(
cellTemplateConfig
.
getUpdateTime
());
periodCellTemplateConfig
.
setInvoiceCategory
(
cellTemplateConfig
.
getInvoiceCategory
());
periodCellTemplateConfig
.
setFormulaDataSource
(
cellTemplateConfig
.
getFormulaDataSource
());
periodCellTemplateConfig
.
setValidation
(
cellTemplateConfig
.
getValidation
());
periodCellTemplateConfig
.
setParsedValidation
(
null
);
periodCellTemplateConfig
.
setValidationDescription
(
cellTemplateConfig
.
getValidationDescription
());
periodCellTemplateConfig
.
setVoucherKeyword
(
cellTemplateConfig
.
getVoucherKeyword
());
periodCellTemplateConfig
.
setCellTemplateConfigId
(
cellTemplateConfig
.
getId
());
periodCellTemplateConfig
.
setKeyValueParsedFormula
(
null
);
periodCellTemplateConfig
.
setProjectId
(
projectId
);
if
(
cellTemplateConfig
.
getFormula
()
!=
null
&&
cellTemplateConfig
.
getFormula
().
contains
(
"@"
))
{
String
regex
=
"@[0-9A-Z.]+"
;
Pattern
pp
=
Pattern
.
compile
(
regex
);
Matcher
mm
=
pp
.
matcher
(
cellTemplateConfig
.
getFormula
());
String
replace_result
=
cellTemplateConfig
.
getFormula
();
Boolean
replace
=
true
;
while
(
mm
.
find
())
{
KeyValueConfigExample
keyValueConfigExample
=
new
KeyValueConfigExample
();
keyValueConfigExample
.
createCriteria
().
andKeyCodeEqualTo
(
StringUtils
.
removeStart
(
mm
.
group
(),
"@"
));
Optional
<
KeyValueConfig
>
keyValueConfig
=
keyValueConfigMapper
.
selectByExample
(
keyValueConfigExample
).
stream
().
findFirst
();
if
(
keyValueConfig
.
isPresent
()
&&
StringUtils
.
isNotBlank
(
keyValueConfig
.
get
().
getFormula
()))
{
replace_result
=
replace_result
.
replace
(
mm
.
group
(),
keyValueConfig
.
get
().
getFormula
());
}
else
{
replace
=
false
;
}
}
if
(
replace
)
{
periodCellTemplateConfig
.
setKeyValueParsedFormula
(
replace_result
);
}
//todo: get the keyvalue from table add to keyvalue parsed formula
// KeyValueConfigExample keyValueConfigExample = new KeyValueConfigExample();
// keyValueConfigExample.createCriteria().andKeyCodeEqualTo(StringUtils.removeStart(cellTemplateConfig.getFormula(), "@"));
// Optional<KeyValueConfig> keyValueConfig = keyValueConfigMapper.selectByExample(keyValueConfigExample).stream().findFirst();
// if (keyValueConfig.isPresent()) {
// periodCellTemplateConfig.setKeyValueParsedFormula(keyValueConfig.get().getFormula());
// }
}
periodCellTemplateConfigList
.
add
(
periodCellTemplateConfig
);
//logger.debug("cellTemplateConfig copy end,used time: " + (System.currentTimeMillis() - startTime) + " ms");
}
logger
.
debug
(
"cellTemplateConfigs copy end,used: "
+
(
System
.
currentTimeMillis
()
-
startTimeOut
)
+
" ms, copy: "
+
i
+
" items"
);
if
(
periodCellTemplateConfigList
!=
null
)
{
periodCellTemplateConfigList
.
forEach
(
a
->
{
if
(
StringUtils
.
isNotBlank
(
a
.
getAccountCodes
()))
{
String
[]
acctCodes
=
a
.
getAccountCodes
().
split
(
","
);
EnterpriseAccountExample
enterpriseAccountExample
=
new
EnterpriseAccountExample
();
enterpriseAccountExample
.
createCriteria
().
andStdCodeIn
(
Arrays
.
asList
(
acctCodes
));
List
<
EnterpriseAccount
>
enterpriseAccounts
=
enterpriseAccountMapper
.
selectByExample
(
enterpriseAccountExample
);
if
(!
enterpriseAccounts
.
isEmpty
())
{
List
<
String
>
acctCodeList
=
enterpriseAccounts
.
stream
().
map
(
EnterpriseAccount:
:
getCode
).
collect
(
Collectors
.
toList
());
StringBuilder
codes
=
new
StringBuilder
();
for
(
String
code
:
acctCodeList
)
{
codes
.
append
(
code
).
append
(
","
);
}
a
.
setAccountCodes
(
StringUtils
.
removeEnd
(
codes
.
toString
(),
","
));
}
}
});
}
//todo: save config data to DB
periodTemplateMapper
.
batchInsert
(
periodTemplateList
);
periodCellTemplateMapper
.
batchInsert
(
periodCellTemplateList
);
periodCellTemplateConfigMapper
.
batchInsert
(
periodCellTemplateConfigList
);
copyTemplateAndConfigFromAdmin
(
projectId
,
templateGroupId
,
period
);
}
else
{
result
.
setResult
(
true
);
result
.
setResultMsg
(
"there is no templateGroup"
);
...
...
@@ -463,6 +288,172 @@ public class ReportServiceImpl {
return
result
;
}
private
void
copyPeriodConfigFromCellTemplateConfig
(
String
projectId
,
Long
templateId
,
Integer
period
)
{
CellTemplateConfigExample
cellTemplateConfigExample
=
new
CellTemplateConfigExample
();
cellTemplateConfigExample
.
createCriteria
().
andReportTemplateIdEqualTo
(
templateId
);
List
<
CellTemplateConfig
>
cellTemplateConfigList
=
cellTemplateConfigMapper
.
selectByExample
(
cellTemplateConfigExample
);
List
<
PeriodCellTemplateConfig
>
periodCellTemplateConfigList
=
new
ArrayList
<>();
for
(
CellTemplateConfig
cellTemplateConfig
:
cellTemplateConfigList
)
{
PeriodCellTemplateConfig
periodCellTemplateConfig
=
new
PeriodCellTemplateConfig
();
CommonUtils
.
copyProperties
(
cellTemplateConfig
,
periodCellTemplateConfig
);
periodCellTemplateConfig
.
setId
(
distributedIdService
.
nextId
());
periodCellTemplateConfig
.
setPeriod
(
period
);
periodCellTemplateConfig
.
setCellTemplateId
(
cellTemplateConfig
.
getCellTemplateId
());
periodCellTemplateConfig
.
setReportTemplateId
(
cellTemplateConfig
.
getReportTemplateId
());
periodCellTemplateConfig
.
setDataSourceType
(
cellTemplateConfig
.
getDataSourceType
());
periodCellTemplateConfig
.
setFormula
(
Utils
.
isEmpty
(
cellTemplateConfig
.
getFormula
())
?
null
:
cellTemplateConfig
.
getFormula
());
periodCellTemplateConfig
.
setParsedFormula
(
null
);
periodCellTemplateConfig
.
setFormulaDescription
(
cellTemplateConfig
.
getFormulaDescription
());
periodCellTemplateConfig
.
setAccountCodes
(
cellTemplateConfig
.
getAccountCodes
());
periodCellTemplateConfig
.
setInvoiceType
(
cellTemplateConfig
.
getInvoiceType
());
periodCellTemplateConfig
.
setTaxRate
(
cellTemplateConfig
.
getTaxRate
());
periodCellTemplateConfig
.
setInvoiceAmountType
(
cellTemplateConfig
.
getInvoiceAmountType
());
periodCellTemplateConfig
.
setModelIds
(
cellTemplateConfig
.
getModelIds
());
periodCellTemplateConfig
.
setCreateBy
(
Utils
.
isEmpty
(
cellTemplateConfig
.
getCreateBy
())
?
"admin"
:
cellTemplateConfig
.
getCreateBy
());
periodCellTemplateConfig
.
setCreateTime
(
cellTemplateConfig
.
getCreateTime
());
periodCellTemplateConfig
.
setUpdateBy
(
Utils
.
isEmpty
(
cellTemplateConfig
.
getUpdateBy
())
?
"admin"
:
cellTemplateConfig
.
getUpdateBy
());
periodCellTemplateConfig
.
setUpdateTime
(
cellTemplateConfig
.
getUpdateTime
());
periodCellTemplateConfig
.
setInvoiceCategory
(
cellTemplateConfig
.
getInvoiceCategory
());
periodCellTemplateConfig
.
setFormulaDataSource
(
cellTemplateConfig
.
getFormulaDataSource
());
periodCellTemplateConfig
.
setValidation
(
cellTemplateConfig
.
getValidation
());
periodCellTemplateConfig
.
setParsedValidation
(
null
);
periodCellTemplateConfig
.
setValidationDescription
(
cellTemplateConfig
.
getValidationDescription
());
periodCellTemplateConfig
.
setVoucherKeyword
(
cellTemplateConfig
.
getVoucherKeyword
());
periodCellTemplateConfig
.
setCellTemplateConfigId
(
cellTemplateConfig
.
getId
());
periodCellTemplateConfig
.
setKeyValueParsedFormula
(
null
);
periodCellTemplateConfig
.
setProjectId
(
projectId
);
fixedParsedFormula
(
periodCellTemplateConfig
);
fixedAccountCode
(
periodCellTemplateConfig
);
periodCellTemplateConfigList
.
add
(
periodCellTemplateConfig
);
}
periodCellTemplateConfigMapper
.
batchInsert
(
periodCellTemplateConfigList
);
}
private
void
fixedAccountCode
(
PeriodCellTemplateConfig
pctc
)
{
if
(
StringUtils
.
isNotBlank
(
pctc
.
getAccountCodes
()))
{
String
[]
acctCodes
=
pctc
.
getAccountCodes
().
split
(
","
);
EnterpriseAccountExample
enterpriseAccountExample
=
new
EnterpriseAccountExample
();
enterpriseAccountExample
.
createCriteria
().
andStdCodeIn
(
Arrays
.
asList
(
acctCodes
));
List
<
EnterpriseAccount
>
enterpriseAccounts
=
enterpriseAccountMapper
.
selectByExample
(
enterpriseAccountExample
);
if
(!
enterpriseAccounts
.
isEmpty
())
{
List
<
String
>
acctCodeList
=
enterpriseAccounts
.
stream
().
map
(
EnterpriseAccount:
:
getCode
).
collect
(
Collectors
.
toList
());
StringBuilder
codes
=
new
StringBuilder
();
for
(
String
code
:
acctCodeList
)
{
codes
.
append
(
code
).
append
(
","
);
}
pctc
.
setAccountCodes
(
StringUtils
.
removeEnd
(
codes
.
toString
(),
","
));
}
}
}
private
void
fixedParsedFormula
(
PeriodCellTemplateConfig
pctc
)
{
if
(
pctc
.
getFormula
()
!=
null
&&
pctc
.
getFormula
().
contains
(
"@"
))
{
String
regex
=
"@[0-9A-Z.]+"
;
Pattern
pp
=
Pattern
.
compile
(
regex
);
Matcher
mm
=
pp
.
matcher
(
pctc
.
getFormula
());
String
replace_result
=
pctc
.
getFormula
();
Boolean
replace
=
true
;
while
(
mm
.
find
())
{
KeyValueConfigExample
keyValueConfigExample
=
new
KeyValueConfigExample
();
keyValueConfigExample
.
createCriteria
().
andKeyCodeEqualTo
(
StringUtils
.
removeStart
(
mm
.
group
(),
"@"
));
Optional
<
KeyValueConfig
>
keyValueConfig
=
keyValueConfigMapper
.
selectByExample
(
keyValueConfigExample
).
stream
().
findFirst
();
if
(
keyValueConfig
.
isPresent
()
&&
StringUtils
.
isNotBlank
(
keyValueConfig
.
get
().
getFormula
()))
{
replace_result
=
replace_result
.
replace
(
mm
.
group
(),
keyValueConfig
.
get
().
getFormula
());
}
else
{
replace
=
false
;
}
}
if
(
replace
)
{
pctc
.
setKeyValueParsedFormula
(
replace_result
);
}
//todo: get the keyvalue from table add to keyvalue parsed formula
// KeyValueConfigExample skeyValueConfigExample = new KeyValueConfigExample();
// keyValueConfigExample.createCriteria().andKeyCodeEqualTo(StringUtils.removeStart(cellTemplateConfig.getFormula(), "@"));
// Optional<KeyValueConfig> keyValueConfig = keyValueConfigMapper.selectByExample(keyValueConfigExample).stream().findFirst();
// if (keyValueConfig.isPresent()) {
// periodCellTemplateConfig.setKeyValueParsedFormula(keyValueConfig.get().getFormula());
// }
}
}
private
void
copyPeriodCellTemplateFromCellTemplate
(
String
projectId
,
Long
templateId
,
Integer
period
)
{
CellTemplateExample
cellTemplateExample
=
new
CellTemplateExample
();
cellTemplateExample
.
createCriteria
().
andReportTemplateIdEqualTo
(
templateId
);
List
<
CellTemplate
>
cellTemplateList
=
cellTemplateMapper
.
selectByExample
(
cellTemplateExample
);
List
<
PeriodCellTemplate
>
periodCellTemplateList
=
new
ArrayList
<>();
for
(
CellTemplate
cellTemplate
:
cellTemplateList
)
{
PeriodCellTemplate
periodCellTemplate
=
new
PeriodCellTemplate
();
CommonUtils
.
copyProperties
(
cellTemplate
,
periodCellTemplate
);
periodCellTemplate
.
setId
(
distributedIdService
.
nextId
());
periodCellTemplate
.
setPeriod
(
period
);
periodCellTemplate
.
setReportTemplateId
(
cellTemplate
.
getReportTemplateId
());
periodCellTemplate
.
setRowIndex
(
cellTemplate
.
getRowIndex
());
periodCellTemplate
.
setRowName
(
cellTemplate
.
getRowName
());
periodCellTemplate
.
setColumnIndex
(
cellTemplate
.
getColumnIndex
());
periodCellTemplate
.
setColumnName
(
cellTemplate
.
getColumnName
());
periodCellTemplate
.
setComment
(
cellTemplate
.
getComment
());
periodCellTemplate
.
setCreateTime
(
cellTemplate
.
getCreateTime
());
periodCellTemplate
.
setUpdateTime
(
cellTemplate
.
getUpdateTime
());
periodCellTemplate
.
setCellTemplateId
(
cellTemplate
.
getId
());
periodCellTemplate
.
setDataType
(
cellTemplate
.
getDataType
());
periodCellTemplate
.
setIsReadOnly
(
cellTemplate
.
getIsReadOnly
()
?
1
:
0
);
periodCellTemplate
.
setCopyFromId
(
cellTemplate
.
getCopyFromId
());
periodCellTemplate
.
setCreateBy
(
Utils
.
isEmpty
(
cellTemplate
.
getCreateBy
())
?
"admin"
:
cellTemplate
.
getCreateBy
());
periodCellTemplate
.
setUpdateBy
(
Utils
.
isEmpty
(
cellTemplate
.
getUpdateBy
())
?
"admin"
:
cellTemplate
.
getUpdateBy
());
periodCellTemplate
.
setProjectId
(
projectId
);
periodCellTemplateList
.
add
(
periodCellTemplate
);
}
periodCellTemplateMapper
.
batchInsert
(
periodCellTemplateList
);
}
private
void
copyTemplateAndConfigFromAdmin
(
String
projectId
,
Long
templateGroupId
,
Integer
period
)
{
TemplateExample
example
=
new
TemplateExample
();
example
.
createCriteria
().
andTemplateGroupIdEqualTo
(
templateGroupId
);
List
<
Template
>
templates
=
templateMapper
.
selectByExample
(
example
);
List
<
PeriodTemplate
>
periodTemplateList
=
new
ArrayList
<>();
for
(
Template
template
:
templates
)
{
Long
startTime
=
System
.
currentTimeMillis
();
logger
.
debug
(
"template copy start: "
+
startTime
);
PeriodTemplate
periodTemplate
=
new
PeriodTemplate
();
CommonUtils
.
copyProperties
(
template
,
periodTemplate
);
periodTemplate
.
setId
(
distributedIdService
.
nextId
());
periodTemplate
.
setPeriod
(
period
);
periodTemplate
.
setName
(
template
.
getName
());
periodTemplate
.
setCode
(
template
.
getCode
());
periodTemplate
.
setPath
(
template
.
getPath
());
periodTemplate
.
setReportType
(
template
.
getReportType
());
periodTemplate
.
setTemplateGroupId
(
template
.
getTemplateGroupId
());
periodTemplate
.
setOrderIndex
(
template
.
getOrderIndex
());
periodTemplate
.
setCreateTime
(
template
.
getCreateTime
());
periodTemplate
.
setUpdateTime
(
template
.
getUpdateTime
());
periodTemplate
.
setIsSystemType
(
template
.
getIsSystemType
());
periodTemplate
.
setIsActiveAssociation
(
template
.
getIsActiveAssociation
());
periodTemplate
.
setParentId
(
Utils
.
isEmpty
(
template
.
getParentId
())
?
null
:
template
.
getParentId
());
periodTemplate
.
setTemplateId
(
template
.
getId
());
periodTemplate
.
setCreateBy
(
Utils
.
isEmpty
(
template
.
getCreateBy
())
?
"admin"
:
template
.
getCreateBy
());
periodTemplate
.
setUpdateBy
(
Utils
.
isEmpty
(
template
.
getUpdateBy
())
?
"admin"
:
template
.
getUpdateBy
());
periodTemplate
.
setProjectId
(
projectId
);
periodTemplateList
.
add
(
periodTemplate
);
copyPeriodCellTemplateFromCellTemplate
(
projectId
,
template
.
getId
(),
period
);
copyPeriodConfigFromCellTemplateConfig
(
projectId
,
template
.
getId
(),
period
);
}
periodTemplateMapper
.
batchInsert
(
periodTemplateList
);
}
public
OperationResultDto
generateData
(
String
projectId
,
EnumServiceType
serviceType
,
Boolean
ifDeleteManualDataSource
,
Integer
periodParam
,
Integer
reportType
,
Optional
<
String
>
generator
)
{
OperationResultDto
operationResultDto
=
new
OperationResultDto
();
...
...
@@ -1206,7 +1197,7 @@ public class ReportServiceImpl {
private
String
getAcctProp
(
Integer
acctProp
)
{
switch
(
acctProp
)
{
case
1
:
return
"资产
"
;
return
"资产
case 2:
return "
负债
";
case 3:
...
...
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