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
3f550fd8
Commit
3f550fd8
authored
6 years ago
by
kevin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
ddc6e98b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
1028 additions
and
131 deletions
+1028
-131
FileServiceConfig.java
...ava/pwc/taxtech/atms/common/config/FileServiceConfig.java
+10
-0
ErrorMessageCN.java
.../java/pwc/taxtech/atms/common/message/ErrorMessageCN.java
+1
-0
FileUploadUtil.java
...ain/java/pwc/taxtech/atms/common/util/FileUploadUtil.java
+6
-1
DataImportController.java
...ava/pwc/taxtech/atms/controller/DataImportController.java
+4
-0
ReportController.java
...in/java/pwc/taxtech/atms/controller/ReportController.java
+79
-10
TemplateController.java
.../java/pwc/taxtech/atms/controller/TemplateController.java
+99
-2
TemplateGroupController.java
.../pwc/taxtech/atms/controller/TemplateGroupController.java
+18
-0
PeriodReportDto.java
...i/src/main/java/pwc/taxtech/atms/dto/PeriodReportDto.java
+325
-0
EbitDataDto.java
...rc/main/java/pwc/taxtech/atms/dto/vatdto/EbitDataDto.java
+90
-0
ReportDataDto.java
.../main/java/pwc/taxtech/atms/dto/vatdto/ReportDataDto.java
+9
-0
AnalysisServiceImpl.java
...va/pwc/taxtech/atms/service/impl/AnalysisServiceImpl.java
+2
-1
DataImportService.java
...java/pwc/taxtech/atms/service/impl/DataImportService.java
+1
-1
TemplateGroupServiceImpl.java
...c/taxtech/atms/service/impl/TemplateGroupServiceImpl.java
+0
-0
TemplateServiceImpl.java
...va/pwc/taxtech/atms/service/impl/TemplateServiceImpl.java
+6
-0
FormulaAgent.java
.../java/pwc/taxtech/atms/vat/service/impl/FormulaAgent.java
+21
-15
ReportServiceImpl.java
.../pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
+0
-0
RSUMIF.java
...axtech/atms/vat/service/impl/report/functions/RSUMIF.java
+8
-11
vatGeneratorConfig.xml
atms-dao/etc/generator-mysql/vatGeneratorConfig.xml
+1
-1
ReportDto.java
atms-dao/src/main/java/pwc/taxtech/atms/dpo/ReportDto.java
+12
-0
ProfitLossStatementFinalMapper.java
.../taxtech/atms/vat/dao/ProfitLossStatementFinalMapper.java
+2
-1
PeriodReport.java
...c/main/java/pwc/taxtech/atms/vat/entity/PeriodReport.java
+11
-0
module-part2.js
atms-web/src/main/webapp/Scripts/module-part2.js
+1
-0
index.html
atms-web/src/main/webapp/WEB-INF/templates/index.html
+59
-54
vat.json
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
+5
-1
table-report-sheet.js
...ain/webapp/app/analysis/table/sheet/table-report-sheet.js
+0
-0
tb-ebit-form.ctrl.js
...b/src/main/webapp/app/analysis/table/tb-ebit-form.ctrl.js
+0
-0
tb-ebit-form.html
...-web/src/main/webapp/app/analysis/table/tb-ebit-form.html
+43
-0
tb-ebit-form.js
atms-web/src/main/webapp/app/analysis/table/tb-ebit-form.js
+17
-0
tb-ebit-form.less
...-web/src/main/webapp/app/analysis/table/tb-ebit-form.less
+111
-0
vat-report-view.html
.../app/common/controls/vat-report-view/vat-report-view.html
+0
-6
pwc-util.js
atms-web/src/main/webapp/app/common/utils/pwc-util.js
+1
-1
vatReportService.js
...rc/main/webapp/app/common/vatservices/vatReportService.js
+36
-17
template.svc.js
...eb/src/main/webapp/app/common/webservices/template.svc.js
+50
-9
No files found.
atms-api/src/main/java/pwc/taxtech/atms/common/config/FileServiceConfig.java
View file @
3f550fd8
...
...
@@ -9,6 +9,16 @@ public class FileServiceConfig {
private
String
serverUrl
;
@Value
(
"${file.server.upload}"
)
private
String
uploadUrl
;
@Value
(
"${file_upload_post_url}"
)
private
String
upload_post_url
;
public
String
getUpload_post_url
()
{
return
upload_post_url
;
}
public
void
setUpload_post_url
(
String
upload_post_url
)
{
this
.
upload_post_url
=
upload_post_url
;
}
public
String
getServerUrl
()
{
return
serverUrl
;
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/common/message/ErrorMessageCN.java
View file @
3f550fd8
...
...
@@ -17,5 +17,6 @@ public class ErrorMessageCN {
public
static
final
String
OrgStructureNameExist
=
"层级名称已存在!"
;
public
static
final
String
NoLedgerID
=
"该机构未同步主数据账套ID!"
;
public
static
final
String
NoCompanyCode
=
"该机构缺少机构代码字段!"
;
public
static
final
String
ErrorFileFormat
=
"文件样式错误"
;
}
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/common/util/FileUploadUtil.java
View file @
3f550fd8
...
...
@@ -41,10 +41,15 @@ public class FileUploadUtil implements ApplicationContextAware {
return
upload
(
file
,
false
);
}
public
static
String
serverPath
(){
public
static
String
serverPath
(
boolean
newUrl
){
config
=
(
FileServiceConfig
)
applicationContext
.
getBean
(
"fileServiceConfig"
);
if
(
newUrl
)
return
config
.
getUpload_post_url
();
return
config
.
getServerUrl
()
+
config
.
getUploadUrl
();
}
public
static
String
serverPath
(){
return
serverPath
(
true
);
}
/**
* 上传模板
*
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/controller/DataImportController.java
View file @
3f550fd8
...
...
@@ -5,6 +5,7 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
pwc.taxtech.atms.common.message.ErrorMessage
;
import
pwc.taxtech.atms.dao.ProjectMapper
;
import
pwc.taxtech.atms.dpo.PagingDto
;
import
pwc.taxtech.atms.dto.*
;
import
pwc.taxtech.atms.dto.dataimport.DataImportAllParam
;
...
...
@@ -13,6 +14,8 @@ import pwc.taxtech.atms.dto.dataimport.DataProcessParam;
import
pwc.taxtech.atms.dto.input.CamelPagingResultDto
;
import
pwc.taxtech.atms.dto.vatdto.TrialBalanceDto
;
import
pwc.taxtech.atms.dto.vatdto.TrialBalanceParam
;
import
pwc.taxtech.atms.entity.Project
;
import
pwc.taxtech.atms.entity.ProjectExample
;
import
pwc.taxtech.atms.exception.ServiceException
;
import
pwc.taxtech.atms.service.impl.DataImportService
;
import
pwc.taxtech.atms.service.impl.DidiFileUploadService
;
...
...
@@ -126,6 +129,7 @@ public class DataImportController extends BaseController {
}
}
@ResponseBody
@RequestMapping
(
value
=
"CFExcelFile"
,
method
=
RequestMethod
.
POST
)
public
OperationResultDto
importCFExcelFile
(
@RequestParam
MultipartFile
file
,
@RequestParam
String
orgIds
,
@RequestParam
String
periodDate
,
@RequestParam
Integer
importType
)
{
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/controller/ReportController.java
View file @
3f550fd8
...
...
@@ -7,15 +7,19 @@ import org.springframework.http.ResponseEntity;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
pwc.taxtech.atms.constant.enums.EnumServiceType
;
import
pwc.taxtech.atms.dao.OrganizationMapper
;
import
pwc.taxtech.atms.dao.ProjectMapper
;
import
pwc.taxtech.atms.dpo.ReportDto
;
import
pwc.taxtech.atms.dto.FileDto
;
import
pwc.taxtech.atms.dto.OperationResultDto
;
import
pwc.taxtech.atms.dto.PeriodReportDto
;
import
pwc.taxtech.atms.dto.ReportAttachDto
;
import
pwc.taxtech.atms.dto.vatdto.*
;
import
pwc.taxtech.atms.vat.entity.PeriodCellTemplateConfig
;
import
pwc.taxtech.atms.vat.entity.PeriodJob
;
import
pwc.taxtech.atms.vat.entity.PwcReportAttach
;
import
pwc.taxtech.atms.vat.entity.VatEnterpriseAccount
;
import
pwc.taxtech.atms.entity.OrganizationExample
;
import
pwc.taxtech.atms.entity.Project
;
import
pwc.taxtech.atms.entity.ProjectExample
;
import
pwc.taxtech.atms.service.impl.DataImportService
;
import
pwc.taxtech.atms.vat.entity.*
;
import
pwc.taxtech.atms.vat.service.impl.ReportServiceImpl
;
import
java.util.List
;
...
...
@@ -82,6 +86,48 @@ public class ReportController {
return
reportService
.
getCellData
(
reportId
,
from
);
}
private
static
OperationResultDto
<
ReportDataDto
>
operationResultDto
=
null
;
@RequestMapping
(
value
=
"reportEbitData"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
OperationResultDto
<
ReportDataDto
>
reportEbitData
(
Long
reportId
,
String
orgId
,
Integer
period
)
{
OperationResultDto
resultDto
=
new
OperationResultDto
();
if
(
reportId
==
null
||
reportId
==
0L
)
{
resultDto
.
setResult
(
false
);
return
resultDto
;
}
operationResultDto
=
reportService
.
getCellData
(
reportId
,
orgId
,
period
);
return
operationResultDto
;
}
@Autowired
private
ProjectMapper
projectMapper
;
private
String
getProjId
(
String
orgId
,
Integer
tmsPeriod
)
{
ProjectExample
pExample
=
new
ProjectExample
();
pExample
.
createCriteria
().
andOrganizationIdEqualTo
(
orgId
).
andYearEqualTo
(
tmsPeriod
/
100
);
List
<
Project
>
pList
=
projectMapper
.
selectByExample
(
pExample
);
if
(!
pList
.
isEmpty
())
{
return
pList
.
get
(
0
).
getId
();
}
return
""
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
201833
%
100
);
}
private
DataImportService
dataImportService
;
@RequestMapping
(
value
=
"saveAndRefresh"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
OperationResultDto
<
EbitDataDto
>
saveAndRefresh
(
@RequestParam
(
value
=
"orgId"
)
String
orgId
,
@RequestParam
(
value
=
"period"
)
Integer
period
,
@RequestParam
(
value
=
"specialConsiderations"
,
defaultValue
=
"0"
)
Integer
specialConsiderations
,
@RequestParam
(
value
=
"ebitRate"
,
defaultValue
=
"1"
)
String
ebitRate
)
{
OperationResultDto
operationResultDto
=
new
OperationResultDto
();
operationResultDto
.
setData
(
reportService
.
loadEbitData
(
orgId
,
period
,
specialConsiderations
,
ebitRate
));
reportService
.
saveDatasource
(
orgId
,
period
,
specialConsiderations
,
ebitRate
,
operationResultDto
);
return
operationResultDto
;
}
@RequestMapping
(
value
=
"report/{templateId}/{period}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
OperationResultDto
<
ReportDto
>
getReportByTemplate
(
@PathVariable
Long
templateId
,
@PathVariable
Integer
period
,
@RequestHeader
String
from
)
{
OperationResultDto
resultDto
=
new
OperationResultDto
();
...
...
@@ -93,6 +139,18 @@ public class ReportController {
return
reportService
.
getReportByTemplate
(
templateId
,
period
,
from
);
}
@RequestMapping
(
value
=
"getReportByTemplateEbit/{templateId}/{period}/{orgId}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
OperationResultDto
<
PeriodReportDto
>
getReportByTemplateEbit
(
@PathVariable
String
templateId
,
@PathVariable
Integer
period
,
@PathVariable
String
orgId
)
{
OperationResultDto
resultDto
=
new
OperationResultDto
();
if
(
templateId
==
null
||
period
==
null
||
period
==
0
)
{
resultDto
.
setResult
(
false
);
resultDto
.
setResultMsg
(
"templateId or period is invalid"
);
return
resultDto
;
}
return
reportService
.
getReportByTemplateEbit
(
Long
.
parseLong
(
templateId
),
period
%
100
,
getProjId
(
orgId
,
period
));
}
@RequestMapping
(
value
=
"getCellTemplateConfig/{reportTemplateId}/{period}/{rowIndex}/{columnIndex}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
OperationResultDto
<
PeriodCellTemplateConfig
>
getCellTemplateConfig
(
@PathVariable
Long
reportTemplateId
,
@PathVariable
Integer
period
,
...
...
@@ -157,25 +215,35 @@ public class ReportController {
@RequestMapping
(
value
=
"doUpload"
,
method
=
RequestMethod
.
POST
)
public
OperationResultDto
doUploadAttach
(
@RequestParam
(
"fileName"
)
String
fileName
,
MultipartFile
file
,
String
remarks
,
@RequestParam
(
"activeCol"
)
Long
activeCol
,
@RequestParam
(
"activeRow"
)
Long
activeRow
,
@RequestParam
(
"activeTemplateId"
)
String
activeTemplateId
)
{
System
.
out
.
println
(
activeCol
+
"----"
+
activeRow
+
"-----"
+
activeTemplateId
);
public
OperationResultDto
doUploadAttach
(
@RequestParam
(
"fileName"
)
String
fileName
,
MultipartFile
file
,
String
remarks
,
@RequestParam
(
"activeCol"
)
Long
activeCol
,
@RequestParam
(
"activeRow"
)
Long
activeRow
,
@RequestParam
(
"activeTemplateId"
)
String
activeTemplateId
)
{
System
.
out
.
println
(
activeCol
+
"----"
+
activeRow
+
"-----"
+
activeTemplateId
);
OperationResultDto
operationResultDto
=
reportService
.
doUploadAttach
(
file
,
remarks
);
if
(!
"error"
.
equals
(
operationResultDto
.
getResultMsg
()))
{
//上传成功绑定
if
(!
"error"
.
equals
(
operationResultDto
.
getResultMsg
()))
{
//上传成功绑定
reportService
.
bindPwcAttach
(
activeCol
,
activeRow
,
activeTemplateId
,
(
FileDto
)
operationResultDto
.
getData
());
}
return
operationResultDto
;
}
@RequestMapping
(
"loadAttachList"
)
public
List
<
PwcReportAttach
>
loadAttachList
(
@RequestBody
ReportAttachDto
reportAttachDto
){
public
List
<
PwcReportAttach
>
loadAttachList
(
@RequestBody
ReportAttachDto
reportAttachDto
)
{
System
.
out
.
println
(
"sdsdfsd"
);
return
reportService
.
loadAttachList
(
reportAttachDto
);
}
@RequestMapping
(
"deleteAttach"
)
public
OperationResultDto
deleteAttach
(
Long
id
){
return
reportService
.
deleteAttach
(
id
);
public
OperationResultDto
deleteAttach
(
Long
id
)
{
return
reportService
.
deleteAttach
(
id
);
}
@Autowired
private
OrganizationMapper
organizationMapper
;
@RequestMapping
(
"getOrgLists"
)
public
OperationResultDto
getOrgLists
()
{
OperationResultDto
operationResultDto
=
new
OperationResultDto
();
OrganizationExample
organizationExample
=
new
OrganizationExample
();
operationResultDto
.
setData
(
organizationMapper
.
selectByExample
(
organizationExample
));
return
operationResultDto
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/controller/TemplateController.java
View file @
3f550fd8
...
...
@@ -19,11 +19,14 @@ import pwc.taxtech.atms.common.util.MyAsserts;
import
pwc.taxtech.atms.constant.enums.EnumAnalysisImportType
;
import
pwc.taxtech.atms.constant.enums.EnumCitImportType
;
import
pwc.taxtech.atms.constant.enums.EnumImportType
;
import
pwc.taxtech.atms.dao.ProjectMapper
;
import
pwc.taxtech.atms.dpo.TemplateUniqDto
;
import
pwc.taxtech.atms.dto.*
;
import
pwc.taxtech.atms.dto.didiFileUpload.DidiFileIUploadParam
;
import
pwc.taxtech.atms.dto.didiFileUpload.DidiFileUploadDetailResult
;
import
pwc.taxtech.atms.dto.vatdto.TemplateByGroupDto
;
import
pwc.taxtech.atms.entity.Project
;
import
pwc.taxtech.atms.entity.ProjectExample
;
import
pwc.taxtech.atms.entity.Template
;
import
pwc.taxtech.atms.exception.ApplicationException
;
import
pwc.taxtech.atms.exception.BadParameterException
;
...
...
@@ -184,16 +187,110 @@ public class TemplateController extends BaseController {
}
}
@Autowired
private
ProjectMapper
projectMapper
;
private
String
getProjId
(
String
orgId
,
Integer
tmsPeriod
)
{
ProjectExample
pExample
=
new
ProjectExample
();
pExample
.
createCriteria
().
andOrganizationIdEqualTo
(
orgId
).
andYearEqualTo
(
tmsPeriod
/
100
);
List
<
Project
>
pList
=
projectMapper
.
selectByExample
(
pExample
);
if
(!
pList
.
isEmpty
()){
return
pList
.
get
(
0
).
getId
();
}
return
""
;
}
@RequestMapping
(
value
=
"getPeriodTemplateJson"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
public
@ResponseBody
void
getPeriodTemplateBlob
(
@RequestParam
(
name
=
"templateId"
)
Long
templateId
,
@RequestParam
(
name
=
"period"
)
Integer
period
,
@RequestParam
(
name
=
"projectId"
)
String
projectId
,
@RequestParam
(
name
=
"period"
,
required
=
false
)
Integer
period
,
@RequestParam
(
name
=
"projectId"
,
required
=
false
)
String
projectId
,
HttpServletResponse
response
)
throws
URISyntaxException
{
String
filePath
;
File
templateFile
;
InputStream
inputStream
=
null
;
List
<
PeriodTemplate
>
templates
=
null
;
if
(
period
==
null
||
projectId
==
null
){
templates
=
templateService
.
getTemplates
(
templateId
);
}
else
{
templates
=
templateService
.
getPeriodTemplates
(
templateId
,
period
,
projectId
);
}
MyAsserts
.
assertNotEmpty
(
templates
,
new
NotFoundException
());
PeriodTemplate
template
=
templates
.
get
(
0
);
String
templatePath
=
template
.
getPath
();
MyAsserts
.
assertNotEmpty
(
templatePath
,
new
NotFoundException
());
filePath
=
this
.
getClass
().
getResource
(
""
).
toURI
().
getPath
();
String
tempPath
=
filePath
.
substring
(
0
,
filePath
.
indexOf
(
"classes"
)
+
"\\classes"
.
length
());
templateFile
=
new
File
(
tempPath
+
templatePath
);
OutputStream
out
=
null
;
try
{
//如果是系统报表就取本地文件夹,如果不是就取FTP
if
(
template
.
getIsSystemType
())
{
inputStream
=
new
BufferedInputStream
(
new
FileInputStream
(
templateFile
));
}
else
{
if
(
templatePath
.
indexOf
(
"/"
)
<=
0
)
{
DidiFileIUploadParam
fileParam
=
new
DidiFileIUploadParam
();
fileParam
.
setUuids
(
Arrays
.
asList
(
templatePath
));
PageInfo
<
DidiFileUploadDetailResult
>
uploadDetail
=
didiFileUploadService
.
queryPage
(
fileParam
);
Map
<
String
,
String
>
urlMap
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
uploadDetail
.
getList
()))
{
templatePath
=
uploadDetail
.
getList
().
get
(
0
).
getViewHttpUrl
();
}
}
inputStream
=
httpFileService
.
getUserTemplate
(
templatePath
);
}
//客户端保存的文件名
String
customFileName
=
"template_"
+
DateTime
.
now
().
toString
(
"yyyyMMddHHmmss"
)
+
".xlsx"
;
response
.
setHeader
(
"Content-Disposition"
,
String
.
format
(
"inline; filename=\""
+
customFileName
+
"\""
));
response
.
setContentType
(
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
);
// int len = 0;
// byte[] buffer = new byte[1024];
// out = response.getOutputStream();
// while ((len = inputStream.read(buffer)) > 0) {
// out.write(buffer, 0, len);
// }
out
=
response
.
getOutputStream
();
IOUtils
.
copy
(
handleFomularView
(
inputStream
),
out
);
out
.
flush
();
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"Error downloading template file template.xlsx"
,
e
);
throw
new
ApplicationException
(
"Error downloading template file template.xlsx"
,
e
);
}
finally
{
if
(
out
!=
null
)
{
try
{
out
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
out
=
null
;
}
if
(
inputStream
!=
null
)
{
try
{
inputStream
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
inputStream
=
null
;
}
}
}
@RequestMapping
(
value
=
"getPeriodTemplateJsonOrg"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
)
public
@ResponseBody
void
getPeriodTemplateJsonOrg
(
@RequestParam
(
name
=
"templateId"
)
Long
templateId
,
@RequestParam
(
name
=
"period"
)
Integer
period
,
@RequestParam
(
name
=
"orgId"
)
String
orgId
,
HttpServletResponse
response
)
throws
URISyntaxException
{
String
projectId
=
null
;
if
(
orgId
!=
null
)
projectId
=
getProjId
(
orgId
,
period
);
projectId
=
"1942295d-6fe6-4aa7-b2e7-b66a5772697c"
;
String
filePath
;
File
templateFile
;
InputStream
inputStream
=
null
;
period
=
0
;
List
<
PeriodTemplate
>
templates
=
templateService
.
getPeriodTemplates
(
templateId
,
period
,
projectId
);
MyAsserts
.
assertNotEmpty
(
templates
,
new
NotFoundException
());
PeriodTemplate
template
=
templates
.
get
(
0
);
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/controller/TemplateGroupController.java
View file @
3f550fd8
...
...
@@ -141,6 +141,24 @@ public class TemplateGroupController {
return
OperationResultDto
.
error
(
ErrorMessage
.
SystemError
);
}
@ResponseBody
@RequestMapping
(
value
=
"ebitTemplateImport"
,
method
=
RequestMethod
.
POST
)
public
OperationResultDto
ebitTemplateImport
(
@RequestParam
MultipartFile
file
,
@RequestParam
String
orgId
,
@RequestParam
Integer
period
)
{
try
{
templateGroupService
.
ebitTemplateImport
(
file
,
orgId
,
period
);
return
OperationResultDto
.
success
();
}
catch
(
ServiceException
e
)
{
return
OperationResultDto
.
error
(
e
.
getMessage
());
}
catch
(
Exception
e
)
{
logger
.
error
(
"ebitTemplateImport error."
,
e
);
}
return
OperationResultDto
.
error
(
ErrorMessage
.
SystemError
);
}
@ResponseBody
// @ApiOperation(value = "模板另存为")
@RequestMapping
(
value
=
"addTemplateGroup"
,
method
=
RequestMethod
.
POST
)
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/dto/PeriodReportDto.java
0 → 100644
View file @
3f550fd8
package
pwc
.
taxtech
.
atms
.
dto
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
pwc.taxtech.atms.common.util.PwCIdSerialize
;
import
pwc.taxtech.atms.vat.entity.EbitCellData
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
*
* This class was generated by MyBatis Generator.
* This class corresponds to the database table TAX_ADMIN.PERIOD_REPORT
*
* @mbg.generated do_not_delete_during_merge
*/
public
class
PeriodReportDto
implements
Serializable
{
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.ID
*
* @mbg.generated
*/
@JsonSerialize
(
using
=
PwCIdSerialize
.
class
)
private
Long
id
;
private
List
<
EbitCellData
>
cellDataList
;
public
List
<
EbitCellData
>
getCellDataList
()
{
return
cellDataList
;
}
public
void
setCellDataList
(
List
<
EbitCellData
>
cellDataList
)
{
this
.
cellDataList
=
cellDataList
;
}
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.TEMPLATE_ID
*
* @mbg.generated
*/
private
Long
templateId
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.PERIOD
*
* @mbg.generated
*/
private
Integer
period
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.PROJECT_ID
*
* @mbg.generated
*/
private
String
projectId
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.CREATE_BY
*
* @mbg.generated
*/
private
String
createBy
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.CREATE_TIME
*
* @mbg.generated
*/
private
Date
createTime
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.UPDATE_BY
*
* @mbg.generated
*/
private
String
updateBy
;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column TAX_ADMIN.PERIOD_REPORT.UPDATE_TIME
*
* @mbg.generated
*/
private
Date
updateTime
;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table TAX_ADMIN.PERIOD_REPORT
*
* @mbg.generated
*/
private
static
final
long
serialVersionUID
=
1L
;
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.ID
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.ID
*
* @mbg.generated
*/
public
Long
getId
()
{
return
id
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.ID
*
* @param id the value for TAX_ADMIN.PERIOD_REPORT.ID
*
* @mbg.generated
*/
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.TEMPLATE_ID
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.TEMPLATE_ID
*
* @mbg.generated
*/
public
Long
getTemplateId
()
{
return
templateId
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.TEMPLATE_ID
*
* @param templateId the value for TAX_ADMIN.PERIOD_REPORT.TEMPLATE_ID
*
* @mbg.generated
*/
public
void
setTemplateId
(
Long
templateId
)
{
this
.
templateId
=
templateId
;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.PERIOD
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.PERIOD
*
* @mbg.generated
*/
public
Integer
getPeriod
()
{
return
period
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.PERIOD
*
* @param period the value for TAX_ADMIN.PERIOD_REPORT.PERIOD
*
* @mbg.generated
*/
public
void
setPeriod
(
Integer
period
)
{
this
.
period
=
period
;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.PROJECT_ID
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.PROJECT_ID
*
* @mbg.generated
*/
public
String
getProjectId
()
{
return
projectId
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.PROJECT_ID
*
* @param projectId the value for TAX_ADMIN.PERIOD_REPORT.PROJECT_ID
*
* @mbg.generated
*/
public
void
setProjectId
(
String
projectId
)
{
this
.
projectId
=
projectId
==
null
?
null
:
projectId
.
trim
();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.CREATE_BY
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.CREATE_BY
*
* @mbg.generated
*/
public
String
getCreateBy
()
{
return
createBy
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.CREATE_BY
*
* @param createBy the value for TAX_ADMIN.PERIOD_REPORT.CREATE_BY
*
* @mbg.generated
*/
public
void
setCreateBy
(
String
createBy
)
{
this
.
createBy
=
createBy
==
null
?
null
:
createBy
.
trim
();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.CREATE_TIME
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.CREATE_TIME
*
* @mbg.generated
*/
public
Date
getCreateTime
()
{
return
createTime
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.CREATE_TIME
*
* @param createTime the value for TAX_ADMIN.PERIOD_REPORT.CREATE_TIME
*
* @mbg.generated
*/
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.UPDATE_BY
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.UPDATE_BY
*
* @mbg.generated
*/
public
String
getUpdateBy
()
{
return
updateBy
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.UPDATE_BY
*
* @param updateBy the value for TAX_ADMIN.PERIOD_REPORT.UPDATE_BY
*
* @mbg.generated
*/
public
void
setUpdateBy
(
String
updateBy
)
{
this
.
updateBy
=
updateBy
==
null
?
null
:
updateBy
.
trim
();
}
/**
* This method was generated by MyBatis Generator.
* This method returns the value of the database column TAX_ADMIN.PERIOD_REPORT.UPDATE_TIME
*
* @return the value of TAX_ADMIN.PERIOD_REPORT.UPDATE_TIME
*
* @mbg.generated
*/
public
Date
getUpdateTime
()
{
return
updateTime
;
}
/**
* This method was generated by MyBatis Generator.
* This method sets the value of the database column TAX_ADMIN.PERIOD_REPORT.UPDATE_TIME
*
* @param updateTime the value for TAX_ADMIN.PERIOD_REPORT.UPDATE_TIME
*
* @mbg.generated
*/
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table TAX_ADMIN.PERIOD_REPORT
*
* @mbg.generated
*/
@Override
public
String
toString
()
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
getClass
().
getSimpleName
());
sb
.
append
(
" ["
);
sb
.
append
(
"Hash = "
).
append
(
hashCode
());
sb
.
append
(
", id="
).
append
(
id
);
sb
.
append
(
", templateId="
).
append
(
templateId
);
sb
.
append
(
", period="
).
append
(
period
);
sb
.
append
(
", projectId="
).
append
(
projectId
);
sb
.
append
(
", createBy="
).
append
(
createBy
);
sb
.
append
(
", createTime="
).
append
(
createTime
);
sb
.
append
(
", updateBy="
).
append
(
updateBy
);
sb
.
append
(
", updateTime="
).
append
(
updateTime
);
sb
.
append
(
"]"
);
return
sb
.
toString
();
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/EbitDataDto.java
0 → 100644
View file @
3f550fd8
package
pwc
.
taxtech
.
atms
.
dto
.
vatdto
;
import
java.math.BigDecimal
;
/**
* @ClassName EbitDataDto
* Description TODO
* @Author pwc kevin
* @Date 3/26/2019 11:00 AM
* Version 1.0
**/
public
class
EbitDataDto
{
private
BigDecimal
ebitSubtraction
;
// 1. EBIT(考虑资产减值损失)
private
BigDecimal
specialFactors
;
//考虑特殊因素
private
double
ebitRate
;
// ebit比率 默认1%(可更改)
private
BigDecimal
transactionAmount
;
//关联交易金额
private
String
sixAddTax
;
//6%增值税
private
BigDecimal
totalAmountTax
;
// 价税合计金额
private
String
specialConsiderations
;
//特殊因素考虑
public
String
getSpecialConsiderations
()
{
return
specialConsiderations
;
}
public
void
setSpecialConsiderations
(
String
specialConsiderations
)
{
this
.
specialConsiderations
=
specialConsiderations
;
}
public
BigDecimal
getEbitSubtraction
()
{
return
ebitSubtraction
;
}
public
void
setEbitSubtraction
(
BigDecimal
ebitSubtraction
)
{
this
.
ebitSubtraction
=
ebitSubtraction
;
}
public
BigDecimal
getSpecialFactors
()
{
return
specialFactors
;
}
public
void
setSpecialFactors
(
BigDecimal
specialFactors
)
{
this
.
specialFactors
=
specialFactors
;
}
public
double
getEbitRate
()
{
return
ebitRate
;
}
public
void
setEbitRate
(
double
ebitRate
)
{
this
.
ebitRate
=
ebitRate
;
}
public
BigDecimal
getTransactionAmount
()
{
return
transactionAmount
;
}
public
void
setTransactionAmount
(
BigDecimal
transactionAmount
)
{
this
.
transactionAmount
=
transactionAmount
;
}
public
String
getSixAddTax
()
{
return
sixAddTax
;
}
public
void
setSixAddTax
(
String
sixAddTax
)
{
this
.
sixAddTax
=
sixAddTax
;
}
public
BigDecimal
getTotalAmountTax
()
{
return
totalAmountTax
;
}
public
void
setTotalAmountTax
(
BigDecimal
totalAmountTax
)
{
this
.
totalAmountTax
=
totalAmountTax
;
}
@Override
public
String
toString
()
{
return
"EbitDataDto{"
+
"ebitSubtraction="
+
ebitSubtraction
+
", specialFactors="
+
specialFactors
+
", ebitRate='"
+
ebitRate
+
'\''
+
", transactionAmount="
+
transactionAmount
+
", sixAddTax='"
+
sixAddTax
+
'\''
+
", totalAmountTax="
+
totalAmountTax
+
'}'
;
}
}
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/ReportDataDto.java
View file @
3f550fd8
...
...
@@ -8,6 +8,15 @@ public class ReportDataDto {
private
List
<
CellDataDto
>
cellData
;
private
List
<
PeriodFormulaBlock
>
formulaBlocks
;
private
List
<
DataSourceDtoExtend
>
manualDataSources
;
private
EbitDataDto
ebitData
;
public
EbitDataDto
getEbitData
()
{
return
ebitData
;
}
public
void
setEbitData
(
EbitDataDto
ebitData
)
{
this
.
ebitData
=
ebitData
;
}
public
List
<
CellDataDto
>
getCellData
()
{
return
this
.
cellData
;
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/service/impl/AnalysisServiceImpl.java
View file @
3f550fd8
...
...
@@ -748,7 +748,8 @@ public class AnalysisServiceImpl extends BaseService {
private
BigDecimal
getCellBigDecimalValue
(
Cell
cell
)
{
if
(
cell
.
getCellTypeEnum
().
equals
(
CellType
.
STRING
))
{
return
new
BigDecimal
(
cell
.
getStringCellValue
());
String
replace
=
cell
.
getStringCellValue
().
replace
(
"%"
,
""
);
return
new
BigDecimal
(
Double
.
parseDouble
(
replace
)/
100
);
}
else
if
(
cell
.
getCellTypeEnum
().
equals
(
CellType
.
NUMERIC
))
{
return
new
BigDecimal
(
cell
.
getNumericCellValue
());
}
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/service/impl/DataImportService.java
View file @
3f550fd8
...
...
@@ -1961,7 +1961,7 @@ public class DataImportService extends BaseService {
return
false
;
}
private
String
getProjId
(
String
orgId
,
Integer
tmsPeriod
)
{
private
String
getProjId
(
String
orgId
,
Integer
tmsPeriod
)
{
ProjectExample
pExample
=
new
ProjectExample
();
pExample
.
createCriteria
().
andOrganizationIdEqualTo
(
orgId
).
andYearEqualTo
(
tmsPeriod
/
100
);
List
<
Project
>
pList
=
projectMapper
.
selectByExample
(
pExample
);
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/service/impl/TemplateGroupServiceImpl.java
View file @
3f550fd8
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/service/impl/TemplateServiceImpl.java
View file @
3f550fd8
...
...
@@ -123,6 +123,12 @@ public class TemplateServiceImpl extends AbstractService {
example
.
createCriteria
().
andProjectIdEqualTo
(
projectId
).
andTemplateIdEqualTo
(
templateId
).
andPeriodEqualTo
(
period
);
return
periodTemplateMapper
.
selectByExample
(
example
);
}
public
List
<
PeriodTemplate
>
getTemplates
(
Long
templateId
){
PeriodTemplateExample
example
=
new
PeriodTemplateExample
();
example
.
createCriteria
().
andTemplateIdEqualTo
(
templateId
);
return
periodTemplateMapper
.
selectByExample
(
example
);
}
public
String
getTemplatePath
(
Long
templateId
)
{
String
result
=
""
;
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/FormulaAgent.java
View file @
3f550fd8
...
...
@@ -24,6 +24,7 @@ import pwc.taxtech.atms.vat.service.impl.report.functions.FormulaContext;
import
java.math.BigDecimal
;
import
java.util.Calendar
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -151,7 +152,6 @@ public class FormulaAgent {
}
public
static
String
buildSql
(
String
tableName
,
String
getField
,
String
filter
,
String
filterValue
,
Integer
period
,
Integer
year
,
FormulaContext
formulaContext
)
{
/*
...
...
@@ -183,12 +183,12 @@ public class FormulaAgent {
public
static
String
_buildSql
(
String
getField
,
String
tableName
,
String
filter
,
String
filterValue
,
Integer
period
,
FormulaContext
formulaContext
,
Integer
year
,
boolean
bool
,
boolean
getSql
)
throws
Exception
{
String
sql
=
""
;
//统一判断年度
year
=
formulaContext
.
getYear
()
+
year
;
if
(
getSql
)
{
year
=
formulaContext
.
getYear
()
+
year
;
if
(
getSql
)
{
tableName
=
tableName
.
toLowerCase
();
sql
=
"select * from "
+
tableName
+
" where 1=1 and "
+
filter
+
filterValue
;
return
sql
+
" and project_id = '"
+
formulaContext
.
getProjectId
()
+
"'"
;
}
else
{
return
sql
+
" and project_id = '"
+
formulaContext
.
getProjectId
()
+
"'"
;
}
else
{
sql
=
"select sum("
+
getField
+
") as "
+
getField
+
" from "
+
tableName
+
" where 1=1 and "
+
filter
+
filterValue
;
}
String
_p
=
insertZero
(
formulaContext
.
getPeriod
()
-
Math
.
abs
(
period
));
...
...
@@ -210,7 +210,7 @@ public class FormulaAgent {
}
if
(
bool
)
sql
+=
" and period = "
+
year
;
sql
+=
" and project_id = '"
+
formulaContext
.
getProjectId
()
+
"'"
;
sql
+=
" and project_id = '"
+
formulaContext
.
getProjectId
()
+
"'"
;
return
sql
;
}
...
...
@@ -237,8 +237,16 @@ public class FormulaAgent {
public
BigDecimal
getTableDataByName
(
String
tableName
,
String
getField
,
String
filter
,
String
filterValue
,
Integer
period
,
Integer
year
,
FormulaContext
formulaContext
)
{
Map
<
String
,
Object
>
stringObjectMap
=
jdbcTemplate
.
queryForMap
(
buildSql
(
TableRule
.
map
.
get
(
tableName
),
getField
,
filter
,
filterValue
,
period
,
year
,
formulaContext
));
Map
<
String
,
Object
>
stringObjectMap
=
new
HashMap
<>();
try
{
stringObjectMap
=
jdbcTemplate
.
queryForMap
(
buildSql
(
TableRule
.
map
.
get
(
tableName
),
getField
,
filter
,
filterValue
,
period
,
year
,
formulaContext
));
if
(
stringObjectMap
.
get
(
getField
)
!=
null
)
{
return
new
BigDecimal
(
stringObjectMap
.
get
(
getField
).
toString
());
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
new
BigDecimal
(
0
);
}
/* for (int i = 0, j = stringObjectMap.size(); i < j; i++) {
if (i == 1) {
if(stringObjectMap.get(i).get(StringUtil.underline2Camel(getField)) == null){
...
...
@@ -256,28 +264,26 @@ public class FormulaAgent {
}
}
*/
if
(
stringObjectMap
.
get
(
getField
)
!=
null
){
return
new
BigDecimal
(
stringObjectMap
.
get
(
getField
).
toString
());
}
return
new
BigDecimal
(
0
);
}
/**
* 获取期末余额
*
@author zhikai.z.wei
*
* @param subjectType
* @param subjectCode
* @param year
* @param period
* @param formulaContext
* @return
* @author zhikai.z.wei
*/
public
BigDecimal
getQMYE
(
Integer
subjectType
,
String
subjectCode
,
Integer
year
,
Integer
period
,
FormulaContext
formulaContext
){
public
BigDecimal
getQMYE
(
Integer
subjectType
,
String
subjectCode
,
Integer
year
,
Integer
period
,
FormulaContext
formulaContext
)
{
Project
project
=
projectMapper
.
selectByPrimaryKey
(
formulaContext
.
getProjectId
());
CitTbamExample
citTbamExample
=
new
CitTbamExample
();
citTbamExample
.
createCriteria
().
andAccountCodeEqualTo
(
subjectCode
).
andPeriodEqualTo
(
year
+
project
.
getYear
());
citTbamExample
.
createCriteria
().
andAccountCodeEqualTo
(
subjectCode
).
andPeriodEqualTo
(
year
+
project
.
getYear
());
List
<
CitTbam
>
citTbams
=
citTbamMapper
.
selectByExample
(
citTbamExample
);
if
(
citTbams
==
null
||
citTbams
.
isEmpty
())
{
if
(
citTbams
==
null
||
citTbams
.
isEmpty
())
{
return
new
BigDecimal
(
0.0
);
}
return
citTbams
.
get
(
0
).
getEndingBalance
();
...
...
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/ReportServiceImpl.java
View file @
3f550fd8
This diff is collapsed.
Click to expand it.
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/RSUMIF.java
View file @
3f550fd8
...
...
@@ -61,16 +61,17 @@ public class RSUMIF extends FunctionBase implements FreeRefFunction {
@Override
public
ValueEval
evaluate
(
ValueEval
[]
args
,
OperationEvaluationContext
ec
)
{
parameterCheck
(
args
,
ec
);
BigDecimal
cellValue
=
BigDecimal
.
ZERO
;
List
<
Object
>
dataSource
=
new
ArrayList
<>();
Map
map
=
new
HashMap
<
String
,
String
>();
ReportCellTableSUMIFDataSourceDto
reportCellTableSUMIFDataSourceDto
=
new
ReportCellTableSUMIFDataSourceDto
();
reportCellTableSUMIFDataSourceDto
.
insertData
(
ec
,
formulaContext
);
BigDecimal
cellValue
=
BigDecimal
.
ZERO
;
String
filter
=
null
;
String
filterValue
=
null
;
dataSource
.
add
(
reportCellTableSUMIFDataSourceDto
);
try
{
parameterCheck
(
args
,
ec
);
Map
map
=
new
HashMap
<
String
,
String
>();
ReportCellTableSUMIFDataSourceDto
reportCellTableSUMIFDataSourceDto
=
new
ReportCellTableSUMIFDataSourceDto
();
reportCellTableSUMIFDataSourceDto
.
insertData
(
ec
,
formulaContext
);
dataSource
.
add
(
reportCellTableSUMIFDataSourceDto
);
tableName
=
resolverString
(
args
,
ec
,
0
);
getField
=
resolverString
(
args
,
ec
,
1
);
filter
=
resolverString
(
args
,
ec
,
2
);
...
...
@@ -95,13 +96,9 @@ public class RSUMIF extends FunctionBase implements FreeRefFunction {
cellValue
,
formulaContext
.
getPeriod
(),
formulaContext
.
getReportTemplateGroupId
(),
ec
.
getColumnIndex
(),
ec
.
getRowIndex
(),
formulaContext
.
getProjectId
(),
selectShow
(
tableName
),
FormulaAgent
.
_buildSql
(
getField
,
tableName
,
filter
,
filterValue
,
period
,
formulaContext
,
year
,
boo
,
true
));
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
try
{
saveFormulaBlock
(
formulaContext
.
getPeriod
(),
ec
,
new
RSUMIFParasBo
().
getExpression
(
args
,
ec
),
cellValue
,
dataSourceId
,
formulaContext
.
getProjectId
());
}
catch
(
E
valuationE
xception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
...
...
This diff is collapsed.
Click to expand it.
atms-dao/etc/generator-mysql/vatGeneratorConfig.xml
View file @
3f550fd8
...
...
@@ -40,7 +40,7 @@
<javaClientGenerator
type=
"XMLMAPPER"
targetPackage=
"pwc.taxtech.atms.vat.dao"
targetProject=
"../../src/main/java"
>
<property
name=
"rootInterface"
value=
"pwc.taxtech.atms.MyVatMapper"
/>
</javaClientGenerator>
<table
tableName=
"
invoice_record"
domainObjectName=
"InvoiceRecord
"
>
<table
tableName=
"
ebit_cell_data"
domainObjectName=
"EbitCellData
"
>
<property
name=
"useActualColumnNames"
value=
"false"
/>
<property
name=
"ignoreQualifiersAtRuntime"
value=
"true"
/>
</table>
...
...
This diff is collapsed.
Click to expand it.
atms-dao/src/main/java/pwc/taxtech/atms/dpo/ReportDto.java
View file @
3f550fd8
package
pwc
.
taxtech
.
atms
.
dpo
;
import
pwc.taxtech.atms.vat.entity.EbitCellData
;
import
java.util.Date
;
import
java.util.List
;
public
class
ReportDto
{
private
String
id
;
...
...
@@ -14,6 +17,15 @@ public class ReportDto {
private
String
updater
;
private
Date
updateTime
;
private
Integer
reportType
;
private
List
<
EbitCellData
>
cellDataList
;
public
List
<
EbitCellData
>
getCellDataList
()
{
return
cellDataList
;
}
public
void
setCellDataList
(
List
<
EbitCellData
>
cellDataList
)
{
this
.
cellDataList
=
cellDataList
;
}
public
Integer
getReportType
()
{
return
reportType
;
...
...
This diff is collapsed.
Click to expand it.
atms-dao/src/main/java/pwc/taxtech/atms/vat/dao/ProfitLossStatementFinalMapper.java
View file @
3f550fd8
...
...
@@ -107,7 +107,7 @@ public interface ProfitLossStatementFinalMapper extends MyVatMapper {
*/
int
updateByPrimaryKey
(
ProfitLossStatement
record
);
List
<
ProfitLossStatement
>
selectByCondition
(
@Param
(
"plCondition"
)
ProfitLossStatement
Condition
condition
);
List
<
ProfitLossStatement
>
selectByCondition
(
@Param
(
"plCondition"
)
ProfitLossStatement
Example
condition
);
int
insertBatch
(
List
<
ProfitLossStatement
>
pls
);
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
atms-dao/src/main/java/pwc/taxtech/atms/vat/entity/PeriodReport.java
View file @
3f550fd8
...
...
@@ -2,6 +2,7 @@ package pwc.taxtech.atms.vat.entity;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
*
...
...
@@ -18,7 +19,17 @@ public class PeriodReport implements Serializable {
*
* @mbg.generated
*/
private
Long
id
;
private
List
<
EbitCellData
>
cellDataList
;
public
List
<
EbitCellData
>
getCellDataList
()
{
return
cellDataList
;
}
public
void
setCellDataList
(
List
<
EbitCellData
>
cellDataList
)
{
this
.
cellDataList
=
cellDataList
;
}
/**
*
...
...
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/Scripts/module-part2.js
View file @
3f550fd8
...
...
@@ -1679,6 +1679,7 @@ var analysisModule = angular.module('app.analysis', ['ui.grid', 'ui.router','ui.
}
},
resolve
:
scriptDependencyProvider
.
createDependenciesMap
(
scriptDependencyProvider
.
analysis
),
deepStateRedirect
:
false
,
sticky
:
true
});
...
...
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/WEB-INF/templates/index.html
View file @
3f550fd8
...
...
@@ -6,7 +6,7 @@
<!DOCTYPE html>
<html
ng-app=
"app"
>
<head>
<base
href=
"/"
/>
<base
href=
"/"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<meta
charset=
"utf-8"
http-equiv=
"X-UA-Compatible"
content=
"chrome=1; IE=11; IE=10; IE=9; IE=EDGE"
>
<title>
Apex+ ATMS
</title>
...
...
@@ -16,7 +16,7 @@
}
body
{
font-family
:
"Microsoft YaHei"
,
Arial
,
Helvetica
,
sans-serif
,
"宋体"
;
font-family
:
"Microsoft YaHei"
,
Arial
,
Helvetica
,
sans-serif
,
"宋体"
;
}
a
.back-to-top
{
...
...
@@ -50,14 +50,14 @@
<!--@Styles.Render("~/bundles/framework.less")-->
<!--@Styles.Render("~/bundles/taxDocumentManage.less")-->
<link
href=
"Content/bundle_content.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/appresources.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/appresources.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/common.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/common.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/less/framework.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/less/taxDocumentManage.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/less/cit.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"Content/bundle_content.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/appresources.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/appresources.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/common.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/common.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/less/framework.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/less/taxDocumentManage.less"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"bundles/less/cit.less"
rel=
"stylesheet"
type=
"text/css"
/>
</head>
<body
ng-controller=
"AppController"
>
<!--@Html.AntiForgeryToken()-->
...
...
@@ -65,7 +65,7 @@
<app-nav></app-nav>
<div
class=
"page-wrapper"
style=
"position:relative;overflow-x:hidden;overflow-y:auto;margin-top:55px"
>
<div
class=
"main-contents"
ui-view
></div>
<div
class=
"data-import-contents"
style=
"display: none"
ui-view=
"importContent"
></div
>
<div
class=
"data-import-contents"
ui-view=
"importContent"
></div>
<!--style="display: none"--
>
</div>
<div
class=
"clear"
></div>
<atms-busy-indicator></atms-busy-indicator>
...
...
@@ -120,49 +120,54 @@
<script
type=
"text/javascript"
src=
"https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.10.1/xlsx.full.min.js"
></script>
<!--<script type="text/javascript" src="bundles/hubs.js">-->
<script
type=
"text/javascript"
>
GC
.
Spread
.
Sheets
.
LicenseKey
=
constant
.
regesterInformation
.
userKey
;
window
.
location
.
href
=
'/#/#/organizationViewInfrastructure/organizationBusinessUnitView'
;
var
arrayCookie
=
document
.
cookie
.
split
(
';'
);
var
user_name
=
''
;
arrayCookie
.
forEach
(
function
(
item
)
{
if
(
item
.
indexOf
(
'AtmsApiToken'
)
>
-
1
)
{
user_name
=
item
;
}
});
//
<!--
if
(
JSON
.
parse
(
user_name
.
split
(
'='
)[
1
]).
user_name
.
toLowerCase
()
===
'simon'
)
{
-->
//
<!--
window
.
location
.
href
=
'/#/overview/assetsManage'
;
-->
//
<!--
}
-->
//
<!--
else
{
-->
window
.
location
.
href
=
'/#/overview/vat'
;
//
<!--
}
-->
// create the back to top button
$
(
'body'
).
prepend
(
'<a href="#" class="back-to-top">Back to Top</a>'
);
var
amountScrolled
=
300
;
$
(
window
).
scroll
(
function
()
{
if
(
$
(
window
).
scrollTop
()
>
amountScrolled
)
{
$
(
'a.back-to-top'
).
fadeIn
(
'slow'
);
}
else
{
$
(
'a.back-to-top'
).
fadeOut
(
'slow'
);
}
});
$
(
'a.back-to-top, a.simple-back-to-top'
).
click
(
function
()
{
$
(
'html, body'
).
animate
({
scrollTop
:
0
},
700
);
return
false
;
});
window
.
onload
=
function
()
{
$
(
"#overview"
).
click
();
//$('#overview').trigger("click");
//$('.nav-element-left a').removeClass('active');
//$('#overview').addClass('active');
};
</script>
GC
.
Spread
.
Sheets
.
LicenseKey
=
constant
.
regesterInformation
.
userKey
;
window
.
location
.
href
=
'/#/#/organizationViewInfrastructure/organizationBusinessUnitView'
;
var
arrayCookie
=
document
.
cookie
.
split
(
';'
);
var
user_name
=
''
;
arrayCookie
.
forEach
(
function
(
item
)
{
if
(
item
.
indexOf
(
'AtmsApiToken'
)
>
-
1
)
{
user_name
=
item
;
}
});
//
<!--
if
(
JSON
.
parse
(
user_name
.
split
(
'='
)[
1
]).
user_name
.
toLowerCase
()
===
'simon'
)
{
-->
//
<!--
window
.
location
.
href
=
'/#/overview/assetsManage'
;
-->
//
<!--
}
-->
//
<!--
else
{
-->
window
.
location
.
href
=
'/#/overview/vat'
;
//
<!--
}
-->
// create the back to top button
$
(
'body'
).
prepend
(
'<a href="#" class="back-to-top">Back to Top</a>'
);
var
amountScrolled
=
300
;
$
(
window
).
scroll
(
function
()
{
if
(
$
(
window
).
scrollTop
()
>
amountScrolled
)
{
$
(
'a.back-to-top'
).
fadeIn
(
'slow'
);
}
else
{
$
(
'a.back-to-top'
).
fadeOut
(
'slow'
);
}
});
$
(
'a.back-to-top, a.simple-back-to-top'
).
click
(
function
()
{
$
(
'html, body'
).
animate
({
scrollTop
:
0
},
700
);
return
false
;
});
window
.
onload
=
function
()
{
$
(
"#overview"
).
click
();
//$('#overview').trigger("click");
//$('.nav-element-left a').removeClass('active');
//$('#overview').addClass('active');
};
</script>
</body>
</html>
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
View file @
3f550fd8
...
...
@@ -2288,6 +2288,9 @@
"DriverType"
:
"司机类型"
,
"FileExportSuccess"
:
"文件下载成功!"
,
"FileExportFailed"
:
"文件下载失败!"
,
"singleExport"
:
"单体导出"
,
"manyExport"
:
"批量导出"
,
"saveAndRefresh"
:
"保存并刷新"
,
"uploadProfileTable"
:
"上传利润表"
,
"~MustBeEndOneApp"
:
"我必须是最后一个!"
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/analysis/table/sheet/table-report-sheet.js
0 → 100644
View file @
3f550fd8
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/analysis/table/tb-ebit-form.ctrl.js
0 → 100644
View file @
3f550fd8
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/analysis/table/tb-ebit-form.html
0 → 100644
View file @
3f550fd8
<div
class=
"vat-report-view"
>
<!--Report SpreadJS-->
<div
class=
"row"
style=
" height: 71px; background: #ccc;"
>
<div
class=
"col-sm-7"
style=
" margin-top: 20px;"
>
<div
class=
"col-sm-6"
>
<span
class=
"text-bold"
translate=
"SelectedOrganization"
style=
" top: -11px; position: relative;"
>
:
</span>
<div
id=
"dx-select-industry"
class=
"tab-content-select industry "
style=
" display: inline-block;"
dx-select-box=
"dataSourceIndustryList"
dx-item-alias=
"itemObj"
>
<div
data-options=
"dxTemplate: { name: 'orgList' }"
class=
"dx-item-content dx-list-item-content"
title=
"{{itemObj.name}}-{{itemObj.name}}"
>
{{itemObj.code}}-{{itemObj.name}}
</div>
</div>
</div>
<div
class=
"col-sm-6"
class=
"dateClass"
>
<span
class=
"text-bold"
translate=
"InvoiceQJ"
>
:
</span>
<div
style=
" display: inline-block;"
>
<input
type=
"text"
id=
"ebitDatepacker"
class=
"datepicker"
style=
"width:120px;height: 34px;"
readonly=
"readonly"
/>
<i
class=
"fa fa-calendar vat-subheader red-color"
style=
"width:20px;"
></i>
</div>
</div>
</div>
<div
class=
"col-sm-5"
class=
"bar-export"
style=
" margin-top: 20px;width: 39%; float: right;"
>
<span
ng-click=
"uploadProfileTable()"
ngf-select
ngf-change=
"upload($files)"
ngf-multiple=
"true"
ngf-validate=
"{size: {min:'10KB', max:'20MB'}}"
><i
class=
"fa fa-file"
>
{{'uploadProfileTable' | translate}}
</i></span>
<span
ng-click=
"saveAndRefresh()"
><i
class=
"fa fa-refresh"
></i>
{{'saveAndRefresh' | translate}}
</span>
<span
ng-click=
"singleExport();"
><i
class=
"fa fa-upload"
></i>
{{'singleExport' | translate}}
</span>
<span
ng-click=
"manyExport()"
><i
class=
"fa fa-cloud-upload"
></i>
{{'manyExport' | translate}}
</span>
</div>
</div>
<div
class=
'report-container'
id=
"reportContainer"
>
<input
type=
"file"
id=
"fileDemo"
style=
"display: none"
class=
"input"
>
<table-report-sheet
report-source=
"reportData"
spread=
'spread'
template-id=
'templateId'
relation=
"relation"
>
</table-report-sheet>
</div>
</div>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/analysis/table/tb-ebit-form.js
0 → 100644
View file @
3f550fd8
analysisModule
.
directive
(
'tbEbitForm'
,
[
'$log'
,
'enums'
,
function
(
$log
,
enums
)
{
'use strict'
;
$log
.
debug
(
'tbEbitForm.ctor()...'
);
return
{
restrict
:
'E'
,
templateUrl
:
'/app/analysis/table/tb-ebit-form.html'
+
'?_='
+
Math
.
random
(),
scope
:
{
},
controller
:
'tableReportSheetController'
,
link
:
function
(
$scope
,
$ele
,
$attr
)
{
}
};
}
]);
\ No newline at end of file
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/analysis/table/tb-ebit-form.less
0 → 100644
View file @
3f550fd8
@import "~/app-resources/less/theme.less";
@color-red:#e20;
@color-gray:#939598-#222;
.bar-export{
span{
cursor: pointer;
}
}
.dxLeft{
width: 40%;
}
.dateClass{
position: relative;
left: -190px;
}
.vat-report-view {
height: calc(~"100% - 20px");
min-height: 500px;
margin-left: 0px;
margin-top: 0px;
.report-container {
border: @thin-border solid @color-border;
//height: calc(~"100% - 36px");
margin: 0;
width: 100%;
white-space: normal;
display: inline-block;
margin-top: -9px;
}
.row {
margin-left: 0px;
margin-bottom:10px;
&>span {
float: right;
margin-right: 15px;
cursor: pointer;
}
}
#addCertificatePop {
.modal-dialog {
width: 700px;
.add-certificate-pop-body {
height: 240px;
#add-certificate-grid {
height: 210px;
}
}
.modal-footer {
.template-1-button {
background-color: @color-red;
color: white;
margin-right:30px;
}
.template-2-button {
background-color: @color-gray;
color: white;
margin-right: 30px;
}
}
}
}
}
.model-report-approve-popup {
width: 400px;
height:500px;
position:fixed;
top:25%;
left:40%;
.modal-dialog {
width: 100%;
height: 90%;
margin: 20px auto;
.modal-content {
width: 100%;
.modal-body {
height: 90%;
}
}
}
}
.model-report-remarks-popup {
width: 400px;
height:500px;
position:fixed;
top:25%;
left:40%;
.modal-dialog {
width: 100%;
height: 90%;
margin: 20px auto;
.modal-content {
width: 100%;
.modal-body {
height: 90%;
}
}
}
}
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/common/controls/vat-report-view/vat-report-view.html
View file @
3f550fd8
...
...
@@ -10,8 +10,6 @@
class=
"fa fa-floppy-o"
></i>
{{'上传手工数据'}}
</span>
<span
ng-if=
"!isBSPL"
ng-click=
"openExportPop('upload');"
><i
class=
"fa fa-upload"
></i>
{{'UploadExcel' | translate}}
</span>
<!--<span ng-if="!isBSPL" ng-click="saveReportCache();"><i-->
<!--class="fa fa-floppy-o"></i> {{'Save' | translate}}</span>-->
</div>
...
...
@@ -97,10 +95,6 @@
</script>
</div>
<!-- File Vouchers Upload Popup -->
<div
class=
"modal fade"
id=
"showVoucherUploadPortal"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModal"
data-backdrop=
"static"
data-keyboard=
"false"
>
...
...
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/common/utils/pwc-util.js
View file @
3f550fd8
...
...
@@ -52,7 +52,7 @@
if
(
!
Number
.
prototype
.
formatAmount
)
{
Number
.
prototype
.
formatAmount
=
function
(
decPlaces
,
type
)
{
if
(
type
){
return
Number
(
decPlaces
.
to
String
().
to
Fixed
(
2
));
return
Number
(
decPlaces
.
toFixed
(
2
));
}
decPlaces
=
isNaN
(
decPlaces
=
Math
.
abs
(
decPlaces
))
?
2
:
decPlaces
;
var
n
=
this
.
toFixed
(
decPlaces
);
...
...
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/common/vatservices/vatReportService.js
View file @
3f550fd8
...
...
@@ -43,23 +43,29 @@
// citGetTemplate: function (projectId, period?)
updateConfig
:
function
(
projectId
,
ifDeleteManualDataSource
,
period
,
generator
,
isMergeManualDataSource
)
{
return
$http
.
post
(
'/Report/updateConfig/'
+
projectId
+
'/'
+
ifDeleteManualDataSource
+
'/'
+
period
+
'?generator='
+
generator
+
'&mergeManual='
+
isMergeManualDataSource
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
return
$http
.
post
(
'/Report/updateConfig/'
+
projectId
+
'/'
+
ifDeleteManualDataSource
+
'/'
+
period
+
'?generator='
+
generator
+
'&mergeManual='
+
isMergeManualDataSource
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
generate
:
function
(
projectId
,
templateId
,
ifDeleteManualDataSource
,
period
,
generator
)
{
return
$http
.
post
(
'/Report/generate/'
+
projectId
+
'/'
+
templateId
+
'/'
+
ifDeleteManualDataSource
+
'/'
+
period
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
generateAll
:
function
(
projectId
,
isMergeManualDataSource
,
period
,
generator
)
{
return
$http
.
post
(
'/Report/generateByTotal/'
+
projectId
+
'/'
+
isMergeManualDataSource
+
'/'
+
period
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
return
$http
.
post
(
'/Report/generateByTotal/'
+
projectId
+
'/'
+
isMergeManualDataSource
+
'/'
+
period
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
getRunningJob
:
function
(
projectId
,
period
)
{
return
$http
.
get
(
'/Report/getRunningJob/'
+
projectId
+
'/'
+
period
,
apiConfig
.
createVat
());
},
return
$http
.
get
(
'/Report/getRunningJob/'
+
projectId
+
'/'
+
period
,
apiConfig
.
createVat
());
},
getJobStatus
:
function
(
projectId
,
period
,
jobId
)
{
return
$http
.
get
(
'/Report/getJobStatus/'
+
projectId
+
'/'
+
period
+
'/'
+
jobId
,
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
return
$http
.
get
(
'/Report/getJobStatus/'
+
projectId
+
'/'
+
period
+
'/'
+
jobId
,
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
getReportData
:
function
(
reportId
)
{
return
$http
.
get
(
'/Report/reportData/'
+
reportId
,
apiConfig
.
createVat
());
},
getReportEbitData
:
function
(
reportId
,
orgId
,
period
)
{
return
$http
.
get
(
'/Report/reportEbitData?reportId='
+
reportId
+
'&orgId='
+
orgId
,
+
'&period='
+
period
,
apiConfig
.
createVat
());
}
,
saveAndRefresh
:
function
(
orgId
,
period
,
specialConsiderations
,
ebitRate
)
{
return
$http
.
get
(
'/Report/specialConsiderations?='
+
orgId
+
'&period='
+
period
+
"&specialConsiderations="
+
specialConsiderations
+
"&ebitRate="
+
ebitRate
,
apiConfig
.
createVat
());
},
calculateKeyValue
:
function
(
projectId
,
period
)
{
return
$http
.
post
(
'/Report/calculateKeyValue/'
+
projectId
+
'/'
+
period
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
...
...
@@ -95,7 +101,7 @@
vatOperationLogService
.
addOperationLog
(
logInfo
);
data
.
dataSourceType
=
enums
.
cellDataSourceType
.
KeyIn
;
return
$q
.
when
(
data
);
},
function
(
data
)
{
},
function
(
data
)
{
logInfo
.
UpdateState
=
$translate
.
instant
(
'ManualInputFail'
);
SweetAlert
.
error
(
$translate
.
instant
(
'PleaseContactAdministrator'
));
return
vatOperationLogService
.
addOperationLog
(
logInfo
);
...
...
@@ -163,7 +169,7 @@
return
$http
.
post
(
'/Report/citGenerate/byTotal/'
+
projectId
+
'/'
+
ifDeleteManualDataSource
+
'/'
+
0
// 暂时将生成预缴表的period设置为0,等待完成新的预缴表生成逻辑 + period
+
'/'
+
enums
.
reportType
.
prepay
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
citGenerateByType
:
function
(
projectId
,
ifDeleteManualDataSource
,
reportType
,
generator
)
{
var
paramStr
=
''
;
...
...
@@ -171,7 +177,7 @@
paramStr
=
'/'
+
reportType
;
}
return
$http
.
post
(
'/Report/citGenerate/byTotal/'
+
projectId
+
'/'
+
ifDeleteManualDataSource
+
'/0'
+
paramStr
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
return
$http
.
post
(
'/Report/citGenerate/byTotal/'
+
projectId
+
'/'
+
ifDeleteManualDataSource
+
'/0'
+
paramStr
+
'?generator='
+
generator
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
citGetTemplate
:
function
(
projectId
,
period
)
{
if
(
!
_
.
isNumber
(
period
))
{
...
...
@@ -192,7 +198,7 @@
reportTypeParam
=
'/'
+
reportType
;
}
return
$http
.
post
(
'/Report/citCalculateKeyValue/'
+
projectId
+
'/0'
+
reportTypeParam
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
return
$http
.
post
(
'/Report/citCalculateKeyValue/'
+
projectId
+
'/0'
+
reportTypeParam
,
{},
apiConfig
.
createVat
({
ignoreLoadingBar
:
true
}));
},
getReportByTemplateId
:
function
(
templateId
,
period
)
{
if
(
!
_
.
isNumber
(
period
))
{
...
...
@@ -200,20 +206,33 @@
}
return
$http
.
get
(
'/Report/report/'
+
templateId
+
'/'
+
period
,
apiConfig
.
createVat
());
},
getReportByTemplateIdEbit
:
function
(
templateId
,
period
,
orgId
)
{
if
(
!
_
.
isNumber
(
period
))
{
period
=
0
;
}
return
$http
.
get
(
'/Report/getReportByTemplateEbit/'
+
templateId
+
'/'
+
period
+
'/'
+
orgId
,
apiConfig
.
createVat
());
},
getDataSourceDetailList
:
function
(
dataSourceId
)
{
return
$http
.
get
(
'/Report/getDataSourceDetailList/'
+
dataSourceId
,
apiConfig
.
createVat
());
},
hasManualDataSource
:
function
(
projectId
,
period
)
{
return
$http
.
get
(
'/Report/hasManualDataSource/'
+
projectId
+
'/'
+
period
,
apiConfig
.
createVat
());
return
$http
.
get
(
'/Report/hasManualDataSource/'
+
projectId
+
'/'
+
period
,
apiConfig
.
createVat
());
},
loadAttachList
:
function
(
activeSheet
)
{
return
$http
.
post
(
'/Report/loadAttachList'
,
activeSheet
,
apiConfig
.
createVat
());
},
loadAttachList
:
function
(
activeSheet
){
return
$http
.
post
(
'/Report/loadAttachList'
,
activeSheet
,
apiConfig
.
createVat
());
deleteAttach
:
function
(
id
)
{
var
config
=
{
isBusyRequest
:
true
};
return
$http
.
get
(
'/Report/deleteAttach?id='
+
id
,
apiConfig
.
create
(
config
));
},
deleteAttach
:
function
(
id
){
var
config
=
{
isBusyRequest
:
true
};
return
$http
.
get
(
'/Report/deleteAttach?id='
+
id
,
apiConfig
.
create
(
config
));
}
getOrgLists
:
function
()
{
return
$http
.
get
(
'/Report/getOrgLists'
,
apiConfig
.
createVat
());
},
saveEbitModule
:
function
()
{
}
};
...
...
This diff is collapsed.
Click to expand it.
atms-web/src/main/webapp/app/common/webservices/template.svc.js
View file @
3f550fd8
...
...
@@ -14,16 +14,16 @@ webservices.factory('templateService', ['$log', '$http', '$q', 'apiConfig', 'htt
//}
};
var
getPeriodTemplateJson
=
function
(
templateId
,
period
,
projectId
)
{
//return $http.get('/template/getTemplateJson?templateID=' + templateID, apiConfig.create());
//var url = '/template/getTemplateJson?templateID=' + templateID;
//var result = httpCacheService.get(url);
// if (result.finishedCache) {
// return result;
// } else {
return
getJsonFromExcelForPeriod
(
templateId
,
period
,
projectId
);
//}
};
var
getPeriodTemplateJsonByOrg
=
function
(
templateId
,
period
,
orgId
)
{
return
getJsonFromExcelForPeriod
(
templateId
,
period
,
orgId
);
};
var
getPeriodTemplateJsonByInit
=
function
(
templateId
,
period
,
orgId
)
{
return
getJsonFromExcelForPeriod
(
templateId
,
period
,
orgId
,
true
);
};
var
getCookie
=
function
(
cname
)
{
var
name
=
cname
+
"="
;
...
...
@@ -115,10 +115,49 @@ webservices.factory('templateService', ['$log', '$http', '$q', 'apiConfig', 'htt
};
var
getJsonFromExcelForPeriod
=
function
(
templateID
,
period
,
projectId
)
{
var
getJsonFromExcelForPeriod
=
function
(
templateID
,
period
,
projectId
,
init
)
{
var
deferred
=
$q
.
defer
();
var
promise
=
deferred
.
promise
;
var
url
=
null
;
if
(
!
init
){
url
=
loginContext
.
apiHost
+
constant
.
webapi
.
prefix
+
'/template/getPeriodTemplateJson?templateId='
+
templateID
+
"&period="
+
period
+
"&projectId="
+
projectId
;
}
else
{
url
=
loginContext
.
apiHost
+
constant
.
webapi
.
prefix
+
'/template/getPeriodTemplateJson?templateId='
+
templateID
;
}
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'POST'
,
url
,
true
);
// 也可以使用POST方式,根据接口
xhr
.
responseType
=
"blob"
;
// 返回类型blob
var
apiTokenObj
=
JSON
.
parse
(
getCookie
(
'AtmsApiToken'
));
var
apiToken
=
apiTokenObj
.
access_token
;
var
tokenType
=
apiTokenObj
.
token_type
;
xhr
.
setRequestHeader
(
'Authorization'
,
tokenType
+
' '
+
apiToken
);
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
xhr
.
onload
=
function
()
{
// 请求完成
if
(
this
.
status
===
200
)
{
// 返回200
var
blob
=
this
.
response
;
var
excelIo
=
new
GC
.
Spread
.
Excel
.
IO
();
excelIo
.
open
(
blob
,
function
(
json
)
{
deferred
.
resolve
(
json
);
},
function
(
e
)
{
// console.error(e.errorMessage);
//alert(e.errorMessage);
deferred
.
reject
(
e
.
errorMessage
);
},
{});
}
};
// 发送ajax请求
xhr
.
send
();
return
promise
;
};
var
getJsonFromExcelForPeriodOrg
=
function
(
templateID
,
period
,
orgId
)
{
var
deferred
=
$q
.
defer
();
var
promise
=
deferred
.
promise
;
var
url
=
loginContext
.
apiHost
+
constant
.
webapi
.
prefix
+
'/template/getPeriodTemplateJson
?templateId='
+
templateID
+
"&period="
+
period
+
"&projectId="
+
project
Id
;
var
url
=
loginContext
.
apiHost
+
constant
.
webapi
.
prefix
+
'/template/getPeriodTemplateJson
Org?templateId='
+
templateID
+
"&period="
+
period
+
"&orgId="
+
org
Id
;
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'POST'
,
url
,
true
);
// 也可以使用POST方式,根据接口
xhr
.
responseType
=
"blob"
;
// 返回类型blob
...
...
@@ -169,6 +208,8 @@ webservices.factory('templateService', ['$log', '$http', '$q', 'apiConfig', 'htt
setRowColName
:
setRowColName
,
getTemplateJson
:
getTemplateJson
,
getPeriodTemplateJson
:
getPeriodTemplateJson
,
getPeriodTemplateJsonByOrg
:
getPeriodTemplateJsonByOrg
,
getPeriodTemplateJsonByInit
:
getPeriodTemplateJsonByInit
,
downloadTemplate
:
function
(
fileType
)
{
return
$http
.
get
(
'/template/file/downloadTemplate?fileType='
+
fileType
,
apiConfig
.
create
({
responseType
:
'arraybuffer'
}));
},
...
...
This diff is collapsed.
Click to expand it.
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