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
394261e6
Commit
394261e6
authored
May 15, 2019
by
ken.q.you
Browse files
Options
Browse Files
Download
Plain Diff
fix conflict---Ken
parents
217c2cf3
320b1972
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
2348 additions
and
351 deletions
+2348
-351
DataPreviewController.java
...va/pwc/taxtech/atms/controller/DataPreviewController.java
+68
-10
DataPreviewSerivceImpl.java
...pwc/taxtech/atms/service/impl/DataPreviewSerivceImpl.java
+306
-220
module-part1.js
atms-web/src/main/webapp/Scripts/module-part1.js
+50
-16
vat.json
atms-web/src/main/webapp/app-resources/i18n/en-us/vat.json
+3
-0
vat.json
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
+2
-0
constant.js
atms-web/src/main/webapp/app/common/utils/constant.js
+4
-3
vatPreviewService.js
...c/main/webapp/app/common/vatservices/vatPreviewService.js
+12
-0
app-overview.ctrl.js
...in/webapp/app/framework/app-overview/app-overview.ctrl.js
+8
-30
vat-import-layout.ctrl.js
...pp/vat/import/vat-import-layout/vat-import-layout.ctrl.js
+81
-72
vat-preview-profit-table-search.html
...preview-profit-table/vat-preview-profit-table-search.html
+77
-0
vat-preview-profit-table.ctrl.js
...vat-preview-profit-table/vat-preview-profit-table.ctrl.js
+600
-0
vat-preview-profit-table.html
...ew/vat-preview-profit-table/vat-preview-profit-table.html
+52
-0
vat-preview-profit-table.js
...view/vat-preview-profit-table/vat-preview-profit-table.js
+16
-0
vat-preview-profit-table.less
...ew/vat-preview-profit-table/vat-preview-profit-table.less
+167
-0
vat-preview-the-balance-sheet-search.html
...e-balance-sheet/vat-preview-the-balance-sheet-search.html
+84
-0
vat-preview-the-balance-sheet.ctrl.js
...w-the-balance-sheet/vat-preview-the-balance-sheet.ctrl.js
+583
-0
vat-preview-the-balance-sheet.html
...view-the-balance-sheet/vat-preview-the-balance-sheet.html
+52
-0
vat-preview-the-balance-sheet.js
...review-the-balance-sheet/vat-preview-the-balance-sheet.js
+16
-0
vat-preview-the-balance-sheet.less
...view-the-balance-sheet/vat-preview-the-balance-sheet.less
+167
-0
No files found.
atms-api/src/main/java/pwc/taxtech/atms/controller/DataPreviewController.java
View file @
394261e6
...
...
@@ -43,6 +43,11 @@ public class DataPreviewController extends BaseController {
logger
.
debug
(
String
.
format
(
"利润表PRC人工导入查询 Condition:%s"
,
JSON
.
toJSONString
(
param
)));
return
dataPreviewSerivceImpl
.
getPLprcManualDataForDisplay
(
param
);
}
@PostMapping
(
"getPLStatementDataForDisplay"
)
public
PageInfo
<
ProfitLossStatementDto
>
getPLStatementDataForDisplay
(
@RequestBody
ProfitLossStatementParam
param
)
{
logger
.
debug
(
String
.
format
(
"利润表查询 Condition:%s"
,
JSON
.
toJSONString
(
param
)));
return
dataPreviewSerivceImpl
.
getPLStatementDataForDisplay
(
param
);
}
@PostMapping
(
"getJEDataForDisplay"
)
public
PageInfo
<
JournalEntryDto
>
getJEDataForDisplay
(
@RequestBody
JournalEntryParam
param
)
{
...
...
@@ -73,6 +78,11 @@ public class DataPreviewController extends BaseController {
logger
.
debug
(
String
.
format
(
"资产负债表PRC人工导入查询 Condition:%s"
,
JSON
.
toJSONString
(
param
)));
return
dataPreviewSerivceImpl
.
getBSprcManualDataForDisplay
(
param
);
}
@PostMapping
(
"getBalanceSheetDataForDisplay"
)
public
PageInfo
<
BalanceSheetDto
>
getBalanceSheetDataForDisplay
(
@RequestBody
BalanceSheetParam
param
)
{
logger
.
debug
(
String
.
format
(
"资产负债表查询 Condition:%s"
,
JSON
.
toJSONString
(
param
)));
return
dataPreviewSerivceImpl
.
getBalanceSheetDataForDisplay
(
param
);
}
@PostMapping
(
"getIRDataForDisplay"
)
public
PageInfo
<
InvoiceRecordDto
>
getIRDataForDisplay
(
@RequestBody
InvoiceRecordParam
param
)
{
...
...
@@ -107,7 +117,7 @@ public class DataPreviewController extends BaseController {
@RequestMapping
(
value
=
"exportCFData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadCFQueryData
(
@RequestBody
CashFlowParam
param
,
HttpServletResponse
response
)
{
logger
.
debug
(
"enter downloadCFQueryData"
);
String
fileName
=
"testFile"
;
String
fileName
=
"testFile"
;
dataPreviewSerivceImpl
.
exportCashFlowList
(
response
,
param
,
fileName
);
}
...
...
@@ -146,7 +156,7 @@ public class DataPreviewController extends BaseController {
response
.
setStatus
(
SC_OK
);
}
}
catch
(
IOException
e
)
{
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
}
}
...
...
@@ -170,7 +180,7 @@ public class DataPreviewController extends BaseController {
response
.
setStatus
(
SC_OK
);
}
}
catch
(
IOException
e
)
{
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
}
}
...
...
@@ -194,7 +204,31 @@ public class DataPreviewController extends BaseController {
response
.
setStatus
(
SC_OK
);
}
}
catch
(
IOException
e
)
{
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
}
}
@RequestMapping
(
value
=
"exportBalanceSheetData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadBalanceSheetQueryData
(
@RequestBody
BalanceSheetParam
paras
,
HttpServletResponse
response
)
{
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
response
.
addHeader
(
"Access-Control-Expose-Headers"
,
"Content-Type,Content-Disposition,x-file-name"
);
String
fileName
=
paras
.
getPeriodStart
()
+
"-"
+
paras
.
getPeriodEnd
();
response
.
setCharacterEncoding
(
"UTF-8"
);
OutputStream
os
=
null
;
try
{
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename="
+
UUID
.
randomUUID
()
+
".xls"
);
response
.
addHeader
(
"x-file-name"
,
fileName
);
os
=
response
.
getOutputStream
();
int
count
=
dataPreviewSerivceImpl
.
getBalanceSheetDownloadFilePath
(
paras
,
os
);
if
(
count
==
0
)
{
response
.
setStatus
(
SC_NO_CONTENT
);
}
else
{
response
.
setStatus
(
SC_OK
);
}
}
catch
(
IOException
e
)
{
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
}
}
...
...
@@ -218,7 +252,31 @@ public class DataPreviewController extends BaseController {
response
.
setStatus
(
SC_OK
);
}
}
catch
(
IOException
e
)
{
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
}
}
@RequestMapping
(
value
=
"exportPLStatementData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadPLStatementQueryData
(
@RequestBody
ProfitLossStatementParam
paras
,
HttpServletResponse
response
)
{
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
response
.
addHeader
(
"Access-Control-Expose-Headers"
,
"Content-Type,Content-Disposition,x-file-name"
);
String
fileName
=
paras
.
getPeriodStart
()
+
"-"
+
paras
.
getPeriodEnd
();
response
.
setCharacterEncoding
(
"UTF-8"
);
OutputStream
os
=
null
;
try
{
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename="
+
UUID
.
randomUUID
()
+
".xls"
);
response
.
addHeader
(
"x-file-name"
,
fileName
);
os
=
response
.
getOutputStream
();
int
count
=
dataPreviewSerivceImpl
.
getPLStatementDownloadFilePath
(
paras
,
os
);
if
(
count
==
0
)
{
response
.
setStatus
(
SC_NO_CONTENT
);
}
else
{
response
.
setStatus
(
SC_OK
);
}
}
catch
(
IOException
e
)
{
logger
.
error
(
String
.
format
(
"下载科目余额表-生成文件异常:%s"
,
e
.
getMessage
()));
}
}
...
...
@@ -232,35 +290,35 @@ public class DataPreviewController extends BaseController {
@RequestMapping
(
value
=
"exportIRData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadIRQueryData
(
@RequestBody
InvoiceRecordParam
param
,
HttpServletResponse
response
)
{
logger
.
debug
(
"enter downloadIRQueryData"
);
String
fileName
=
"testFile"
;
String
fileName
=
"testFile"
;
dataPreviewSerivceImpl
.
exportInvoiceRecordList
(
response
,
param
,
fileName
);
}
@RequestMapping
(
value
=
"exportCILData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadCILQueryData
(
@RequestBody
CertifiedInvoicesListParam
param
,
HttpServletResponse
response
)
{
logger
.
debug
(
"enter downloadCILQueryData"
);
String
fileName
=
"testFile"
;
String
fileName
=
"testFile"
;
dataPreviewSerivceImpl
.
exportCILList
(
response
,
param
,
fileName
);
}
@RequestMapping
(
value
=
"exportRLITData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadRLITQueryData
(
@RequestBody
RedLetterInfoTableParam
param
,
HttpServletResponse
response
)
{
logger
.
debug
(
"enter downloadRLITQueryData"
);
String
fileName
=
"testFile"
;
String
fileName
=
"testFile"
;
dataPreviewSerivceImpl
.
exportRLITList
(
response
,
param
,
fileName
);
}
@RequestMapping
(
value
=
"exportCPRData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadCPRQueryData
(
@RequestBody
CoupaPurchasingReportParam
param
,
HttpServletResponse
response
)
{
logger
.
debug
(
"enter downloadCPRQueryData"
);
String
fileName
=
"testFile"
;
String
fileName
=
"testFile"
;
dataPreviewSerivceImpl
.
exportCPRList
(
response
,
param
,
fileName
);
}
@RequestMapping
(
value
=
"exportIDData/get"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
void
downloadIDQueryData
(
@RequestBody
InvoiceDataParam
param
,
HttpServletResponse
response
)
{
logger
.
debug
(
"enter downloadIDQueryData"
);
String
fileName
=
"testFile"
;
String
fileName
=
"testFile"
;
dataPreviewSerivceImpl
.
exportIDList
(
response
,
param
,
fileName
);
}
...
...
atms-api/src/main/java/pwc/taxtech/atms/service/impl/DataPreviewSerivceImpl.java
View file @
394261e6
...
...
@@ -48,6 +48,9 @@ public class DataPreviewSerivceImpl extends BaseService {
@Resource
private
ProfitLossStatementPrcManualMapper
profitLossStatementPrcManualMapper
;
@Resource
private
ProfitLossStatementMapper
profitLossStatementMapper
;
@Resource
private
JournalEntryMapper
journalEntryMapper
;
...
...
@@ -58,6 +61,9 @@ public class DataPreviewSerivceImpl extends BaseService {
@Resource
private
BalanceSheetPrcManualMapper
balanceSheetPrcManualMapper
;
@Resource
private
BalanceSheetMapper
balanceSheetMapper
;
@Resource
private
CashFlowMapper
cashFlowMapper
;
...
...
@@ -99,7 +105,7 @@ public class DataPreviewSerivceImpl extends BaseService {
trialBalanceDtos
.
add
(
trialBalanceDto
);
});
PageInfo
<
TrialBalanceDto
>
pageInfo
=
new
PageInfo
<>(
trialBalanceDtos
);
PageInfo
<
TrialBalanceDto
>
pageInfo
=
new
PageInfo
<>(
trialBalanceDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -120,7 +126,28 @@ public class DataPreviewSerivceImpl extends BaseService {
profitLossDtos
.
add
(
profitLossDto
);
});
PageInfo
<
ProfitLossStatementDto
>
pageInfo
=
new
PageInfo
<>(
profitLossDtos
);
PageInfo
<
ProfitLossStatementDto
>
pageInfo
=
new
PageInfo
<>(
profitLossDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
return
pageInfo
;
}
public
PageInfo
<
ProfitLossStatementDto
>
getPLStatementDataForDisplay
(
ProfitLossStatementParam
param
)
{
ProfitLossStatementCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
ProfitLossStatementCondition
());
Page
page
=
PageHelper
.
startPage
(
condition
.
getPageInfo
().
getPageIndex
(),
condition
.
getPageInfo
().
getPageSize
());
List
<
ProfitLossStatement
>
profitLossStatements
=
profitLossStatementMapper
.
selectByCondition
(
condition
);
List
<
ProfitLossStatementDto
>
profitLossDtos
=
Lists
.
newArrayList
();
profitLossStatements
.
forEach
(
pl
->
{
ProfitLossStatementDto
profitLossDto
=
new
ProfitLossStatementDto
();
beanUtil
.
copyProperties
(
pl
,
profitLossDto
);
profitLossDtos
.
add
(
profitLossDto
);
});
PageInfo
<
ProfitLossStatementDto
>
pageInfo
=
new
PageInfo
<>(
profitLossDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -162,7 +189,7 @@ public class DataPreviewSerivceImpl extends BaseService {
beanUtil
.
copyProperties
(
cf
,
cashFlowDto
);
cashFlowDtos
.
add
(
cashFlowDto
);
});
PageInfo
<
CashFlowDto
>
pageInfo
=
new
PageInfo
<>(
cashFlowDtos
);
PageInfo
<
CashFlowDto
>
pageInfo
=
new
PageInfo
<>(
cashFlowDtos
);
pageInfo
.
setTotal
(
total
);
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
return
pageInfo
;
...
...
@@ -204,8 +231,8 @@ public class DataPreviewSerivceImpl extends BaseService {
beanUtil
.
copyProperties
(
cf
,
cashFlowDto
);
cashFlowDtos
.
add
(
cashFlowDto
);
});
CashFlowHeader
cashFlowHeader
=
new
CashFlowHeader
();
if
(
cashFlowDtos
.
size
()>
0
)
{
CashFlowHeader
cashFlowHeader
=
new
CashFlowHeader
();
if
(
cashFlowDtos
.
size
()
>
0
)
{
Organization
org
=
organizationMapper
.
selectByPrimaryKey
(
param
.
getOrgId
());
cashFlowHeader
.
setCompanyNameCn
(
org
.
getName
());
cashFlowHeader
.
setPeriodStart
(
param
.
getPeriodStart
());
...
...
@@ -330,7 +357,7 @@ public class DataPreviewSerivceImpl extends BaseService {
journalEntryDtos
.
add
(
journalEntryDto
);
});
PageInfo
<
JournalEntryDto
>
pageInfo
=
new
PageInfo
<>(
journalEntryDtos
);
PageInfo
<
JournalEntryDto
>
pageInfo
=
new
PageInfo
<>(
journalEntryDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -351,7 +378,28 @@ public class DataPreviewSerivceImpl extends BaseService {
balanceSheetDtos
.
add
(
balanceSheetDto
);
});
PageInfo
<
BalanceSheetDto
>
pageInfo
=
new
PageInfo
<>(
balanceSheetDtos
);
PageInfo
<
BalanceSheetDto
>
pageInfo
=
new
PageInfo
<>(
balanceSheetDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
return
pageInfo
;
}
public
PageInfo
<
BalanceSheetDto
>
getBalanceSheetDataForDisplay
(
BalanceSheetParam
param
)
{
BalanceSheetCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
BalanceSheetCondition
());
Page
page
=
PageHelper
.
startPage
(
condition
.
getPageInfo
().
getPageIndex
(),
condition
.
getPageInfo
().
getPageSize
());
List
<
BalanceSheet
>
bsPrcList
=
balanceSheetMapper
.
selectByCondition
(
condition
);
List
<
BalanceSheetDto
>
balanceSheetDtos
=
Lists
.
newArrayList
();
bsPrcList
.
forEach
(
bs
->
{
BalanceSheetDto
balanceSheetDto
=
new
BalanceSheetDto
();
beanUtil
.
copyProperties
(
bs
,
balanceSheetDto
);
balanceSheetDtos
.
add
(
balanceSheetDto
);
});
PageInfo
<
BalanceSheetDto
>
pageInfo
=
new
PageInfo
<>(
balanceSheetDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -394,7 +442,7 @@ public class DataPreviewSerivceImpl extends BaseService {
invoiceRecordDtos
.
add
(
balanceSheetDto
);
});
PageInfo
<
InvoiceRecordDto
>
pageInfo
=
new
PageInfo
<>(
invoiceRecordDtos
);
PageInfo
<
InvoiceRecordDto
>
pageInfo
=
new
PageInfo
<>(
invoiceRecordDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -415,7 +463,7 @@ public class DataPreviewSerivceImpl extends BaseService {
redLetterInfoDtos
.
add
(
redLetterInfoDto
);
});
PageInfo
<
RedLetterInfoTableDto
>
pageInfo
=
new
PageInfo
<>(
redLetterInfoDtos
);
PageInfo
<
RedLetterInfoTableDto
>
pageInfo
=
new
PageInfo
<>(
redLetterInfoDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -437,7 +485,7 @@ public class DataPreviewSerivceImpl extends BaseService {
coupaPurchasingReportDtos
.
add
(
coupaPurchasingReportDto
);
});
PageInfo
<
CoupaPurchasingReportDto
>
pageInfo
=
new
PageInfo
<>(
coupaPurchasingReportDtos
);
PageInfo
<
CoupaPurchasingReportDto
>
pageInfo
=
new
PageInfo
<>(
coupaPurchasingReportDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
...
...
@@ -457,7 +505,7 @@ public class DataPreviewSerivceImpl extends BaseService {
CertifiedInvoicesListDto
CertifiedInvoicesListDto
=
beanUtil
.
copyProperties
(
cil
,
new
CertifiedInvoicesListDto
());
certifiedInvoicesListDtos
.
add
(
CertifiedInvoicesListDto
);
});
PageInfo
<
CertifiedInvoicesListDto
>
pageInfo
=
new
PageInfo
<>(
certifiedInvoicesListDtos
);
PageInfo
<
CertifiedInvoicesListDto
>
pageInfo
=
new
PageInfo
<>(
certifiedInvoicesListDtos
);
pageInfo
.
setTotal
(
page
.
getTotal
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
return
pageInfo
;
...
...
@@ -468,8 +516,9 @@ public class DataPreviewSerivceImpl extends BaseService {
* 导入时纵向存的,因为需求是行数一般不会增加,列数可能增加。查询时90度旋转
* 后续增加列 1、添加CountTypeConstant(按列递增) 2、增加setIDValue case 3、js添加column
* [param]
*
@author Gary J Li
*
* @return
* @author Gary J Li
*/
public
PageInfo
<
InvoiceDataDto
>
getIDDataForDisplay
(
InvoiceDataParam
param
)
{
InvoiceDataCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
InvoiceDataCondition
());
...
...
@@ -477,7 +526,7 @@ public class DataPreviewSerivceImpl extends BaseService {
List
<
InvoiceData
>
invoiceDatas
=
invoiceDataMapper
.
selectByCondition
(
condition
);
List
<
InvoiceDataDto
>
invoiceDataDtos
=
generalIDDtoList
();
generalIDDtoList
(
invoiceDatas
,
invoiceDataDtos
);
PageInfo
<
InvoiceDataDto
>
pageInfo
=
new
PageInfo
<>(
invoiceDataDtos
);
PageInfo
<
InvoiceDataDto
>
pageInfo
=
new
PageInfo
<>(
invoiceDataDtos
);
pageInfo
.
setTotal
(
invoiceDataDtos
.
size
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
return
pageInfo
;
...
...
@@ -526,7 +575,26 @@ public class DataPreviewSerivceImpl extends BaseService {
}
}
public
int
getPLStatementDownloadFilePath
(
ProfitLossStatementParam
param
,
OutputStream
os
)
{
try
{
ProfitLossStatementCondition
condition
=
new
ProfitLossStatementCondition
();
beanUtil
.
copyProperties
(
param
,
condition
);
List
<
ProfitLossStatement
>
profitLossStatements
=
profitLossStatementMapper
.
selectByCondition
(
condition
);
Map
<
String
,
String
>
header
=
generalPLHeader
();
List
<
ProfitLossStatementExportDto
>
cellList
=
new
ArrayList
<>();
profitLossStatements
.
forEach
(
pl
->
{
ProfitLossStatementExportDto
d
=
new
ProfitLossStatementExportDto
();
d
=
beanUtil
.
copyProperties
(
pl
,
d
);
cellList
.
add
(
d
);
});
ExcelUtil
.
exportExcel
(
header
,
cellList
,
os
);
return
cellList
.
size
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"利润表导出转换Excel异常: %s"
,
e
.
getMessage
());
return
0
;
}
}
public
int
getJEDownloadFilePath
(
JournalEntryParam
param
,
OutputStream
os
)
{
try
{
...
...
@@ -569,6 +637,26 @@ public class DataPreviewSerivceImpl extends BaseService {
}
}
public
int
getBalanceSheetDownloadFilePath
(
BalanceSheetParam
param
,
OutputStream
os
)
{
try
{
BalanceSheetCondition
condition
=
new
BalanceSheetCondition
();
beanUtil
.
copyProperties
(
param
,
condition
);
List
<
BalanceSheet
>
balanceSheets
=
balanceSheetMapper
.
selectByCondition
(
condition
);
Map
<
String
,
String
>
header
=
generalBSHeader
();
List
<
BalanceSheetExportDto
>
cellList
=
new
ArrayList
<>();
balanceSheets
.
forEach
(
bs
->
{
BalanceSheetExportDto
d
=
new
BalanceSheetExportDto
();
d
=
beanUtil
.
copyProperties
(
bs
,
d
);
cellList
.
add
(
d
);
});
ExcelUtil
.
exportExcel
(
header
,
cellList
,
os
);
return
cellList
.
size
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"资产负债表导出转换Excel异常: %s"
,
e
.
getMessage
());
return
0
;
}
}
public
HttpServletResponse
exportInvoiceRecordList
(
HttpServletResponse
response
,
InvoiceRecordParam
param
,
String
fileName
)
{
//String excelTemplatePathInClassPath = "/vat_excel_template/cash_flow"+(isEn?"":"_cn") + ".xlsx";
String
excelTemplatePathInClassPath
=
ExportTemplatePathConstant
.
INVOICES_RECORD
;
...
...
@@ -583,7 +671,7 @@ public class DataPreviewSerivceImpl extends BaseService {
try
{
return
responseMessageBuilder
.
getDownloadTmpResponseMessage
(
response
,
outputStream
,
fileName
);
}
catch
(
Exception
e
)
{
logger
.
error
(
String
.
format
(
"导出发票记录异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"导出发票记录异常:%s"
,
e
.
getMessage
()));
}
return
null
;
}
...
...
@@ -593,7 +681,7 @@ public class DataPreviewSerivceImpl extends BaseService {
String
excelTemplatePathInClassPath
=
ExportTemplatePathConstant
.
CERTIFIED_INVOICES_LIST
;
CertifiedInvoicesListCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
CertifiedInvoicesListCondition
());
List
<
CertifiedInvoicesList
>
datas
=
certifiedInvoicesListMapper
.
selectByCondition
(
condition
);
if
(
datas
.
size
()<
1
)
{
if
(
datas
.
size
()
<
1
)
{
throw
new
ServiceException
(
ErrorMessage
.
ExportFailed
);
}
CertifiedInvoicesListHeader
header
=
new
CertifiedInvoicesListHeader
();
...
...
@@ -606,11 +694,11 @@ public class DataPreviewSerivceImpl extends BaseService {
CertifiedInvoicesListDto
dto
=
beanUtil
.
copyProperties
(
cil
,
new
CertifiedInvoicesListDto
());
dtoList
.
add
(
dto
);
});
OutputStream
outputStream
=
commonDocumentHelper
.
toXlsxFileUsingJxls
(
header
,
dtoList
,
excelTemplatePathInClassPath
);
OutputStream
outputStream
=
commonDocumentHelper
.
toXlsxFileUsingJxls
(
header
,
dtoList
,
excelTemplatePathInClassPath
);
try
{
return
responseMessageBuilder
.
getDownloadTmpResponseMessage
(
response
,
outputStream
,
fileName
);
}
catch
(
Exception
e
)
{
logger
.
error
(
String
.
format
(
"导出已认证发票清单异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"导出已认证发票清单异常:%s"
,
e
.
getMessage
()));
}
return
null
;
}
...
...
@@ -620,7 +708,7 @@ public class DataPreviewSerivceImpl extends BaseService {
String
excelTemplatePathInClassPath
=
ExportTemplatePathConstant
.
COUPA_PURCHASING_REPORT
;
CoupaPurchasingReportCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
CoupaPurchasingReportCondition
());
List
<
CoupaPurchasingReport
>
datas
=
coupaPurchasingReportMapper
.
selectByCondition
(
condition
);
if
(
datas
.
size
()<
1
)
{
if
(
datas
.
size
()
<
1
)
{
throw
new
ServiceException
(
ErrorMessage
.
ExportFailed
);
}
List
<
CoupaPurchasingReportDto
>
dtos
=
Lists
.
newArrayList
();
...
...
@@ -632,7 +720,7 @@ public class DataPreviewSerivceImpl extends BaseService {
try
{
return
responseMessageBuilder
.
getDownloadTmpResponseMessage
(
response
,
outputStream
,
fileName
);
}
catch
(
Exception
e
)
{
logger
.
error
(
String
.
format
(
"导出Coupa发票报告异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"导出Coupa发票报告异常:%s"
,
e
.
getMessage
()));
}
return
null
;
}
...
...
@@ -642,7 +730,7 @@ public class DataPreviewSerivceImpl extends BaseService {
String
excelTemplatePathInClassPath
=
ExportTemplatePathConstant
.
RED_LETTER_INFO_TAB
;
RedLetterInfoTableCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
RedLetterInfoTableCondition
());
List
<
RedLetterInfoTable
>
datas
=
redLetterInfoTableMapper
.
selectByCondition
(
condition
);
if
(
datas
.
size
()<
1
)
{
if
(
datas
.
size
()
<
1
)
{
throw
new
ServiceException
(
ErrorMessage
.
ExportFailed
);
}
List
<
RedLetterInfoTableDto
>
dtos
=
Lists
.
newArrayList
();
...
...
@@ -654,7 +742,7 @@ public class DataPreviewSerivceImpl extends BaseService {
try
{
return
responseMessageBuilder
.
getDownloadTmpResponseMessage
(
response
,
outputStream
,
fileName
);
}
catch
(
Exception
e
)
{
logger
.
error
(
String
.
format
(
"导出红字信息表异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"导出红字信息表异常:%s"
,
e
.
getMessage
()));
}
return
null
;
}
...
...
@@ -664,7 +752,7 @@ public class DataPreviewSerivceImpl extends BaseService {
String
excelTemplatePathInClassPath
=
ExportTemplatePathConstant
.
INVOICE_DATA
;
InvoiceDataCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
InvoiceDataCondition
());
List
<
InvoiceData
>
datas
=
invoiceDataMapper
.
selectByCondition
(
condition
);
if
(
datas
.
size
()<
1
)
{
if
(
datas
.
size
()
<
1
)
{
throw
new
ServiceException
(
ErrorMessage
.
ExportFailed
);
}
List
<
InvoiceDataDto
>
dtos
=
generalIDDtoList
();
...
...
@@ -673,221 +761,219 @@ public class DataPreviewSerivceImpl extends BaseService {
try
{
return
responseMessageBuilder
.
getDownloadTmpResponseMessage
(
response
,
outputStream
,
fileName
);
}
catch
(
Exception
e
)
{
logger
.
error
(
String
.
format
(
"导出发票资料异常:%s"
,
e
.
getMessage
()));
logger
.
error
(
String
.
format
(
"导出发票资料异常:%s"
,
e
.
getMessage
()));
}
return
null
;
}
private
Map
<
String
,
String
>
generalTBHeader
()
{
Map
<
String
,
String
>
header
=
new
LinkedHashMap
<>();
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"Period"
,
"期间"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"CurrencyCode"
,
"账套币种"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"Category"
,
"主体性质"
);
header
.
put
(
"AccountCategory"
,
"科目性质"
);
header
.
put
(
"AcctCode1"
,
"一级科目代码"
);
header
.
put
(
"AcctName1"
,
"一级科目说明"
);
header
.
put
(
"AcctName2"
,
"二级科目说明"
);
header
.
put
(
"AcctName3"
,
"三级科目说明"
);
header
.
put
(
"Segment1"
,
"主体代码"
);
header
.
put
(
"Segment2"
,
"成本中心代码"
);
header
.
put
(
"Segment3"
,
"科目代码"
);
header
.
put
(
"Segment4"
,
"辅助科目代码"
);
header
.
put
(
"Segment5"
,
"利润中心代码"
);
header
.
put
(
"Segment6"
,
"产品代码"
);
header
.
put
(
"Segment7"
,
"项目代码"
);
header
.
put
(
"Segment8"
,
"公司间代码"
);
header
.
put
(
"Segment9"
,
"备用1代码"
);
header
.
put
(
"Segment10"
,
"备用2代码"
);
header
.
put
(
"Segment1Name"
,
"主体说明"
);
header
.
put
(
"Segment2Name"
,
"成本中心说明"
);
header
.
put
(
"Segment3Name"
,
"科目说明"
);
header
.
put
(
"Segment4Name"
,
"辅助科目说明"
);
header
.
put
(
"Segment5Name"
,
"利润中心说明"
);
header
.
put
(
"Segment6Name"
,
"产品说明"
);
header
.
put
(
"Segment7Name"
,
"项目说明"
);
header
.
put
(
"Segment8Name"
,
"公司间说明"
);
header
.
put
(
"Segment9Name"
,
"备用1说明"
);
header
.
put
(
"Segment10Name"
,
"备用2说明"
);
header
.
put
(
"BegBal"
,
"原币本期期初余额"
);
header
.
put
(
"PeriodDr"
,
"原币本期借方发生额"
);
header
.
put
(
"PeriodCr"
,
"原币本期贷方发生额"
);
header
.
put
(
"EndBal"
,
"原币本期期末余额"
);
header
.
put
(
"QtdDr"
,
"原币本季借方发生额"
);
header
.
put
(
"QtdCr"
,
"原币本季贷方发生额"
);
header
.
put
(
"YtdDr"
,
"原币本年借方发生额"
);
header
.
put
(
"YtdCr"
,
"原币本年贷方发生额"
);
header
.
put
(
"BegBalBeq"
,
"本位币本期期初余额"
);
header
.
put
(
"PeriodDrBeq"
,
"本位币本期借方发生额"
);
header
.
put
(
"PeriodCrBeq"
,
"本位币本期贷方发生额"
);
header
.
put
(
"EndBalBeq"
,
"本位币本期期末余额"
);
header
.
put
(
"QtdDrBeq"
,
"本位币本季借方发生额"
);
header
.
put
(
"QtdCrBeq"
,
"本位币本季贷方发生额"
);
header
.
put
(
"YtdDrBeq"
,
"本位币本年借方发生额"
);
header
.
put
(
"YtdCrBeq"
,
"本位币本年贷方发生额"
);
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"Period"
,
"期间"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"CurrencyCode"
,
"账套币种"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"Category"
,
"主体性质"
);
header
.
put
(
"AccountCategory"
,
"科目性质"
);
header
.
put
(
"AcctCode1"
,
"一级科目代码"
);
header
.
put
(
"AcctName1"
,
"一级科目说明"
);
header
.
put
(
"AcctName2"
,
"二级科目说明"
);
header
.
put
(
"AcctName3"
,
"三级科目说明"
);
header
.
put
(
"Segment1"
,
"主体代码"
);
header
.
put
(
"Segment2"
,
"成本中心代码"
);
header
.
put
(
"Segment3"
,
"科目代码"
);
header
.
put
(
"Segment4"
,
"辅助科目代码"
);
header
.
put
(
"Segment5"
,
"利润中心代码"
);
header
.
put
(
"Segment6"
,
"产品代码"
);
header
.
put
(
"Segment7"
,
"项目代码"
);
header
.
put
(
"Segment8"
,
"公司间代码"
);
header
.
put
(
"Segment9"
,
"备用1代码"
);
header
.
put
(
"Segment10"
,
"备用2代码"
);
header
.
put
(
"Segment1Name"
,
"主体说明"
);
header
.
put
(
"Segment2Name"
,
"成本中心说明"
);
header
.
put
(
"Segment3Name"
,
"科目说明"
);
header
.
put
(
"Segment4Name"
,
"辅助科目说明"
);
header
.
put
(
"Segment5Name"
,
"利润中心说明"
);
header
.
put
(
"Segment6Name"
,
"产品说明"
);
header
.
put
(
"Segment7Name"
,
"项目说明"
);
header
.
put
(
"Segment8Name"
,
"公司间说明"
);
header
.
put
(
"Segment9Name"
,
"备用1说明"
);
header
.
put
(
"Segment10Name"
,
"备用2说明"
);
header
.
put
(
"BegBal"
,
"原币本期期初余额"
);
header
.
put
(
"PeriodDr"
,
"原币本期借方发生额"
);
header
.
put
(
"PeriodCr"
,
"原币本期贷方发生额"
);
header
.
put
(
"EndBal"
,
"原币本期期末余额"
);
header
.
put
(
"QtdDr"
,
"原币本季借方发生额"
);
header
.
put
(
"QtdCr"
,
"原币本季贷方发生额"
);
header
.
put
(
"YtdDr"
,
"原币本年借方发生额"
);
header
.
put
(
"YtdCr"
,
"原币本年贷方发生额"
);
header
.
put
(
"BegBalBeq"
,
"本位币本期期初余额"
);
header
.
put
(
"PeriodDrBeq"
,
"本位币本期借方发生额"
);
header
.
put
(
"PeriodCrBeq"
,
"本位币本期贷方发生额"
);
header
.
put
(
"EndBalBeq"
,
"本位币本期期末余额"
);
header
.
put
(
"QtdDrBeq"
,
"本位币本季借方发生额"
);
header
.
put
(
"QtdCrBeq"
,
"本位币本季贷方发生额"
);
header
.
put
(
"YtdDrBeq"
,
"本位币本年借方发生额"
);
header
.
put
(
"YtdCrBeq"
,
"本位币本年贷方发生额"
);
return
header
;
}
private
Map
<
String
,
String
>
generalBSHeader
()
{
Map
<
String
,
String
>
header
=
new
LinkedHashMap
<>();
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"Period"
,
"期间"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"LedgerCurrencyCode"
,
"账套币种"
);
header
.
put
(
"EntityCode"
,
"机构编码"
);
header
.
put
(
"EntityName"
,
"机构名称"
);
header
.
put
(
"Category"
,
"主体性质"
);
header
.
put
(
"Frequency"
,
"频度"
);
header
.
put
(
"ItemName"
,
"项目名称"
);
header
.
put
(
"EndBal"
,
"期末余额"
);
header
.
put
(
"BegBal"
,
"年初余额"
);
header
.
put
(
"PrcFlag"
,
"是否为国外"
);
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"Period"
,
"期间"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"LedgerCurrencyCode"
,
"账套币种"
);
header
.
put
(
"EntityCode"
,
"机构编码"
);
header
.
put
(
"EntityName"
,
"机构名称"
);
header
.
put
(
"Category"
,
"主体性质"
);
header
.
put
(
"Frequency"
,
"频度"
);
header
.
put
(
"ItemName"
,
"项目名称"
);
header
.
put
(
"EndBal"
,
"期末余额"
);
header
.
put
(
"BegBal"
,
"年初余额"
);
header
.
put
(
"PrcFlag"
,
"是否为国外"
);
return
header
;
}
private
Map
<
String
,
String
>
generalPLHeader
()
{
Map
<
String
,
String
>
header
=
new
LinkedHashMap
<>();
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"Period"
,
"期间"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"LedgerCurrencyCode"
,
"账套币种"
);
header
.
put
(
"EntityCode"
,
"机构编码"
);
header
.
put
(
"EntityName"
,
"机构名称"
);
header
.
put
(
"Category"
,
"主体性质"
);
header
.
put
(
"Frequency"
,
"频度"
);
header
.
put
(
"ItemName"
,
"项目名称"
);
header
.
put
(
"PeriodAmt"
,
"本期发生额"
);
header
.
put
(
"YtdAmt"
,
"本年累计"
);
header
.
put
(
"PrcFlag"
,
"是否为国外"
);
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"Period"
,
"期间"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"LedgerCurrencyCode"
,
"账套币种"
);
header
.
put
(
"EntityCode"
,
"机构编码"
);
header
.
put
(
"EntityName"
,
"机构名称"
);
header
.
put
(
"Category"
,
"主体性质"
);
header
.
put
(
"Frequency"
,
"频度"
);
header
.
put
(
"ItemName"
,
"项目名称"
);
header
.
put
(
"PeriodAmt"
,
"本期发生额"
);
header
.
put
(
"YtdAmt"
,
"本年累计"
);
header
.
put
(
"PrcFlag"
,
"是否为国外"
);
return
header
;
}
private
Map
<
String
,
String
>
generalJEHeader
()
{
Map
<
String
,
String
>
header
=
new
LinkedHashMap
<>();
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"CurrencyCode"
,
"账套币种"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"HeaderId"
,
"日记账头ID"
);
header
.
put
(
"LineNum"
,
"日记账行号"
);
header
.
put
(
"ApprovalStatus"
,
"审批状态"
);
header
.
put
(
"PostedStatus"
,
"过账"
);
header
.
put
(
"Period"
,
"会计期间"
);
header
.
put
(
"AccountingDate"
,
"凭证日期"
);
header
.
put
(
"JournalSource"
,
"日记账来源"
);
header
.
put
(
"Category"
,
"日记账类别"
);
header
.
put
(
"Name"
,
"日记账名称"
);
header
.
put
(
"VoucherNum"
,
"凭证编号"
);
header
.
put
(
"Description"
,
"摘要"
);
header
.
put
(
"Segment1"
,
"主体代码"
);
header
.
put
(
"Segment2"
,
"成本中心"
);
header
.
put
(
"Segment3"
,
"科目代码"
);
header
.
put
(
"Segment4"
,
"辅助科目"
);
header
.
put
(
"Segment5"
,
"利润中心"
);
header
.
put
(
"Segment6"
,
"产品"
);
header
.
put
(
"Segment7"
,
"项目"
);
header
.
put
(
"Segment8"
,
"公司间"
);
header
.
put
(
"Segment9"
,
"备用1"
);
header
.
put
(
"Segment10"
,
"备用2"
);
header
.
put
(
"Segment1Name"
,
"主体说明"
);
header
.
put
(
"Segment2Name"
,
"成本中心说明"
);
header
.
put
(
"Segment3Name"
,
"科目说明"
);
header
.
put
(
"Segment4Name"
,
"辅助科目说明"
);
header
.
put
(
"Segment5Name"
,
"利润中心说明"
);
header
.
put
(
"Segment6Name"
,
"产品说明"
);
header
.
put
(
"Segment7Name"
,
"项目说明"
);
header
.
put
(
"Segment8Name"
,
"公司间说明"
);
header
.
put
(
"Segment9Name"
,
"备用1说明"
);
header
.
put
(
"Segment10Name"
,
"备用2说明"
);
header
.
put
(
"JournalCurrencyCode"
,
"币种"
);
header
.
put
(
"SobCurrencyCode"
,
"本位币币种"
);
header
.
put
(
"AccountedDr"
,
"借方金额"
);
header
.
put
(
"AccountedCr"
,
"贷方金额"
);
header
.
put
(
"EnteredDr"
,
"本位币借方金额"
);
header
.
put
(
"EnteredCr"
,
"本位币贷方金额"
);
header
.
put
(
"CfItem"
,
"现金流量表项"
);
header
.
put
(
"Attribute1"
,
"城市"
);
header
.
put
(
"Attribute2"
,
"交易日期"
);
header
.
put
(
"Attribute3"
,
"对方银行账号"
);
header
.
put
(
"Attribute4"
,
"银行流水号"
);
header
.
put
(
"Attribute5"
,
"供应商编号"
);
header
.
put
(
"Attribute6"
,
"交易单号"
);
header
.
put
(
"Attribute7"
,
"供应商名称"
);
header
.
put
(
"Attribute8"
,
"接收编码"
);
header
.
put
(
"Attribute9"
,
"制单人"
);
header
.
put
(
"Attribute10"
,
"审核人"
);
header
.
put
(
"Attribute11"
,
"成本中心部门描述1"
);
header
.
put
(
"Attribute12"
,
"成本中心部门描述2"
);
header
.
put
(
"Attribute13"
,
"成本中心部门描述3"
);
header
.
put
(
"Attribute14"
,
"成本中心部门描述4"
);
header
.
put
(
"Attribute15"
,
"成本中心部门描述5"
);
header
.
put
(
"Attribute16"
,
"成本中心部门描述6"
);
header
.
put
(
"CreatedBy"
,
"创建人"
);
header
.
put
(
"CreatedDate"
,
"创建日期"
);
header
.
put
(
"LateUpdatedBy"
,
"最后更新人"
);
header
.
put
(
"LateUpdatedDate"
,
"最后更新日期"
);
header
.
put
(
"tmsPeriod"
,
"税务系统期间"
);
header
.
put
(
"Date"
,
"数据日期"
);
header
.
put
(
"Source"
,
"来源"
);
header
.
put
(
"LedgerId"
,
"账套ID"
);
header
.
put
(
"LedgerName"
,
"账套名称"
);
header
.
put
(
"CurrencyCode"
,
"账套币种"
);
header
.
put
(
"Status"
,
"关账标识"
);
header
.
put
(
"HeaderId"
,
"日记账头ID"
);
header
.
put
(
"LineNum"
,
"日记账行号"
);
header
.
put
(
"ApprovalStatus"
,
"审批状态"
);
header
.
put
(
"PostedStatus"
,
"过账"
);
header
.
put
(
"Period"
,
"会计期间"
);
header
.
put
(
"AccountingDate"
,
"凭证日期"
);
header
.
put
(
"JournalSource"
,
"日记账来源"
);
header
.
put
(
"Category"
,
"日记账类别"
);
header
.
put
(
"Name"
,
"日记账名称"
);
header
.
put
(
"VoucherNum"
,
"凭证编号"
);
header
.
put
(
"Description"
,
"摘要"
);
header
.
put
(
"Segment1"
,
"主体代码"
);
header
.
put
(
"Segment2"
,
"成本中心"
);
header
.
put
(
"Segment3"
,
"科目代码"
);
header
.
put
(
"Segment4"
,
"辅助科目"
);
header
.
put
(
"Segment5"
,
"利润中心"
);
header
.
put
(
"Segment6"
,
"产品"
);
header
.
put
(
"Segment7"
,
"项目"
);
header
.
put
(
"Segment8"
,
"公司间"
);
header
.
put
(
"Segment9"
,
"备用1"
);
header
.
put
(
"Segment10"
,
"备用2"
);
header
.
put
(
"Segment1Name"
,
"主体说明"
);
header
.
put
(
"Segment2Name"
,
"成本中心说明"
);
header
.
put
(
"Segment3Name"
,
"科目说明"
);
header
.
put
(
"Segment4Name"
,
"辅助科目说明"
);
header
.
put
(
"Segment5Name"
,
"利润中心说明"
);
header
.
put
(
"Segment6Name"
,
"产品说明"
);
header
.
put
(
"Segment7Name"
,
"项目说明"
);
header
.
put
(
"Segment8Name"
,
"公司间说明"
);
header
.
put
(
"Segment9Name"
,
"备用1说明"
);
header
.
put
(
"Segment10Name"
,
"备用2说明"
);
header
.
put
(
"JournalCurrencyCode"
,
"币种"
);
header
.
put
(
"SobCurrencyCode"
,
"本位币币种"
);
header
.
put
(
"AccountedDr"
,
"借方金额"
);
header
.
put
(
"AccountedCr"
,
"贷方金额"
);
header
.
put
(
"EnteredDr"
,
"本位币借方金额"
);
header
.
put
(
"EnteredCr"
,
"本位币贷方金额"
);
header
.
put
(
"CfItem"
,
"现金流量表项"
);
header
.
put
(
"Attribute1"
,
"城市"
);
header
.
put
(
"Attribute2"
,
"交易日期"
);
header
.
put
(
"Attribute3"
,
"对方银行账号"
);
header
.
put
(
"Attribute4"
,
"银行流水号"
);
header
.
put
(
"Attribute5"
,
"供应商编号"
);
header
.
put
(
"Attribute6"
,
"交易单号"
);
header
.
put
(
"Attribute7"
,
"供应商名称"
);
header
.
put
(
"Attribute8"
,
"接收编码"
);
header
.
put
(
"Attribute9"
,
"制单人"
);
header
.
put
(
"Attribute10"
,
"审核人"
);
header
.
put
(
"Attribute11"
,
"成本中心部门描述1"
);
header
.
put
(
"Attribute12"
,
"成本中心部门描述2"
);
header
.
put
(
"Attribute13"
,
"成本中心部门描述3"
);
header
.
put
(
"Attribute14"
,
"成本中心部门描述4"
);
header
.
put
(
"Attribute15"
,
"成本中心部门描述5"
);
header
.
put
(
"Attribute16"
,
"成本中心部门描述6"
);
header
.
put
(
"CreatedBy"
,
"创建人"
);
header
.
put
(
"CreatedDate"
,
"创建日期"
);
header
.
put
(
"LateUpdatedBy"
,
"最后更新人"
);
header
.
put
(
"LateUpdatedDate"
,
"最后更新日期"
);
header
.
put
(
"tmsPeriod"
,
"税务系统期间"
);
return
header
;
}
private
void
generalIDDtoList
(
List
<
InvoiceData
>
invoiceDatas
,
List
<
InvoiceDataDto
>
invoiceDataDtos
)
{
if
(
invoiceDatas
.
size
()>
0
)
{
if
(
invoiceDatas
.
size
()
>
0
)
{
invoiceDatas
.
forEach
(
id
->
{
setIDValue
(
invoiceDataDtos
,
"专票正数发票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount1
());
setIDValue
(
invoiceDataDtos
,
"专票负数发票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount2
());
setIDValue
(
invoiceDataDtos
,
"专票正数废票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount3
());
setIDValue
(
invoiceDataDtos
,
"专票负数废票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount4
());
setIDValue
(
invoiceDataDtos
,
"专票销项正废金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount1
());
setIDValue
(
invoiceDataDtos
,
"专票销项正数金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount2
());
setIDValue
(
invoiceDataDtos
,
"专票销项负废金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount3
());
setIDValue
(
invoiceDataDtos
,
"专票销项负数金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount4
());
setIDValue
(
invoiceDataDtos
,
"专票实际销项金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount5
());
setIDValue
(
invoiceDataDtos
,
"专票销项正废税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount1
());
setIDValue
(
invoiceDataDtos
,
"专票销项正数税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount2
());
setIDValue
(
invoiceDataDtos
,
"专票销项负废税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount3
());
setIDValue
(
invoiceDataDtos
,
"专票销项负数税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount4
());
setIDValue
(
invoiceDataDtos
,
"专票实际销项税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount5
());
setIDValue
(
invoiceDataDtos
,
"普票正数发票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount1
());
setIDValue
(
invoiceDataDtos
,
"普票负数发票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount2
());
setIDValue
(
invoiceDataDtos
,
"普票正数废票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount3
());
setIDValue
(
invoiceDataDtos
,
"普票负数废票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount4
());
setIDValue
(
invoiceDataDtos
,
"普票销项正废金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount1
());
setIDValue
(
invoiceDataDtos
,
"普票销项正数金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount2
());
setIDValue
(
invoiceDataDtos
,
"普票销项负废金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount3
());
setIDValue
(
invoiceDataDtos
,
"普票销项负数金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount4
());
setIDValue
(
invoiceDataDtos
,
"普票实际销项金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount5
());
setIDValue
(
invoiceDataDtos
,
"普票销项正废税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount1
());
setIDValue
(
invoiceDataDtos
,
"普票销项正数税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount2
());
setIDValue
(
invoiceDataDtos
,
"普票销项负废税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount3
());
setIDValue
(
invoiceDataDtos
,
"普票销项负数税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount4
());
setIDValue
(
invoiceDataDtos
,
"普票实际销项税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount5
());
setIDValue
(
invoiceDataDtos
,
"专票正数发票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount1
());
setIDValue
(
invoiceDataDtos
,
"专票负数发票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount2
());
setIDValue
(
invoiceDataDtos
,
"专票正数废票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount3
());
setIDValue
(
invoiceDataDtos
,
"专票负数废票份数"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceAmount4
());
setIDValue
(
invoiceDataDtos
,
"专票销项正废金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount1
());
setIDValue
(
invoiceDataDtos
,
"专票销项正数金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount2
());
setIDValue
(
invoiceDataDtos
,
"专票销项负废金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount3
());
setIDValue
(
invoiceDataDtos
,
"专票销项负数金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount4
());
setIDValue
(
invoiceDataDtos
,
"专票实际销项金额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceSalesAmount5
());
setIDValue
(
invoiceDataDtos
,
"专票销项正废税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount1
());
setIDValue
(
invoiceDataDtos
,
"专票销项正数税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount2
());
setIDValue
(
invoiceDataDtos
,
"专票销项负废税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount3
());
setIDValue
(
invoiceDataDtos
,
"专票销项负数税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount4
());
setIDValue
(
invoiceDataDtos
,
"专票实际销项税额"
,
id
.
getCountType
(),
id
.
getSpecialInvoiceTaxAmount5
());
setIDValue
(
invoiceDataDtos
,
"普票正数发票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount1
());
setIDValue
(
invoiceDataDtos
,
"普票负数发票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount2
());
setIDValue
(
invoiceDataDtos
,
"普票正数废票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount3
());
setIDValue
(
invoiceDataDtos
,
"普票负数废票份数"
,
id
.
getCountType
(),
id
.
getInvoiceAmount4
());
setIDValue
(
invoiceDataDtos
,
"普票销项正废金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount1
());
setIDValue
(
invoiceDataDtos
,
"普票销项正数金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount2
());
setIDValue
(
invoiceDataDtos
,
"普票销项负废金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount3
());
setIDValue
(
invoiceDataDtos
,
"普票销项负数金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount4
());
setIDValue
(
invoiceDataDtos
,
"普票实际销项金额"
,
id
.
getCountType
(),
id
.
getInvoiceSalesAmount5
());
setIDValue
(
invoiceDataDtos
,
"普票销项正废税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount1
());
setIDValue
(
invoiceDataDtos
,
"普票销项正数税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount2
());
setIDValue
(
invoiceDataDtos
,
"普票销项负废税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount3
());
setIDValue
(
invoiceDataDtos
,
"普票销项负数税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount4
());
setIDValue
(
invoiceDataDtos
,
"普票实际销项税额"
,
id
.
getCountType
(),
id
.
getInvoiceTaxAmount5
());
});
}
}
...
...
@@ -931,35 +1017,35 @@ public class DataPreviewSerivceImpl extends BaseService {
}
private
void
setIDValue
(
List
<
InvoiceDataDto
>
idDtos
,
String
column
,
Integer
row
,
Object
value
)
{
for
(
InvoiceDataDto
idto
:
idDtos
)
{
if
(
idto
.
getProjectName
().
equals
(
column
))
{
for
(
InvoiceDataDto
idto
:
idDtos
)
{
if
(
idto
.
getProjectName
().
equals
(
column
))
{
switch
(
row
)
{
case
CountTypeConstant
.
TOTAL
:
idto
.
setTotalAmount
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setTotalAmount
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
SIXTEEN_PERCENT
:
idto
.
setAmount1
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount1
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
TEN_PERCENT
:
idto
.
setAmount2
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount2
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
SIX_PERCENT
:
idto
.
setAmount3
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount3
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
THREE_PERCENT
:
idto
.
setAmount4
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount4
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
SEVENTEEN_PERCENT
:
idto
.
setAmount5
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount5
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
ELEVEN_PERCENT
:
idto
.
setAmount6
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount6
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
FIVE_PERCENT
:
idto
.
setAmount7
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setAmount7
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
OTHER
:
idto
.
setOtherAmount
(
new
BigDecimal
(
value
.
toString
()));
idto
.
setOtherAmount
(
new
BigDecimal
(
value
.
toString
()));
break
;
default
:
break
;
...
...
atms-web/src/main/webapp/Scripts/module-part1.js
View file @
394261e6
...
...
@@ -612,22 +612,22 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
sticky
:
true
});
$stateProvider
.
state
({
name
:
'vat.previewData.balanceSheet'
,
url
:
'/balanceSheet'
,
views
:
{
'@vat.previewData'
:
{
controller
:
[
'$scope'
,
'$stateParams'
,
'appTranslation'
,
function
(
$scope
,
$stateParams
,
appTranslation
)
{
appTranslation
.
load
([
appTranslation
.
vat
]);
}],
template
:
'<vat-preview-balance-sheet></vat-preview-balance-sheet>'
,
}
},
resolve
:
scriptDependencyProvider
.
createDependenciesMap
(
scriptDependencyProvider
.
vat
),
deepStateRedirect
:
true
,
sticky
:
true
});
//
$stateProvider.state({
//
name: 'vat.previewData.balanceSheet',
//
url: '/balanceSheet',
//
views: {
//
'@vat.previewData': {
//
controller: ['$scope', '$stateParams', 'appTranslation',
//
function ($scope, $stateParams, appTranslation) {
//
appTranslation.load([appTranslation.vat]);
//
}],
//
template: '<vat-preview-balance-sheet></vat-preview-balance-sheet>',
//
}
//
},
//
resolve: scriptDependencyProvider.createDependenciesMap(scriptDependencyProvider.vat),
//
deepStateRedirect: true,
//
sticky: true
//
});
$stateProvider
.
state
({
name
:
'vat.previewData.accountVoucher'
,
...
...
@@ -767,6 +767,40 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
sticky
:
true
});
$stateProvider
.
state
({
name
:
'vat.previewData.vatPreviewProfitTable'
,
url
:
'/vatPreviewProfitTable'
,
views
:
{
'@vat.previewData'
:
{
controller
:
[
'$scope'
,
'$stateParams'
,
'appTranslation'
,
function
(
$scope
,
$stateParams
,
appTranslation
)
{
appTranslation
.
load
([
appTranslation
.
vat
]);
}],
template
:
'<vat-preview-profit-table></vat-preview-profit-table>'
}
},
resolve
:
scriptDependencyProvider
.
createDependenciesMap
(
scriptDependencyProvider
.
vat
),
deepStateRedirect
:
true
,
sticky
:
true
});
$stateProvider
.
state
({
name
:
'vat.previewData.vatPreviewTheBalanceSheet'
,
url
:
'/vatPreviewTheBalanceSheet'
,
views
:
{
'@vat.previewData'
:
{
controller
:
[
'$scope'
,
'$stateParams'
,
'appTranslation'
,
function
(
$scope
,
$stateParams
,
appTranslation
)
{
appTranslation
.
load
([
appTranslation
.
vat
]);
}],
template
:
'<vat-preview-the-balance-sheet></vat-preview-the-balance-sheet>'
}
},
resolve
:
scriptDependencyProvider
.
createDependenciesMap
(
scriptDependencyProvider
.
vat
),
deepStateRedirect
:
true
,
sticky
:
true
});
$stateProvider
.
state
({
name
:
'vat.previewData.coupaPurchasingReport'
,
url
:
'/coupaPurchasingReport'
,
...
...
atms-web/src/main/webapp/app-resources/i18n/en-us/vat.json
View file @
394261e6
...
...
@@ -1994,5 +1994,7 @@
"InputAllMandatoryInfo"
:
"Please Input All The Mandatory Information"
,
"NameShouldUniqueWarn"
:
"Name Should Be Unique"
,
"ProfitTable"
:
"Profit Table"
,
"~MustBeEndOneApp"
:
"I Must be the End One, please!"
}
\ No newline at end of file
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
View file @
394261e6
...
...
@@ -2306,6 +2306,7 @@
"InputAllMandatoryInfo"
:
"请输入所有必填信息"
,
"NameShouldUniqueWarn"
:
"收入类型名称应当唯一"
,
"ProfitTable"
:
"利润表"
,
"~MustBeEndOneApp"
:
"我必须是最后一个!"
}
\ No newline at end of file
atms-web/src/main/webapp/app/common/utils/constant.js
View file @
394261e6
...
...
@@ -475,9 +475,6 @@ constant.vatPermission = {
adjustmentTab
:
{
queryCode
:
'02.002.011'
},
balanceSheet
:
{
queryCode
:
'02.002.012'
},
profitLoss
:
{
queryCode
:
'02.002.013'
},
...
...
@@ -507,7 +504,11 @@ constant.vatPermission = {
},
offBalanceSheetPrcManual
:
{
queryCode
:
'02.002.022'
},
profitTable
:
{
queryCode
:
'02.002.023'
}
},
dataManage
:
{
dataManageCode
:
'02.003'
,
...
...
atms-web/src/main/webapp/app/common/vatservices/vatPreviewService.js
View file @
394261e6
...
...
@@ -213,6 +213,9 @@
getPLDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getPLDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
getPLStatementDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getPLStatementDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
initExportPLData
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/exportPLData/get'
,
queryParams
,
apiConfig
.
create
({
responseType
:
'arraybuffer'
}));
},
...
...
@@ -229,6 +232,9 @@
FileSaver
.
saveAs
(
data
,
fileName
+
'_'
+
queryParm
.
periodStart
+
'_'
+
vatSessionService
.
project
.
name
+
'.xlsx'
);
});
},
initExportPLStatementData
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/exportPLStatementData/get'
,
queryParams
,
apiConfig
.
create
({
responseType
:
'arraybuffer'
}));
},
getJEDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getJEDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
...
...
@@ -238,6 +244,9 @@
getBSDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getBSDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
getBalanceSheetDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getBalanceSheetDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
initExportBSData
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/exportBSData/get'
,
queryParams
,
apiConfig
.
create
({
responseType
:
'arraybuffer'
}));
},
...
...
@@ -254,6 +263,9 @@
FileSaver
.
saveAs
(
data
,
fileName
+
'_'
+
queryParm
.
periodStart
+
'_'
+
vatSessionService
.
project
.
name
+
'.xlsx'
);
});
},
initExportBalanceSheetData
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/exportBalanceSheetData/get'
,
queryParams
,
apiConfig
.
create
({
responseType
:
'arraybuffer'
}));
},
getIRDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getIRDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
...
...
atms-web/src/main/webapp/app/framework/app-overview/app-overview.ctrl.js
View file @
394261e6
...
...
@@ -881,6 +881,9 @@
constant
.
vatPermission
.
dataPreview
.
redLetterInformationTable
.
queryCode
,
constant
.
vatPermission
.
dataPreview
.
coupaPurchasingReport
.
queryCode
,
constant
.
vatPermission
.
dataPreview
.
invoiceData
.
queryCode
,
constant
.
vatPermission
.
dataPreview
.
profitTable
.
queryCode
,
constant
.
vatPermission
.
dataPreview
.
balanceSheet
.
queryCode
,
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
constant
.
vatPermission
.
dataManage
.
revenueDetailCode
,
...
...
@@ -926,6 +929,10 @@
$state
.
go
(
'vat.previewData.coupaPurchasingReport'
);
}
else
if
(
data
[
constant
.
vatPermission
.
dataPreview
.
invoiceData
.
queryCode
])
{
$state
.
go
(
'vat.previewData.invoiceData'
);
}
else
if
(
data
[
constant
.
vatPermission
.
dataPreview
.
profitTable
.
queryCode
])
{
$state
.
go
(
'vat.previewData.vatPreviewProfitTable'
);
}
else
if
(
data
[
constant
.
vatPermission
.
dataPreview
.
balanceSheet
.
queryCode
])
{
$state
.
go
(
'vat.previewData.vatPreviewTheBalanceSheet'
);
}
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
caculateDataCode
])
{
$state
.
go
(
'vat.reductionData.caculateData'
);
}
else
if
(
data
[
constant
.
vatPermission
.
dataManage
.
revenueDetailCode
])
{
...
...
@@ -973,36 +980,7 @@
// $state.go('vat.reductionData.goodsMapping');
// }
//TODO 删除的部分
// if (data[constant.vatPermission.dataPreview.balanceSheet.queryCode]) {
// $state.go('vat.previewData.balanceSheet');
// }
// else if (data[constant.vatPermission.dataPreview.inputInvoice.queryCode]) {
// $state.go('vat.previewData.inputInvoice');
// } else if (data[constant.vatPermission.dataPreview.outputInvoice.queryCode]) {
// $state.go('vat.previewData.outputInvoice');
// }
// else if (data[constant.vatPermission.dataManage.caculateDataCode]) {
// $state.go('vat.reductionData.caculateData');
// } else if (data[constant.vatPermission.dataManage.revenueDetailCode]) {
// $state.go('vat.reductionData.revenueDetail');
// } else if (data[constant.vatPermission.dataManage.billDetailCode]) {
// $state.go('vat.reductionData.billDetail');
// } /*else if (data[constant.vatPermission.dataManage.unbilledInvoiceCode]) {
// $state.go('vat.reductionData.unbilledInvoice');
// }*/ else if (data[constant.vatPermission.reportView.bsplCode] || data[constant.vatPermission.reportView.taxReturnCode]) {
// $state.go('vat.generateReport');
// } else if (data[constant.vatPermission.dataAnalysis.modelAnalysisCode]) {
// $state.go('vat.analyzeLayout.analyzeReport');
// } else if (data[constant.vatPermission.dataAnalysis.dashboard.dashboardCode]) {
// $state.go('analyzeOrganizeDashboard');
// }
//else if (data[constant.vatPermission.dataAnalysis.vatTaxDifferenceCode]) {
// $state.go('vat.analyzeLayout.vatTaxDifference');
//}
}
});
}
...
...
atms-web/src/main/webapp/app/vat/import/vat-import-layout/vat-import-layout.ctrl.js
View file @
394261e6
vatModule
.
controller
(
'VatImportLayoutController'
,
[
'$scope'
,
'$log'
,
'$translate'
,
'$location'
,
'loginContext'
,
'enums'
,
'vatSessionService'
,
'vatCommonService'
,
function
(
$scope
,
$log
,
$translate
,
$location
,
loginContext
,
enums
,
vatSessionService
,
vatCommonService
)
{
'use strict'
;
$log
.
debug
(
'VatImportLayoutController.ctor()...'
);
vatModule
.
controller
(
'VatImportLayoutController'
,
[
'$scope'
,
'$log'
,
'$translate'
,
'$location'
,
'loginContext'
,
'enums'
,
'vatSessionService'
,
'vatCommonService'
,
function
(
$scope
,
$log
,
$translate
,
$location
,
loginContext
,
enums
,
vatSessionService
,
vatCommonService
)
{
'use strict'
;
$log
.
debug
(
'VatImportLayoutController.ctor()...'
);
if
(
$location
.
$$url
.
startWith
(
'/cit/'
))
{
if
(
$location
.
$$url
.
startWith
(
'/cit/'
))
{
return
false
;
}
return
false
;
}
//获取未对应企业科目数量
$scope
.
$on
(
'notMappedCount'
,
function
(
e
,
d
)
{
$scope
.
notMappedCount
=
d
;
});
//获取未对应企业科目数量
$scope
.
$on
(
'notMappedCount'
,
function
(
e
,
d
)
{
$scope
.
notMappedCount
=
d
;
});
$log
.
debug
(
"$location && $location.absUrl(): "
+
$location
&&
$location
.
absUrl
());
//using .replace(';', '<br/>') to text-wrap at exact position as designed in menu
...
...
@@ -71,6 +70,15 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
{
name
:
'invoiceData'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
invoiceData
.
queryCode
,
text
:
$translate
.
instant
(
'invoiceData'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
//TODO 增加TAB
{
name
:
'vatPreviewProfitTable'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
profitTable
.
queryCode
,
text
:
$translate
.
instant
(
'ProfitTable'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'vatPreviewTheBalanceSheet'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
balanceSheet
.
queryCode
,
text
:
$translate
.
instant
(
'offBalanceSheet'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'quarterlyOwnersEquityChangeTab'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
quarterlyOwnersEquityChangeTable
.
queryCode
,
...
...
@@ -80,37 +88,40 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
name
:
'balanceSheet'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
balanceSheet
.
queryCode
,
text
:
$translate
.
instant
(
'balanceSheet'
),
icon
:
'fa fa-bank'
,
show
:
false
},
// {
// name: 'accountVoucher', permission: constant.vatPermission.dataPreview.accountVoucher.queryCode,
// text: $translate.instant('accountVoucher'), icon: 'fa fa-columns', show: true
// },
{
name
:
'inputInvoice'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
inputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'inputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
},
{
name
:
'outputInvoice'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
outputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'outputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
},
{
name
:
'outputoffInvoice'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
outputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'offlineBilling'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
},
{
name
:
'directMethodCashFlowStatement'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
directMethodCashFlowStatement
.
queryCode
,
text
:
$translate
.
instant
(
'directMethodCashFlowStatement'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
}
{
name
:
'inputInvoice'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
inputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'inputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
},
{
name
:
'outputInvoice'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
outputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'outputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
},
{
name
:
'outputoffInvoice'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
outputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'offlineBilling'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
},
{
name
:
'directMethodCashFlowStatement'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
directMethodCashFlowStatement
.
queryCode
,
text
:
$translate
.
instant
(
'directMethodCashFlowStatement'
),
icon
:
'fa fa-file-text-o'
,
show
:
false
}
// ,
// {
// name: 'customInvoice', permission: constant.vatPermission.dataPreview.customInvoice.queryCode,
// text: $translate.instant('customInvoice'), icon: 'fa fa-bookmark', show: true
// }
];
}
else
if
(
$location
&&
$location
.
absUrl
().
indexOf
(
'reductionData'
)
>
-
1
)
{
$scope
.
nodeDicKey
=
constant
.
DictionaryDictKey
.
DataProcess
;
$scope
.
linkShort
=
enums
.
linkShort
.
ReductionData
;
$scope
.
menus
=
[
];
}
else
if
(
$location
&&
$location
.
absUrl
().
indexOf
(
'reductionData'
)
>
-
1
)
{
$scope
.
nodeDicKey
=
constant
.
DictionaryDictKey
.
DataProcess
;
$scope
.
linkShort
=
enums
.
linkShort
.
ReductionData
;
$scope
.
menus
=
[
{
name
:
'caculateData'
,
permission
:
constant
.
vatPermission
.
dataManage
.
caculateDataCode
,
text
:
$translate
.
instant
(
'caculateData'
),
icon
:
'fa fa-random'
,
show
:
true
...
...
@@ -123,27 +134,26 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
name
:
'billDetail'
,
permission
:
constant
.
vatPermission
.
dataManage
.
billDetailCode
,
text
:
$translate
.
instant
(
'BillDetail'
),
icon
:
'fa fa-random'
,
show
:
true
}
/*{
name: 'accountMapping', permission: constant.vatPermission.dataManage.accountMappingCode,
text: $translate.instant('accountMapping'), icon: 'fa fa-map', show: true
},
{
name: 'goodsMapping', permission: constant.vatPermission.dataManage.goodsMappingCode,
text: $translate.instant('goodsMapping'), icon: 'fa fa-map-signs', show: true
},
{
name: 'unbilledInvoice', permission: constant.vatPermission.dataManage.unbilledInvoiceCode,
text: $translate.instant('unbilledInvoice'), icon: 'fa fa-shield', show: true
},*/
];
}
else
{
$scope
.
nodeDicKey
=
constant
.
DictionaryDictKey
.
DataImport
;
$scope
.
linkShort
=
enums
.
linkShort
.
ImportData
;
$scope
.
menus
=
[
{
name
:
'balanceSheet'
,
permission
:
constant
.
vatPermission
.
dataImport
.
balanceSheet
.
queryCode
,
text
:
$translate
.
instant
(
'balanceSheet'
),
icon
:
'fa fa-bank'
,
show
:
true
},
/*{
name: 'accountMapping', permission: constant.vatPermission.dataManage.accountMappingCode,
text: $translate.instant('accountMapping'), icon: 'fa fa-map', show: true
},
{
name: 'goodsMapping', permission: constant.vatPermission.dataManage.goodsMappingCode,
text: $translate.instant('goodsMapping'), icon: 'fa fa-map-signs', show: true
},
{
name: 'unbilledInvoice', permission: constant.vatPermission.dataManage.unbilledInvoiceCode,
text: $translate.instant('unbilledInvoice'), icon: 'fa fa-shield', show: true
},*/
];
}
else
{
$scope
.
nodeDicKey
=
constant
.
DictionaryDictKey
.
DataImport
;
$scope
.
linkShort
=
enums
.
linkShort
.
ImportData
;
$scope
.
menus
=
[
{
name
:
'balanceSheet'
,
permission
:
constant
.
vatPermission
.
dataImport
.
balanceSheet
.
queryCode
,
text
:
$translate
.
instant
(
'balanceSheet'
),
icon
:
'fa fa-bank'
,
show
:
true
},
// {
// name: 'journalEntry', permission: constant.vatPermission.dataImport.journalEntry.queryCode,
// text: $translate.instant('journalEntry'), icon: 'fa fa-align-left', show: true
...
...
@@ -153,14 +163,14 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
// text: $translate.instant('erpData'), icon: 'fa fa-list-ul', show: true
// },
{
name
:
'inputInvoice'
,
permission
:
constant
.
vatPermission
.
dataImport
.
inputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'inputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'outputInvoice'
,
permission
:
constant
.
vatPermission
.
dataImport
.
outputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'outputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'inputInvoice'
,
permission
:
constant
.
vatPermission
.
dataImport
.
inputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'inputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'outputInvoice'
,
permission
:
constant
.
vatPermission
.
dataImport
.
outputInvoice
.
queryCode
,
text
:
$translate
.
instant
(
'outputInvoice'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
// ,
// {
// name: 'customInvoice', permission: constant.vatPermission.dataImport.customInvoice.queryCode,
...
...
@@ -178,14 +188,13 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
// name: 'auditAdjust', permission: constant.vatPermission.dataImport.auditAdjust.queryCode,
// text: $translate.instant('auditAdjust'), icon: 'fa fa-adjust', show: true
// }
];
}
];
}
(
function
initialize
()
{
vatCommonService
.
isLayoutMenuShow
(
vatSessionService
.
project
.
id
,
vatSessionService
.
month
,
$scope
.
nodeDicKey
,
$scope
.
linkShort
,
$scope
.
menus
);
})();
(
function
initialize
()
{
vatCommonService
.
isLayoutMenuShow
(
vatSessionService
.
project
.
id
,
vatSessionService
.
month
,
$scope
.
nodeDicKey
,
$scope
.
linkShort
,
$scope
.
menus
);
})();
}]);
\ No newline at end of file
}]);
\ No newline at end of file
atms-web/src/main/webapp/app/vat/preview/vat-preview-profit-table/vat-preview-profit-table-search.html
0 → 100644
View file @
394261e6
<div
class=
"popover"
>
<div
class=
"arrow"
></div>
<div
class=
"popover-content"
>
<div>
<table
class=
"table table-responsive"
>
<tr>
<td>
<span
translate=
"BillingContent"
></span>
<input
class=
"form-control input-width-small"
id=
"certificationDateStart"
ng-model=
"queryParams.certificationDateStart"
/>
-
<input
class=
"form-control input-width-small"
id=
"certificationDateEnd"
ng-model=
"queryParams.certificationDateEnd"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"ApplicationSector"
></span>
<input
class=
"form-control input-width-middle"
type=
"text"
id=
"invoiceCode"
ng-model=
"queryParams.invoiceCode"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"ApplicationSector"
></span>
<input
class=
"form-control input-width-middle"
type=
"text"
id=
"invoiceNumber"
ng-model=
"queryParams.invoiceNumber"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceCode"
></span>
<input
class=
"form-control input-width-middle"
type=
"text"
id=
"sellerTaxNumber"
ng-model=
"queryParams.sellerTaxNumber"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceNumber"
></span>
<input
class=
"form-control input-width-small"
type=
"text"
id=
"amountStart"
ng-model=
"queryParams.amountStart"
onkeyup=
"PWC.inputNumberFormat(this);"
/>
-
<input
class=
"form-control input-width-small"
type=
"text"
id=
"amountEnd"
ng-model=
"queryParams.amountEnd"
onkeyup=
"PWC.inputNumberFormat(this);"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceFPLXQuery"
></span>
<div
class=
"ui-select-has-border input-width-middle"
>
<ui-select
ng-model=
"InvoiceType.selected"
search-enabled=
"false"
style=
"text-align:left;"
class=
"input-width-middle"
>
<ui-select-match>
{{$select.selected.name}}
</ui-select-match>
<ui-select-choices
repeat=
"item in invoiceTypeList | propsFilter: {name: $select.search}"
>
<div
title=
"{{item.name}}"
ng-bind-html=
"item.name"
></div>
</ui-select-choices>
</ui-select>
</div>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceRZJGQuery"
></span>
<div
class=
"ui-select-has-border input-width-middle"
>
<ui-select
ng-model=
"CertificationStatus.selected"
search-enabled=
"false"
style=
"text-align: left; "
class=
"input-width-middle"
>
<ui-select-match>
{{$select.selected.name}}
</ui-select-match>
<ui-select-choices
repeat=
"item in cetificationResultList | propsFilter: {name: $select.search}"
>
<div
title=
"{{item.name}}"
ng-bind-html=
"item.name"
></div>
</ui-select-choices>
</ui-select>
</div>
</td>
</tr>
</table>
</div>
<div
class=
"row"
>
<div
style=
"float:right;margin-right:10px;"
>
<button
class=
"btn btn-default btn-primary"
ng-click=
"doDataFilter('')"
>
<span
class=
"fa fa-chevron-down"
aria-hidden=
"true"
>
</span>
<span
translate=
"Confirm"
></span>
</button>
<button
class=
"btn btn-default margin-right10"
ng-click=
"doDataFilterReset()"
>
<span
class=
"fa fa-times"
aria-hidden=
"true"
>
</span>
<span
translate=
"Reset"
></span>
</button>
</div>
</div>
</div>
</div>
atms-web/src/main/webapp/app/vat/preview/vat-preview-profit-table/vat-preview-profit-table.ctrl.js
0 → 100644
View file @
394261e6
vatModule
.
controller
(
'VatPreviewProfitTableController'
,
[
'$rootScope'
,
'$scope'
,
'$log'
,
'$filter'
,
'$translate'
,
'$timeout'
,
'SweetAlert'
,
'$q'
,
'uiGridConstants'
,
'$interval'
,
'vatPreviewService'
,
'browserService'
,
'vatSessionService'
,
'region'
,
'enums'
,
'vatExportService'
,
function
(
$rootScope
,
$scope
,
$log
,
$filter
,
$translate
,
$timeout
,
SweetAlert
,
$q
,
uiGridConstants
,
$interval
,
vatPreviewService
,
browserService
,
vatSessionService
,
region
,
enums
,
vatExportService
)
{
'use strict'
;
$scope
.
startDate
=
new
Date
(
vatSessionService
.
project
.
year
,
0
,
1
);
$scope
.
endDate
=
new
Date
(
vatSessionService
.
project
.
year
,
11
,
31
);
$scope
.
dateFormat
=
$translate
.
instant
(
'dateFormat4YearMonthDay'
);
$scope
.
startMonth
=
vatSessionService
.
month
;
$scope
.
endMonth
=
vatSessionService
.
month
;
$scope
.
totalMoneyAmount
=
0
;
$scope
.
totalTaxAmount
=
0
;
$scope
.
pageSize
=
constant
.
vatPagesize
;
var
minDate
=
[
1
,
vatSessionService
.
project
.
year
];
// var minDate = moment().startOf('month').subtract(0, 'months');
var
maxDate
=
[
12
,
vatSessionService
.
project
.
year
];
var
setDate
=
[
[
vatSessionService
.
month
,
vatSessionService
.
project
.
year
],
[
vatSessionService
.
month
,
vatSessionService
.
project
.
year
]];
//发票类型
var
invoiceTypeEnum
=
{
VATInvoice
:
$translate
.
instant
(
'VATInvoice'
),
FreightTransport
:
$translate
.
instant
(
'FreightTransport'
),
MotorVehicle
:
$translate
.
instant
(
'MotorVehicle'
),
AgriculturalProduct
:
$translate
.
instant
(
'AgriculturalProduct'
)
};
$scope
.
monthList
=
[
$translate
.
instant
(
'Month01'
),
$translate
.
instant
(
'Month02'
),
$translate
.
instant
(
'Month03'
),
$translate
.
instant
(
'Month04'
),
$translate
.
instant
(
'Month05'
),
$translate
.
instant
(
'Month06'
),
$translate
.
instant
(
'Month07'
),
$translate
.
instant
(
'Month08'
),
$translate
.
instant
(
'Month09'
),
$translate
.
instant
(
'Month10'
),
$translate
.
instant
(
'Month11'
),
$translate
.
instant
(
'Month12'
)
];
//认证结果
$scope
.
cetificationResultList
=
[
{
id
:
999
,
name
:
$translate
.
instant
(
'AllTheItems'
)
},
{
id
:
1
,
name
:
$translate
.
instant
(
'CertificationPass'
)
},
{
id
:
2
,
name
:
$translate
.
instant
(
'CertificationNotPass'
)
}
];
//发票类型
$scope
.
invoiceTypeList
=
[
{
id
:
999
,
name
:
$translate
.
instant
(
'AllTheItems'
)
},
{
id
:
enums
.
invoiceType
.
VATInvoice
,
name
:
$translate
.
instant
(
'VATInvoice'
)
},
{
id
:
enums
.
invoiceType
.
FreightTransport
,
name
:
$translate
.
instant
(
'FreightTransport'
)
},
{
id
:
enums
.
invoiceType
.
MotorVehicle
,
name
:
$translate
.
instant
(
'MotorVehicle'
)
},
{
id
:
enums
.
invoiceType
.
AgriculturalProduct
,
name
:
$translate
.
instant
(
'AgriculturalProduct'
)
}
];
$scope
.
InvoiceType
=
{};
$scope
.
CertificationStatus
=
{};
//初始化期间
var
initPeriods
=
function
()
{
var
curMonth
=
new
Date
().
getMonth
()
+
1
;
$scope
.
queryParams
=
{
pageInfo
:
{},
periodStart
:
''
,
periodEnd
:
''
};
};
//从数据库中load数据
var
loadProfitLossDataFromDB
=
function
(
pageIndex
)
{
initProfitLossPagination
();
$scope
.
curProfitLossPage
=
pageIndex
;
//初始化查询信息
$scope
.
queryParams
.
pageInfo
=
{
totalCount
:
$scope
.
queryProfitLossResult
.
pageInfo
.
totalCount
,
pageIndex
:
pageIndex
,
pageSize
:
$scope
.
queryProfitLossResult
.
pageInfo
.
pageSize
,
totalPage
:
0
};
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
$scope
.
getDataFromDatabase
(
$scope
.
queryParams
);
};
$scope
.
getDataFromDatabase
=
function
(
queryParams
){
vatPreviewService
.
getPLStatementDataForDisplay
(
queryParams
).
success
(
function
(
data
)
{
if
(
data
)
{
// minDate = data.
var
index
=
1
;
data
.
list
.
forEach
(
function
(
v
)
{
v
.
index
=
index
++
;
});
$scope
.
gridOptions
.
data
=
data
.
list
;
$scope
.
queryProfitLossResult
.
pageInfo
=
data
;
computeProfitLossPage
();
$scope
.
ledgerName
=
data
.
list
[
0
].
ledgerName
;
$scope
.
currencyCode
=
data
.
list
[
0
].
ledgerCurrencyCode
;
$scope
.
status
=
data
.
list
[
0
].
status
;
$scope
.
importDate
=
$filter
(
'date'
)(
data
.
list
[
0
].
date
,
"yyyy-MM-dd hh:mm:ss"
);
}
});
};
//点击任意一页加载数据事件
var
loadIncomeInvoiceDataByPage
=
function
(
pageIndex
)
{
loadProfitLossDataFromDB
(
pageIndex
);
};
//计算页数,创建分页栏
var
computeProfitLossPage
=
function
()
{
if
(
$scope
.
queryProfitLossResult
.
pageInfo
&&
$scope
.
queryProfitLossResult
.
pageInfo
.
total
>
0
)
{
var
totalPage
=
parseInt
(
$scope
.
queryProfitLossResult
.
pageInfo
.
total
/
$scope
.
pageSize
);
totalPage
=
$scope
.
queryProfitLossResult
.
pageInfo
.
totalCount
%
$scope
.
pageSize
==
0
?
totalPage
:
totalPage
+
1
;
//计算本页记录数
if
(
$scope
.
queryProfitLossResult
.
pageInfo
.
pageNum
===
totalPage
)
{
$scope
.
curPageItemCount
=
$scope
.
queryProfitLossResult
.
pageInfo
.
total
%
$scope
.
pageSize
;
}
else
{
$scope
.
curPageItemCount
=
$scope
.
pageSize
;
}
$scope
.
queryProfitLossResult
.
pageInfo
.
totalPage
=
totalPage
;
var
createPage
=
$
(
"#totalInvoicePage"
).
createPage
({
pageCount
:
totalPage
,
current
:
$scope
.
curProfitLossPage
,
backFn
:
function
(
p
)
{
//单击回调方法,p是当前页码
loadIncomeInvoiceDataByPage
(
p
);
}
});
$
(
'#totalInvoicePage'
).
css
(
'display'
,
'inline-block'
);
}
else
{
//如果查询结果为0,则直接设置本页记录数为0
$scope
.
curPageItemCount
=
0
;
var
createPage
=
$
(
"#totalInvoicePage"
).
createPage
({
pageCount
:
0
,
current
:
$scope
.
curProfitLossPage
,
backFn
:
function
(
p
)
{
//单击回调方法,p是当前页码
loadIncomeInvoiceDataByPage
(
p
);
}
});
$
(
'#totalInvoicePage'
).
css
(
'display'
,
'inline-block'
);
}
};
//初始化分页信息
var
initProfitLossPagination
=
function
()
{
$scope
.
queryProfitLossResult
=
{
list
:
[],
pageInfo
:
{
totalCount
:
-
1
,
pageIndex
:
1
,
pageSize
:
constant
.
pagesize
,
totalPage
:
0
,
}
}
$scope
.
curProfitLossPage
=
1
;
};
//将选择了的查询条件显示在grid上方
var
doDataFilter
=
function
(
removeData
)
{
if
(
$scope
.
queryParams
.
periodStart
>
$scope
.
queryParams
.
periodEnd
)
{
$scope
.
queryParams
.
periodEnd
=
$scope
.
queryParams
.
periodStart
;
}
//设置需要去掉的查询条件的值为空
if
(
!
PWC
.
isNullOrEmpty
(
removeData
))
{
var
removeItem
=
removeData
.
split
(
"|"
);
removeItem
.
forEach
(
function
(
v
)
{
$scope
.
queryParams
[
v
]
=
null
;
//如果去掉了发票代码的查询条件,则将查询条件设置为'',因为是字符串,设置为null会导致查询结果错误
if
(
$scope
.
queryParams
.
invoiceCode
===
null
)
{
$scope
.
queryParams
.
invoiceCode
=
''
;
}
//如果去掉了发票号码的查询条件,则将查询条件设置为'',因为是字符串,设置为null会导致查询结果错误
if
(
$scope
.
queryParams
.
invoiceNumber
===
null
)
{
$scope
.
queryParams
.
invoiceNumber
=
''
;
}
//如果去掉了供货方税号的查询条件,则将查询条件设置为'',因为是字符串,设置为null会导致查询结果错误
if
(
$scope
.
queryParams
.
sellerTaxNumber
===
null
)
{
$scope
.
queryParams
.
sellerTaxNumber
=
''
;
}
if
(
$scope
.
queryParams
.
invoiceType
===
null
)
{
$scope
.
InvoiceType
.
selected
=
undefined
;
}
if
(
$scope
.
queryParams
.
certificationStatus
===
null
)
{
$scope
.
CertificationStatus
.
selected
=
undefined
;
}
});
}
//设置发票类型和认证结果
if
(
$scope
.
InvoiceType
.
selected
!==
undefined
)
$scope
.
queryParams
.
invoiceType
=
$scope
.
InvoiceType
.
selected
.
id
;
else
$scope
.
queryParams
.
invoiceType
=
null
;
if
(
$scope
.
CertificationStatus
.
selected
!==
undefined
)
$scope
.
queryParams
.
certificationStatus
=
$scope
.
CertificationStatus
.
selected
.
id
;
else
$scope
.
queryParams
.
certificationStatus
=
null
;
// 将查询条件加入到grid上方
var
crits
=
$scope
.
queryParams
;
//定义查询条件数组用于存放已选的查询条件
$scope
.
criteriaList
=
[];
var
crit
=
[];
//认证日期
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateEnd
))
{
if
(
new
Date
(
crits
.
certificationDateStart
.
replace
(
/
[\.
-
]
/g
,
'/'
))
>
new
Date
(
crits
.
certificationDateEnd
.
replace
(
/
[\.
-
]
/g
,
'/'
)))
{
$scope
.
criteriaList
=
[];
SweetAlert
.
warning
(
$translate
.
instant
(
'InvoiceDateQueryError'
));
return
;
}
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
"-"
+
crits
.
certificationDateEnd
;;
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
"-"
+
crits
.
certificationDateEnd
;
crit
.
valueFrom
=
crits
.
certificationDateStart
;
crit
.
valueTo
=
crits
.
certificationDateEnd
;
crit
.
propertyName
=
"certificationDateStart|certificationDateEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateStart
)
&&
PWC
.
isNullOrEmpty
(
crits
.
invoiceDateEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
$translate
.
instant
(
'After'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
$translate
.
instant
(
'After'
);
crit
.
valueFrom
=
crits
.
certificationDateStart
;
crit
.
valueTo
=
crits
.
certificationDateEnd
;
crit
.
propertyName
=
"certificationDateStart|certificationDateEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
PWC
.
isNullOrEmpty
(
crits
.
certificationDateStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateEnd
+
$translate
.
instant
(
'Before'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateEnd
+
$translate
.
instant
(
'Before'
);
crit
.
valueFrom
=
crits
.
certificationDateStart
;
crit
.
valueTo
=
crits
.
certificationDateEnd
;
crit
.
propertyName
=
"certificationDateStart|certificationDateEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//发票代码
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
invoiceCode
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceFPDMQuery'
)
+
PWC
.
limitString
(
crits
.
invoiceCode
,
10
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceFPDMQuery'
)
+
crits
.
invoiceCode
;
crit
.
valueFrom
=
crits
.
invoiceCode
;
crit
.
propertyName
=
"invoiceCode"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//发票号码
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
invoiceNumber
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceFPHMQuery'
)
+
PWC
.
limitString
(
crits
.
invoiceNumber
,
10
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceFPHMQuery'
)
+
crits
.
invoiceNumber
;
crit
.
valueFrom
=
crits
.
invoiceNumber
;
crit
.
propertyName
=
"invoiceNumber"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//销方识别号
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
sellerTaxNumber
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceGHFSHQuery'
)
+
PWC
.
limitString
(
crits
.
sellerTaxNumber
,
10
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceGHFSHQuery'
)
+
crits
.
sellerTaxNumber
;
crit
.
valueFrom
=
crits
.
sellerTaxNumber
;
crit
.
propertyName
=
"sellerTaxNumber"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//金额
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
amountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
amountEnd
))
{
if
(
Number
(
crits
.
amountStart
)
>
Number
(
crits
.
amountEnd
))
{
SweetAlert
.
warning
(
$translate
.
instant
(
'AmountQueryError'
));
return
;
}
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
PWC
.
limitString
(
crits
.
amountStart
,
5
)
+
' - '
+
PWC
.
limitString
(
crits
.
amountEnd
,
5
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
crits
.
amountStart
+
' - '
+
crits
.
amountEnd
;
crit
.
valueFrom
=
crits
.
amountStart
;
crit
.
valueTo
=
crits
.
amountEnd
;
crit
.
propertyName
=
"amountStart|amountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
amountStart
)
&&
PWC
.
isNullOrEmpty
(
crits
.
amountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
PWC
.
limitString
(
crits
.
amountStart
,
5
)
+
$translate
.
instant
(
'MoreThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
crits
.
amountStart
+
$translate
.
instant
(
'MoreThan'
);
crit
.
valueFrom
=
crits
.
amountStart
;
crit
.
valueTo
=
crits
.
amountEnd
;
crit
.
propertyName
=
"amountStart|amountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
PWC
.
isNullOrEmpty
(
crits
.
amountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
amountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
PWC
.
limitString
(
crits
.
amountEnd
,
5
)
+
$translate
.
instant
(
'LessThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
crits
.
amountEnd
+
$translate
.
instant
(
'LessThan'
);
crit
.
valueFrom
=
crits
.
amountStart
;
crit
.
valueTo
=
crits
.
amountEnd
;
crit
.
propertyName
=
"amountStart|amountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//税额
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountEnd
))
{
if
(
Number
(
crits
.
taxAmountStart
)
>
Number
(
crits
.
taxAmountEnd
))
{
SweetAlert
.
warning
(
$translate
.
instant
(
'TaxAmountQueryError'
));
return
;
}
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
PWC
.
limitString
(
crits
.
taxAmountStart
,
5
)
+
' - '
+
PWC
.
limitString
(
crits
.
taxAmountEnd
,
5
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
crits
.
taxAmountStart
+
' - '
+
crits
.
taxAmountEnd
;
crit
.
valueFrom
=
crits
.
taxAmountStart
;
crit
.
valueTo
=
crits
.
taxAmountEnd
;
crit
.
propertyName
=
"taxAmountStart|taxAmountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountStart
)
&&
PWC
.
isNullOrEmpty
(
crits
.
taxAmountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
PWC
.
limitString
(
crits
.
taxAmountStart
,
5
)
+
$translate
.
instant
(
'MoreThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
crits
.
taxAmountStart
+
$translate
.
instant
(
'MoreThan'
);
crit
.
valueFrom
=
crits
.
taxAmountStart
;
crit
.
valueTo
=
crits
.
taxAmountEnd
;
crit
.
propertyName
=
"taxAmountStart|taxAmountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
PWC
.
isNullOrEmpty
(
crits
.
taxAmountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
PWC
.
limitString
(
crits
.
taxAmountEnd
,
5
)
+
$translate
.
instant
(
'LessThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
crits
.
taxAmountEnd
+
$translate
.
instant
(
'LessThan'
);
crit
.
valueFrom
=
crits
.
taxAmountStart
;
crit
.
valueTo
=
crits
.
taxAmountEnd
;
crit
.
propertyName
=
"taxAmountStart|taxAmountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//发票类型
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
invoiceType
))
{
crit
=
new
Object
;
crit
.
valueFrom
=
_
.
find
(
$scope
.
invoiceTypeList
,
function
(
v
)
{
return
v
.
id
===
crits
.
invoiceType
;
}).
name
;
crit
.
name
=
$translate
.
instant
(
'InvoiceFPLXQuery'
)
+
crit
.
valueFrom
;
crit
.
fullName
=
$translate
.
instant
(
'InvoiceFPLXQuery'
)
+
crit
.
valueFrom
;
crit
.
propertyName
=
"invoiceType"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//认证结果
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
certificationStatus
))
{
crit
=
new
Object
;
crit
.
valueFrom
=
_
.
find
(
$scope
.
cetificationResultList
,
function
(
v
)
{
return
v
.
id
===
crits
.
certificationStatus
;
}).
name
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZJGQuery'
)
+
crit
.
valueFrom
;
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZJGQuery'
)
+
crit
.
valueFrom
;
crit
.
propertyName
=
"certificationStatus"
;
$scope
.
criteriaList
.
push
(
crit
);
}
// add to Criteria List for display on top of the grid:
//********************************************************************************
var
criteria
=
JSON
.
stringify
(
$scope
.
queryParams
);
if
(
browserService
.
isIE
()
||
browserService
.
isEdge
())
criteria
=
encodeURIComponent
(
criteria
);
loadProfitLossDataFromDB
(
1
);
if
(
$scope
.
criteriaList
.
length
>
6
)
{
$scope
.
criteriaListFirstRow
=
$scope
.
criteriaList
.
slice
(
0
,
6
);
$scope
.
criteriaListSecondRow
=
$scope
.
criteriaList
.
slice
(
6
,
$scope
.
criteriaList
.
length
);
}
else
{
$scope
.
criteriaListFirstRow
=
$scope
.
criteriaList
.
slice
(
0
,
$scope
.
criteriaList
.
length
);
}
$
(
'.filter-button'
).
popover
(
"hide"
);
};
//去掉所有的查询条件,重新load数据
var
doDataFilterReset
=
function
()
{
$scope
.
queryParams
=
{
pageInfo
:
{},
periodStart
:
''
,
periodEnd
:
''
,
certificationDateStart
:
null
,
certificationDateEnd
:
null
,
invoiceCode
:
''
,
invoiceNumber
:
''
,
sellerTaxNumber
:
''
,
amountStart
:
null
,
amountEnd
:
null
,
invoiceType
:
null
,
taxAmountStart
:
null
,
taxAmountEnd
:
null
,
certificationStatus
:
null
};
$scope
.
criteriaList
=
[];
$scope
.
queryParams
.
periodStart
=
$scope
.
startMonth
;
$scope
.
queryParams
.
periodEnd
=
$scope
.
endMonth
;
loadProfitLossDataFromDB
(
1
);
$
(
'.filter-button'
).
popover
(
"hide"
);
};
var
prepareSummary
=
function
()
{
// do something before show popover
};
//在popover打开时执行事件
var
showPopover
=
function
()
{
$timeout
(
function
()
{
initDatePickers
();
},
500
);
};
//初始化时间控件
var
initDatePickers
=
function
()
{
//认证开始时间
var
ele1
=
$
(
"#certificationDateStart"
);
ele1
.
datepicker
({
startDate
:
$scope
.
startDate
,
endDate
:
$scope
.
endDate
,
language
:
region
,
autoclose
:
true
,
//选中之后自动隐藏日期选择框
clearBtn
:
true
,
//清除按钮
todayBtn
:
false
,
//今日按钮
format
:
$scope
.
dateFormat
//日期格式,详见 http://bootstrap-datepicker.readthedocs.org/en/release/options.html#format
});
ele1
.
datepicker
(
"setDate"
,
$scope
.
queryParams
.
certificationDateStart
);
//认证结束时间
var
ele2
=
$
(
"#certificationDateEnd"
);
ele2
.
datepicker
({
startDate
:
$scope
.
startDate
,
endDate
:
$scope
.
endDate
,
language
:
region
,
autoclose
:
true
,
//选中之后自动隐藏日期选择框
clearBtn
:
true
,
//清除按钮
todayBtn
:
false
,
//今日按钮
format
:
$scope
.
dateFormat
//日期格式,详见 http://bootstrap-datepicker.readthedocs.org/en/release/options.html#format
})
ele2
.
datepicker
(
"setDate"
,
$scope
.
queryParams
.
certificationDateEnd
);
//初始化已选择的发票类型和认证结果
$scope
.
InvoiceType
.
selected
=
_
.
find
(
$scope
.
invoiceTypeList
,
function
(
v
)
{
return
v
.
id
==
$scope
.
queryParams
.
invoiceType
;
})
$scope
.
CertificationStatus
.
selected
=
_
.
find
(
$scope
.
cetificationResultList
,
function
(
v
)
{
return
v
.
id
==
$scope
.
queryParams
.
certificationStatus
;
})
};
//发票类型转换
$scope
.
typeToString
=
function
(
strType
)
{
var
type
=
invoiceTypeEnum
.
VATInvoice
;
switch
(
strType
)
{
case
1
:
type
=
invoiceTypeEnum
.
VATInvoice
;
break
;
case
2
:
type
=
invoiceTypeEnum
.
FreightTransport
;
break
;
case
3
:
type
=
invoiceTypeEnum
.
MotorVehicle
;
break
;
case
4
:
type
=
invoiceTypeEnum
.
AgriculturalProduct
;
break
;
default
:
type
=
""
;
}
return
type
;
};
//导出进项发票数据
var
downloadPL
=
function
()
{
vatPreviewService
.
initExportPLStatementData
(
$scope
.
queryParams
).
success
(
function
(
data
,
status
,
headers
)
{
if
(
status
===
204
){
SweetAlert
.
warning
(
"没有数据可以下载"
);
return
;
}
vatExportService
.
exportToExcel
(
data
,
status
,
headers
,
'利润表信息'
);
}).
error
(
function
()
{
SweetAlert
.
error
(
$translate
.
instant
(
'PleaseContactAdministrator'
));
});
};
(
function
initialize
()
{
$log
.
debug
(
'VatPreviewInputInvoiceController.ctor()...'
);
$
(
'#input-invoice-period-picker'
).
focus
(
function
()
{
$
(
'.filter-button'
).
popover
(
"hide"
);
});
//初始化month-picker
$
(
'#input-invoice-period-picker'
).
rangePicker
({
minDate
:
minDate
,
maxDate
:
maxDate
,
setDate
:
setDate
,
months
:
$scope
.
monthList
,
//['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
ConfirmBtnText
:
$translate
.
instant
(
'Confirm'
),
CancelBtnText
:
$translate
.
instant
(
'ButtonCancel'
)
})
.
on
(
'datePicker.done'
,
function
(
e
,
result
)
{
//开始月份
var
startMonth
=
result
[
0
][
1
]
*
100
+
result
[
0
][
0
];
//结束月份
var
endMonth
=
result
[
1
][
1
]
*
100
+
result
[
1
][
0
];
$scope
.
startMonth
=
startMonth
;
$scope
.
endMonth
=
endMonth
;
$scope
.
queryParams
.
periodStart
=
startMonth
;
$scope
.
queryParams
.
periodEnd
=
endMonth
;
loadProfitLossDataFromDB
(
1
);
});
$scope
.
gridOptions
=
{
rowHeight
:
constant
.
UIGrid
.
rowHeight
,
selectionRowHeaderWidth
:
constant
.
UIGrid
.
rowHeight
,
// expandableRowTemplate: '<div ui-grid="row.entity.subGridOptions" style="height:150px;"></div>',
virtualizationThreshold
:
50
,
//默认加载50条数据,避免在数据展示时,只显示前面4条
enableSorting
:
false
,
enableColumnMenus
:
false
,
columnDefs
:
[
{
name
:
$translate
.
instant
(
'ProjectName'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.itemName}}<span></div>'
},
{
name
:
$translate
.
instant
(
'CurrentPeriodAmount'
),
headerCellClass
:
'rightHeader'
,
cellTemplate
:
'<div class="ui-grid-cell-contents" style="text-align: right"><span>{{row.entity.periodAmt | number:2}}<span></div>'
},
{
name
:
$translate
.
instant
(
'ThisYearAccumulatedAmount'
),
headerCellClass
:
'rightHeader'
,
cellTemplate
:
'<div class="ui-grid-cell-contents" style="text-align: right"><span>{{row.entity.ytdAmt | number:2}}</span></div>'
}
]
};
$scope
.
doDataFilter
=
doDataFilter
;
$scope
.
doDataFilterReset
=
doDataFilterReset
;
$scope
.
prepareSummary
=
prepareSummary
;
$scope
.
showPopover
=
showPopover
;
$scope
.
downloadPL
=
downloadPL
;
initPeriods
();
initProfitLossPagination
();
//初始化查询条件-期间范围
$scope
.
queryParams
.
periodStart
=
vatSessionService
.
year
*
100
+
vatSessionService
.
month
;
$scope
.
queryParams
.
periodEnd
=
vatSessionService
.
year
*
100
+
vatSessionService
.
month
;
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
if
(
$rootScope
.
currentLanguage
===
'en-us'
){
$
(
'.periodInput'
)[
0
].
style
.
left
=
"250px"
;
}
else
{
$
(
'.periodInput'
)[
0
].
style
.
left
=
"120px"
;
}
loadProfitLossDataFromDB
(
1
);
})();
}
]);
atms-web/src/main/webapp/app/vat/preview/vat-preview-profit-table/vat-preview-profit-table.html
0 → 100644
View file @
394261e6
<div
class=
"vat-preview-profit-table"
id=
"mainPreviewDiv"
>
<div
class=
"top-area-wrapper"
style=
"margin-top: 30px"
>
<!--<button class="filter-button"
atms-popover ng-mouseenter="prepareSummary()" ng-click="showPopover()"
popover-container="body" popover-auto-hide="true" data-overwrite="true"
use-optimized-placement-algorithm="true"
data-placement="bottom"
data-templateurl="/app/vat/preview/vat-preview-profit-loss/vat-preview-profit-loss-search.html">
<i class="fa fa-filter" aria-hidden="true"></i>
</button>-->
<span
translate=
"ProfitLossTitle"
class=
"text-bold"
></span>
|
<span
class=
"text-bold"
translate=
"InvoiceQJ"
></span>
:
<input
type=
"text"
class=
"form-control input-width-middle periodInput"
style=
"position: relative; top: -30px; left: 130px;"
id=
"input-invoice-period-picker"
/>
<span
ng-click=
"downloadPL()"
style=
"position: relative; top: -61px; left: 95%;"
><i
class=
"fa fa-file-excel-o"
aria-hidden=
"true"
></i>
{{'ExportBtn' | translate}}
</span>
</div>
<div
style=
"margin-bottom: 8px;margin-left: 30px"
>
{{'EnterpriseAccountSetName' | translate}}
<span
class=
"numAmount"
>
{{ledgerName}}
</span>
{{'EnterpriseAccountSetCurrency' | translate}}
<span
class=
"numAmount"
>
{{currencyCode}}
</span>
{{'IsCloseAccount' | translate}}
<span
class=
"numAmount"
>
{{status}}
</span>
{{'ImportTime' | translate}}
<span
class=
"numAmount"
>
{{importDate| date:'yyyy-MM-dd hh:mm:ss'}}
</span>
</div>
<div
id=
"filterCriteriaDiv"
style=
"max-width:98%;margin-bottom:2px;"
ng-show=
"criteriaList.length>0"
>
<span
class=
"text-bold margin-left20"
translate=
"FilterCriteriaTags"
></span>
:
<span
class=
"tag label label-default"
ng-repeat=
"criteria in criteriaListFirstRow"
>
<span
title=
"{{criteria.fullName}}"
>
{{criteria.name}}
</span>
<a><i
class=
"remove glyphicon glyphicon-remove-sign glyphicon-white"
ng-click=
"doDataFilter(criteria.propertyName)"
></i></a>
</span>
<span
ng-if=
"criteriaList.length>6"
><br
/></span>
<span
ng-if=
"criteriaList.length>6"
style=
"margin-left: 81px; margin-top: 19px; display: inline-block;"
></span>
<span
ng-if=
"criteriaList.length>6"
class=
"tag label label-default"
ng-repeat=
"criteria in criteriaListSecondRow"
>
<span
title=
"{{criteria.fullName}}"
>
{{criteria.name}}
</span>
<a><i
class=
"remove glyphicon glyphicon-remove-sign glyphicon-white"
ng-click=
"doDataFilter(criteria.propertyName)"
></i></a>
</span>
</div>
<div
id=
"mainAreaDiv"
class=
"main-area"
>
<div
class=
"inputInvoiceGrid"
ui-grid=
"gridOptions"
>
<div
class=
"watermark"
ng-show=
"!gridOptions.data.length"
><span
translate=
"NoDataAvailable"
></span></div>
</div>
<div
class=
"pagination-container"
>
<span>
本页{{curPageItemCount}}条记录,共{{queryProfitLossResult.pageInfo.total}}条记录
</span>
<div
id=
"totalInvoicePage"
class=
"common-pagination"
style=
"display:none;"
>
</div>
</div>
</div>
</div>
atms-web/src/main/webapp/app/vat/preview/vat-preview-profit-table/vat-preview-profit-table.js
0 → 100644
View file @
394261e6
vatModule
.
directive
(
'vatPreviewProfitTable'
,
[
'$log'
,
'browserService'
,
'$translate'
,
'region'
,
'$timeout'
,
function
(
$log
,
browserService
,
$translate
,
region
,
$timeout
)
{
$log
.
debug
(
'vatPreviewProfitTable.ctor()...'
);
return
{
restrict
:
'E'
,
templateUrl
:
'/app/vat/preview/vat-preview-profit-table/vat-preview-profit-table.html'
+
'?_='
+
Math
.
random
(),
scope
:
{},
controller
:
'VatPreviewProfitTableController'
,
link
:
function
(
$scope
,
element
)
{
}
}
}
]);
\ No newline at end of file
atms-web/src/main/webapp/app/vat/preview/vat-preview-profit-table/vat-preview-profit-table.less
0 → 100644
View file @
394261e6
@import "~/app-resources/less/theme.less";
.vat-preview-profit-table {
background-color: white;
height: 100%;
.numAmount {
padding: 0 3px;
height: 21px;
margin-left: 5px;
/* font-family: 'Arial'; */
font-weight: 600;
border-radius: 2px;
font-style: normal;
outline: none;
border: none;
min-width: 20px;
background-color: #DDDDDD;
color: #AA0000;
}
.top-area-wrapper {
height: 45px;
width: 98%;
margin: 0 20px;
.filter-button {
width: 30px;
margin-top: 16px;
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
span {
cursor: pointer;
}
}
}
.filter-popup-wrapper {
display: none;
}
.margin-left20 {
margin-left: 20px;
}
/*******************************************/
/*Filter Criteria tags:*/
.tag {
font-size: 12px;
padding: .3em .4em .4em;
margin: 0 .1em;
a {
color: #bbb;
cursor: pointer;
opacity: 0.6;
margin: 0 0 0 .3em;
&:hover {
opacity: 1.0;
}
.glyphicon-white {
color: #fff;
margin-bottom: 2px;
}
}
.remove {
vertical-align: bottom;
top: 0;
}
}
/*Filter Criteria tags:*/
/*******************************************/
.main-area {
height: 100%;
margin: 0 20px;
.watermark {
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: .25;
font-size: 3em;
width: 100%;
text-align: center;
z-index: 1000;
}
.inputInvoiceGrid {
width: 100%;
height: calc(~'100% - 158px');
.ui-grid-header-cell-wrapper .ui-grid-header-cell-row .ui-grid-cell-contents {
height: 40px;
i {
display: none;
}
}
}
}
.form-control {
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-middle {
width: 217px;
}
}
.rightHeader{
text-align: right;
}
.popover {
min-width: 370px;
left: 119px !important;
.arrow {
left: 5% !important;
}
}
.popover-content {
td {
text-align: right;
padding: 6px;
span {
float: left;
}
}
.form-control {
display: inline-block;
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-small {
width: 100px;
}
.input-width-middle {
width: 217px;
}
}
atms-web/src/main/webapp/app/vat/preview/vat-preview-the-balance-sheet/vat-preview-the-balance-sheet-search.html
0 → 100644
View file @
394261e6
<div
class=
"popover"
>
<div
class=
"arrow"
></div>
<div
class=
"popover-content"
>
<div>
<table
class=
"table table-responsive"
>
<tr>
<td>
<span
translate=
"InvoiceRZRQQuery"
></span>
<input
class=
"form-control input-width-small"
id=
"certificationDateStart"
ng-model=
"queryParams.certificationDateStart"
/>
-
<input
class=
"form-control input-width-small"
id=
"certificationDateEnd"
ng-model=
"queryParams.certificationDateEnd"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceFPDMQuery"
></span>
<input
class=
"form-control input-width-middle"
type=
"text"
id=
"invoiceCode"
ng-model=
"queryParams.invoiceCode"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceFPHMQuery"
></span>
<input
class=
"form-control input-width-middle"
type=
"text"
id=
"invoiceNumber"
ng-model=
"queryParams.invoiceNumber"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceGHFSHQuery"
></span>
<input
class=
"form-control input-width-middle"
type=
"text"
id=
"sellerTaxNumber"
ng-model=
"queryParams.sellerTaxNumber"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceJEQuery"
></span>
<input
class=
"form-control input-width-small"
type=
"text"
id=
"amountStart"
ng-model=
"queryParams.amountStart"
onkeyup=
"PWC.inputNumberFormat(this);"
/>
-
<input
class=
"form-control input-width-small"
type=
"text"
id=
"amountEnd"
ng-model=
"queryParams.amountEnd"
onkeyup=
"PWC.inputNumberFormat(this);"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceSEQuery"
></span>
<input
class=
"form-control input-width-small"
type=
"text"
id=
"taxAmountStart"
ng-model=
"queryParams.taxAmountStart"
onkeyup=
"PWC.inputNumberFormat(this);"
/>
-
<input
class=
"form-control input-width-small"
type=
"text"
id=
"taxAmountEnd"
ng-model=
"queryParams.taxAmountEnd"
onkeyup=
"PWC.inputNumberFormat(this);"
/>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceFPLXQuery"
></span>
<div
class=
"ui-select-has-border input-width-middle"
>
<ui-select
ng-model=
"InvoiceType.selected"
search-enabled=
"false"
style=
"text-align:left;"
class=
"input-width-middle"
>
<ui-select-match>
{{$select.selected.name}}
</ui-select-match>
<ui-select-choices
repeat=
"item in invoiceTypeList | propsFilter: {name: $select.search}"
>
<div
title=
"{{item.name}}"
ng-bind-html=
"item.name"
></div>
</ui-select-choices>
</ui-select>
</div>
</td>
</tr>
<tr>
<td>
<span
translate=
"InvoiceRZJGQuery"
></span>
<div
class=
"ui-select-has-border input-width-middle"
>
<ui-select
ng-model=
"CertificationStatus.selected"
search-enabled=
"false"
style=
"text-align: left; "
class=
"input-width-middle"
>
<ui-select-match>
{{$select.selected.name}}
</ui-select-match>
<ui-select-choices
repeat=
"item in cetificationResultList | propsFilter: {name: $select.search}"
>
<div
title=
"{{item.name}}"
ng-bind-html=
"item.name"
></div>
</ui-select-choices>
</ui-select>
</div>
</td>
</tr>
</table>
</div>
<div
class=
"row"
>
<div
style=
"float:right;margin-right:10px;"
>
<button
class=
"btn btn-default btn-primary"
ng-click=
"doDataFilter('')"
>
<span
class=
"fa fa-chevron-down"
aria-hidden=
"true"
>
</span>
<span
translate=
"Confirm"
></span>
</button>
<button
class=
"btn btn-default margin-right10"
ng-click=
"doDataFilterReset()"
>
<span
class=
"fa fa-times"
aria-hidden=
"true"
>
</span>
<span
translate=
"Reset"
></span>
</button>
</div>
</div>
</div>
</div>
atms-web/src/main/webapp/app/vat/preview/vat-preview-the-balance-sheet/vat-preview-the-balance-sheet.ctrl.js
0 → 100644
View file @
394261e6
vatModule
.
controller
(
'VatPreviewTheBalanceSheetController'
,
[
'$rootScope'
,
'$scope'
,
'$log'
,
'$filter'
,
'$translate'
,
'$timeout'
,
'SweetAlert'
,
'$q'
,
'uiGridConstants'
,
'$interval'
,
'vatPreviewService'
,
'browserService'
,
'vatSessionService'
,
'region'
,
'enums'
,
'vatExportService'
,
function
(
$rootScope
,
$scope
,
$log
,
$filter
,
$translate
,
$timeout
,
SweetAlert
,
$q
,
uiGridConstants
,
$interval
,
vatPreviewService
,
browserService
,
vatSessionService
,
region
,
enums
,
vatExportService
)
{
'use strict'
;
$scope
.
startDate
=
new
Date
(
vatSessionService
.
project
.
year
,
0
,
1
);
$scope
.
endDate
=
new
Date
(
vatSessionService
.
project
.
year
,
11
,
31
);
$scope
.
dateFormat
=
$translate
.
instant
(
'dateFormat4YearMonthDay'
);
$scope
.
startMonth
=
vatSessionService
.
month
;
$scope
.
endMonth
=
vatSessionService
.
month
;
$scope
.
totalMoneyAmount
=
0
;
$scope
.
totalTaxAmount
=
0
;
$scope
.
pageSize
=
constant
.
vatPagesize
;
var
minDate
=
[
1
,
vatSessionService
.
project
.
year
];
// var minDate = moment().startOf('month').subtract(0, 'months');
var
maxDate
=
[
12
,
vatSessionService
.
project
.
year
];
var
setDate
=
[
[
vatSessionService
.
month
,
vatSessionService
.
project
.
year
],
[
vatSessionService
.
month
,
vatSessionService
.
project
.
year
]];
//发票类型
var
invoiceTypeEnum
=
{
VATInvoice
:
$translate
.
instant
(
'VATInvoice'
),
FreightTransport
:
$translate
.
instant
(
'FreightTransport'
),
MotorVehicle
:
$translate
.
instant
(
'MotorVehicle'
),
AgriculturalProduct
:
$translate
.
instant
(
'AgriculturalProduct'
)
};
$scope
.
monthList
=
[
$translate
.
instant
(
'Month01'
),
$translate
.
instant
(
'Month02'
),
$translate
.
instant
(
'Month03'
),
$translate
.
instant
(
'Month04'
),
$translate
.
instant
(
'Month05'
),
$translate
.
instant
(
'Month06'
),
$translate
.
instant
(
'Month07'
),
$translate
.
instant
(
'Month08'
),
$translate
.
instant
(
'Month09'
),
$translate
.
instant
(
'Month10'
),
$translate
.
instant
(
'Month11'
),
$translate
.
instant
(
'Month12'
)
];
//认证结果
$scope
.
cetificationResultList
=
[
{
id
:
999
,
name
:
$translate
.
instant
(
'AllTheItems'
)
},
{
id
:
1
,
name
:
$translate
.
instant
(
'CertificationPass'
)
},
{
id
:
2
,
name
:
$translate
.
instant
(
'CertificationNotPass'
)
}
];
//发票类型
$scope
.
invoiceTypeList
=
[
{
id
:
999
,
name
:
$translate
.
instant
(
'AllTheItems'
)
},
{
id
:
enums
.
invoiceType
.
VATInvoice
,
name
:
$translate
.
instant
(
'VATInvoice'
)
},
{
id
:
enums
.
invoiceType
.
FreightTransport
,
name
:
$translate
.
instant
(
'FreightTransport'
)
},
{
id
:
enums
.
invoiceType
.
MotorVehicle
,
name
:
$translate
.
instant
(
'MotorVehicle'
)
},
{
id
:
enums
.
invoiceType
.
AgriculturalProduct
,
name
:
$translate
.
instant
(
'AgriculturalProduct'
)
}
];
$scope
.
InvoiceType
=
{};
$scope
.
CertificationStatus
=
{};
//初始化期间
var
initPeriods
=
function
()
{
var
curMonth
=
new
Date
().
getMonth
()
+
1
;
$scope
.
queryParams
=
{
pageInfo
:
{},
periodStart
:
''
,
periodEnd
:
''
,
orgId
:
''
};
};
//从数据库中load数据
var
loadBalanceSheetDataFromDB
=
function
(
pageIndex
)
{
initBalanceSheetPagination
();
$scope
.
curBalanceSheetPage
=
pageIndex
;
//初始化查询信息
$scope
.
queryParams
.
pageInfo
=
{
totalCount
:
$scope
.
queryBalanceSheetResult
.
pageInfo
.
totalCount
,
pageIndex
:
pageIndex
,
pageSize
:
$scope
.
queryBalanceSheetResult
.
pageInfo
.
pageSize
,
totalPage
:
0
};
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
$scope
.
getDataFromDatabase
(
$scope
.
queryParams
);
};
$scope
.
getDataFromDatabase
=
function
(
queryParams
){
vatPreviewService
.
getBalanceSheetDataForDisplay
(
queryParams
).
success
(
function
(
data
)
{
if
(
data
)
{
// minDate = data.
var
index
=
1
;
data
.
list
.
forEach
(
function
(
v
)
{
v
.
index
=
index
++
;
});
$scope
.
gridOptions
.
data
=
data
.
list
;
$scope
.
queryBalanceSheetResult
.
pageInfo
=
data
;
computeBalanceSheetPage
();
$scope
.
ledgerName
=
data
.
list
[
0
].
ledgerName
;
$scope
.
currencyCode
=
data
.
list
[
0
].
ledgerCurrencyCode
;
$scope
.
status
=
data
.
list
[
0
].
status
;
$scope
.
importDate
=
$filter
(
'date'
)(
data
.
list
[
0
].
date
,
"yyyy-MM-dd hh:mm:ss"
);
}
});
};
//点击任意一页加载数据事件
var
loadIncomeInvoiceDataByPage
=
function
(
pageIndex
)
{
loadBalanceSheetDataFromDB
(
pageIndex
);
};
//计算页数,创建分页栏
var
computeBalanceSheetPage
=
function
()
{
if
(
$scope
.
queryBalanceSheetResult
.
pageInfo
&&
$scope
.
queryBalanceSheetResult
.
pageInfo
.
total
>
0
)
{
var
totalPage
=
parseInt
(
$scope
.
queryBalanceSheetResult
.
pageInfo
.
total
/
$scope
.
pageSize
);
totalPage
=
$scope
.
queryBalanceSheetResult
.
pageInfo
.
totalCount
%
$scope
.
pageSize
==
0
?
totalPage
:
totalPage
+
1
;
//计算本页记录数
if
(
$scope
.
queryBalanceSheetResult
.
pageInfo
.
pageNum
===
totalPage
)
{
$scope
.
curPageItemCount
=
$scope
.
queryBalanceSheetResult
.
pageInfo
.
total
%
$scope
.
pageSize
;
}
else
{
$scope
.
curPageItemCount
=
$scope
.
pageSize
;
}
$scope
.
queryBalanceSheetResult
.
pageInfo
.
totalPage
=
totalPage
;
var
createPage
=
$
(
"#totalInvoicePage"
).
createPage
({
pageCount
:
totalPage
,
current
:
$scope
.
curBalanceSheetPage
,
backFn
:
function
(
p
)
{
//单击回调方法,p是当前页码
loadIncomeInvoiceDataByPage
(
p
);
}
});
$
(
'#totalInvoicePage'
).
css
(
'display'
,
'inline-block'
);
}
else
{
//如果查询结果为0,则直接设置本页记录数为0
$scope
.
curPageItemCount
=
0
;
var
createPage
=
$
(
"#totalInvoicePage"
).
createPage
({
pageCount
:
0
,
current
:
$scope
.
curBalanceSheetPage
,
backFn
:
function
(
p
)
{
//单击回调方法,p是当前页码
loadIncomeInvoiceDataByPage
(
p
);
}
});
$
(
'#totalInvoicePage'
).
css
(
'display'
,
'inline-block'
);
}
};
//初始化分页信息
var
initBalanceSheetPagination
=
function
()
{
$scope
.
queryBalanceSheetResult
=
{
list
:
[],
pageInfo
:
{
totalCount
:
-
1
,
pageIndex
:
1
,
pageSize
:
constant
.
pagesize
,
totalPage
:
0
,
}
}
$scope
.
curBalanceSheetPage
=
1
;
};
//将选择了的查询条件显示在grid上方
var
doDataFilter
=
function
(
removeData
)
{
if
(
$scope
.
queryParams
.
periodStart
>
$scope
.
queryParams
.
periodEnd
)
{
$scope
.
queryParams
.
periodEnd
=
$scope
.
queryParams
.
periodStart
;
}
//设置需要去掉的查询条件的值为空
if
(
!
PWC
.
isNullOrEmpty
(
removeData
))
{
var
removeItem
=
removeData
.
split
(
"|"
);
removeItem
.
forEach
(
function
(
v
)
{
$scope
.
queryParams
[
v
]
=
null
;
//如果去掉了发票代码的查询条件,则将查询条件设置为'',因为是字符串,设置为null会导致查询结果错误
if
(
$scope
.
queryParams
.
invoiceCode
===
null
)
{
$scope
.
queryParams
.
invoiceCode
=
''
;
}
//如果去掉了发票号码的查询条件,则将查询条件设置为'',因为是字符串,设置为null会导致查询结果错误
if
(
$scope
.
queryParams
.
invoiceNumber
===
null
)
{
$scope
.
queryParams
.
invoiceNumber
=
''
;
}
//如果去掉了供货方税号的查询条件,则将查询条件设置为'',因为是字符串,设置为null会导致查询结果错误
if
(
$scope
.
queryParams
.
sellerTaxNumber
===
null
)
{
$scope
.
queryParams
.
sellerTaxNumber
=
''
;
}
if
(
$scope
.
queryParams
.
invoiceType
===
null
)
{
$scope
.
InvoiceType
.
selected
=
undefined
;
}
if
(
$scope
.
queryParams
.
certificationStatus
===
null
)
{
$scope
.
CertificationStatus
.
selected
=
undefined
;
}
});
}
//设置发票类型和认证结果
if
(
$scope
.
InvoiceType
.
selected
!==
undefined
)
$scope
.
queryParams
.
invoiceType
=
$scope
.
InvoiceType
.
selected
.
id
;
else
$scope
.
queryParams
.
invoiceType
=
null
;
if
(
$scope
.
CertificationStatus
.
selected
!==
undefined
)
$scope
.
queryParams
.
certificationStatus
=
$scope
.
CertificationStatus
.
selected
.
id
;
else
$scope
.
queryParams
.
certificationStatus
=
null
;
// 将查询条件加入到grid上方
var
crits
=
$scope
.
queryParams
;
//定义查询条件数组用于存放已选的查询条件
$scope
.
criteriaList
=
[];
var
crit
=
[];
//认证日期
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateEnd
))
{
if
(
new
Date
(
crits
.
certificationDateStart
.
replace
(
/
[\.
-
]
/g
,
'/'
))
>
new
Date
(
crits
.
certificationDateEnd
.
replace
(
/
[\.
-
]
/g
,
'/'
)))
{
$scope
.
criteriaList
=
[];
SweetAlert
.
warning
(
$translate
.
instant
(
'InvoiceDateQueryError'
));
return
;
}
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
"-"
+
crits
.
certificationDateEnd
;;
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
"-"
+
crits
.
certificationDateEnd
;
crit
.
valueFrom
=
crits
.
certificationDateStart
;
crit
.
valueTo
=
crits
.
certificationDateEnd
;
crit
.
propertyName
=
"certificationDateStart|certificationDateEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateStart
)
&&
PWC
.
isNullOrEmpty
(
crits
.
invoiceDateEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
$translate
.
instant
(
'After'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateStart
+
$translate
.
instant
(
'After'
);
crit
.
valueFrom
=
crits
.
certificationDateStart
;
crit
.
valueTo
=
crits
.
certificationDateEnd
;
crit
.
propertyName
=
"certificationDateStart|certificationDateEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
PWC
.
isNullOrEmpty
(
crits
.
certificationDateStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
certificationDateEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateEnd
+
$translate
.
instant
(
'Before'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZRQQuery'
)
+
crits
.
certificationDateEnd
+
$translate
.
instant
(
'Before'
);
crit
.
valueFrom
=
crits
.
certificationDateStart
;
crit
.
valueTo
=
crits
.
certificationDateEnd
;
crit
.
propertyName
=
"certificationDateStart|certificationDateEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//发票代码
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
invoiceCode
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceFPDMQuery'
)
+
PWC
.
limitString
(
crits
.
invoiceCode
,
10
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceFPDMQuery'
)
+
crits
.
invoiceCode
;
crit
.
valueFrom
=
crits
.
invoiceCode
;
crit
.
propertyName
=
"invoiceCode"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//发票号码
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
invoiceNumber
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceFPHMQuery'
)
+
PWC
.
limitString
(
crits
.
invoiceNumber
,
10
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceFPHMQuery'
)
+
crits
.
invoiceNumber
;
crit
.
valueFrom
=
crits
.
invoiceNumber
;
crit
.
propertyName
=
"invoiceNumber"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//销方识别号
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
sellerTaxNumber
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceGHFSHQuery'
)
+
PWC
.
limitString
(
crits
.
sellerTaxNumber
,
10
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceGHFSHQuery'
)
+
crits
.
sellerTaxNumber
;
crit
.
valueFrom
=
crits
.
sellerTaxNumber
;
crit
.
propertyName
=
"sellerTaxNumber"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//金额
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
amountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
amountEnd
))
{
if
(
Number
(
crits
.
amountStart
)
>
Number
(
crits
.
amountEnd
))
{
SweetAlert
.
warning
(
$translate
.
instant
(
'AmountQueryError'
));
return
;
}
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
PWC
.
limitString
(
crits
.
amountStart
,
5
)
+
' - '
+
PWC
.
limitString
(
crits
.
amountEnd
,
5
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
crits
.
amountStart
+
' - '
+
crits
.
amountEnd
;
crit
.
valueFrom
=
crits
.
amountStart
;
crit
.
valueTo
=
crits
.
amountEnd
;
crit
.
propertyName
=
"amountStart|amountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
amountStart
)
&&
PWC
.
isNullOrEmpty
(
crits
.
amountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
PWC
.
limitString
(
crits
.
amountStart
,
5
)
+
$translate
.
instant
(
'MoreThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
crits
.
amountStart
+
$translate
.
instant
(
'MoreThan'
);
crit
.
valueFrom
=
crits
.
amountStart
;
crit
.
valueTo
=
crits
.
amountEnd
;
crit
.
propertyName
=
"amountStart|amountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
PWC
.
isNullOrEmpty
(
crits
.
amountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
amountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
PWC
.
limitString
(
crits
.
amountEnd
,
5
)
+
$translate
.
instant
(
'LessThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceJEQuery'
)
+
crits
.
amountEnd
+
$translate
.
instant
(
'LessThan'
);
crit
.
valueFrom
=
crits
.
amountStart
;
crit
.
valueTo
=
crits
.
amountEnd
;
crit
.
propertyName
=
"amountStart|amountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//税额
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountEnd
))
{
if
(
Number
(
crits
.
taxAmountStart
)
>
Number
(
crits
.
taxAmountEnd
))
{
SweetAlert
.
warning
(
$translate
.
instant
(
'TaxAmountQueryError'
));
return
;
}
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
PWC
.
limitString
(
crits
.
taxAmountStart
,
5
)
+
' - '
+
PWC
.
limitString
(
crits
.
taxAmountEnd
,
5
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
crits
.
taxAmountStart
+
' - '
+
crits
.
taxAmountEnd
;
crit
.
valueFrom
=
crits
.
taxAmountStart
;
crit
.
valueTo
=
crits
.
taxAmountEnd
;
crit
.
propertyName
=
"taxAmountStart|taxAmountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountStart
)
&&
PWC
.
isNullOrEmpty
(
crits
.
taxAmountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
PWC
.
limitString
(
crits
.
taxAmountStart
,
5
)
+
$translate
.
instant
(
'MoreThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
crits
.
taxAmountStart
+
$translate
.
instant
(
'MoreThan'
);
crit
.
valueFrom
=
crits
.
taxAmountStart
;
crit
.
valueTo
=
crits
.
taxAmountEnd
;
crit
.
propertyName
=
"taxAmountStart|taxAmountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
else
if
(
PWC
.
isNullOrEmpty
(
crits
.
taxAmountStart
)
&&
!
PWC
.
isNullOrEmpty
(
crits
.
taxAmountEnd
))
{
crit
=
new
Object
;
crit
.
name
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
PWC
.
limitString
(
crits
.
taxAmountEnd
,
5
)
+
$translate
.
instant
(
'LessThan'
);
crit
.
fullName
=
$translate
.
instant
(
'InvoiceSEQuery'
)
+
crits
.
taxAmountEnd
+
$translate
.
instant
(
'LessThan'
);
crit
.
valueFrom
=
crits
.
taxAmountStart
;
crit
.
valueTo
=
crits
.
taxAmountEnd
;
crit
.
propertyName
=
"taxAmountStart|taxAmountEnd"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//发票类型
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
invoiceType
))
{
crit
=
new
Object
;
crit
.
valueFrom
=
_
.
find
(
$scope
.
invoiceTypeList
,
function
(
v
)
{
return
v
.
id
===
crits
.
invoiceType
;
}).
name
;
crit
.
name
=
$translate
.
instant
(
'InvoiceFPLXQuery'
)
+
crit
.
valueFrom
;
crit
.
fullName
=
$translate
.
instant
(
'InvoiceFPLXQuery'
)
+
crit
.
valueFrom
;
crit
.
propertyName
=
"invoiceType"
;
$scope
.
criteriaList
.
push
(
crit
);
}
//认证结果
if
(
!
PWC
.
isNullOrEmpty
(
crits
.
certificationStatus
))
{
crit
=
new
Object
;
crit
.
valueFrom
=
_
.
find
(
$scope
.
cetificationResultList
,
function
(
v
)
{
return
v
.
id
===
crits
.
certificationStatus
;
}).
name
;
crit
.
name
=
$translate
.
instant
(
'InvoiceRZJGQuery'
)
+
crit
.
valueFrom
;
crit
.
fullName
=
$translate
.
instant
(
'InvoiceRZJGQuery'
)
+
crit
.
valueFrom
;
crit
.
propertyName
=
"certificationStatus"
;
$scope
.
criteriaList
.
push
(
crit
);
}
// add to Criteria List for display on top of the grid:
//********************************************************************************
var
criteria
=
JSON
.
stringify
(
$scope
.
queryParams
);
if
(
browserService
.
isIE
()
||
browserService
.
isEdge
())
criteria
=
encodeURIComponent
(
criteria
);
// countTotal();
loadBalanceSheetDataFromDB
(
1
);
if
(
$scope
.
criteriaList
.
length
>
6
)
{
$scope
.
criteriaListFirstRow
=
$scope
.
criteriaList
.
slice
(
0
,
6
);
$scope
.
criteriaListSecondRow
=
$scope
.
criteriaList
.
slice
(
6
,
$scope
.
criteriaList
.
length
);
}
else
{
$scope
.
criteriaListFirstRow
=
$scope
.
criteriaList
.
slice
(
0
,
$scope
.
criteriaList
.
length
);
}
$
(
'.filter-button'
).
popover
(
"hide"
);
};
//去掉所有的查询条件,重新load数据
var
doDataFilterReset
=
function
()
{
$scope
.
queryParams
=
{
pageInfo
:
{},
periodStart
:
''
,
periodEnd
:
''
,
certificationDateStart
:
null
,
certificationDateEnd
:
null
,
invoiceCode
:
''
,
invoiceNumber
:
''
,
sellerTaxNumber
:
''
,
amountStart
:
null
,
amountEnd
:
null
,
invoiceType
:
null
,
taxAmountStart
:
null
,
taxAmountEnd
:
null
,
certificationStatus
:
null
};
$scope
.
criteriaList
=
[];
$scope
.
queryParams
.
periodStart
=
$scope
.
startMonth
;
$scope
.
queryParams
.
periodEnd
=
$scope
.
endMonth
;
loadBalanceSheetDataFromDB
(
1
);
$
(
'.filter-button'
).
popover
(
"hide"
);
};
var
prepareSummary
=
function
()
{
// do something before show popover
};
//在popover打开时执行事件
var
showPopover
=
function
()
{
$timeout
(
function
()
{
initDatePickers
();
},
500
);
};
//初始化时间控件
var
initDatePickers
=
function
()
{
//认证开始时间
var
ele1
=
$
(
"#certificationDateStart"
);
ele1
.
datepicker
({
startDate
:
$scope
.
startDate
,
endDate
:
$scope
.
endDate
,
language
:
region
,
autoclose
:
true
,
//选中之后自动隐藏日期选择框
clearBtn
:
true
,
//清除按钮
todayBtn
:
false
,
//今日按钮
format
:
$scope
.
dateFormat
//日期格式,详见 http://bootstrap-datepicker.readthedocs.org/en/release/options.html#format
});
ele1
.
datepicker
(
"setDate"
,
$scope
.
queryParams
.
certificationDateStart
);
//认证结束时间
var
ele2
=
$
(
"#certificationDateEnd"
);
ele2
.
datepicker
({
startDate
:
$scope
.
startDate
,
endDate
:
$scope
.
endDate
,
language
:
region
,
autoclose
:
true
,
//选中之后自动隐藏日期选择框
clearBtn
:
true
,
//清除按钮
todayBtn
:
false
,
//今日按钮
format
:
$scope
.
dateFormat
//日期格式,详见 http://bootstrap-datepicker.readthedocs.org/en/release/options.html#format
})
ele2
.
datepicker
(
"setDate"
,
$scope
.
queryParams
.
certificationDateEnd
);
//初始化已选择的发票类型和认证结果
$scope
.
InvoiceType
.
selected
=
_
.
find
(
$scope
.
invoiceTypeList
,
function
(
v
)
{
return
v
.
id
==
$scope
.
queryParams
.
invoiceType
;
})
$scope
.
CertificationStatus
.
selected
=
_
.
find
(
$scope
.
cetificationResultList
,
function
(
v
)
{
return
v
.
id
==
$scope
.
queryParams
.
certificationStatus
;
})
};
//导出进项发票数据
var
downloadBS
=
function
()
{
vatPreviewService
.
initExportBalanceSheetData
(
$scope
.
queryParams
).
success
(
function
(
data
,
status
,
headers
)
{
if
(
status
===
204
){
SweetAlert
.
warning
(
"没有数据可以下载"
);
return
;
}
vatExportService
.
exportToExcel
(
data
,
status
,
headers
,
'资产负债表信息'
);
}).
error
(
function
()
{
SweetAlert
.
error
(
$translate
.
instant
(
'PleaseContactAdministrator'
));
});
};
(
function
initialize
()
{
$log
.
debug
(
'VatPreviewInputInvoiceController.ctor()...'
);
$
(
'#input-invoice-period-picker'
).
focus
(
function
()
{
$
(
'.filter-button'
).
popover
(
"hide"
);
});
//初始化month-picker
$
(
'#input-invoice-period-picker'
).
rangePicker
({
minDate
:
minDate
,
maxDate
:
maxDate
,
setDate
:
setDate
,
months
:
$scope
.
monthList
,
//['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
ConfirmBtnText
:
$translate
.
instant
(
'Confirm'
),
CancelBtnText
:
$translate
.
instant
(
'ButtonCancel'
)
})
.
on
(
'datePicker.done'
,
function
(
e
,
result
)
{
//开始月份
var
startMonth
=
result
[
0
][
1
]
*
100
+
result
[
0
][
0
];
//结束月份
var
endMonth
=
result
[
1
][
1
]
*
100
+
result
[
1
][
0
];
$scope
.
startMonth
=
startMonth
;
$scope
.
endMonth
=
endMonth
;
$scope
.
queryParams
.
periodStart
=
startMonth
;
$scope
.
queryParams
.
periodEnd
=
endMonth
;
loadBalanceSheetDataFromDB
(
1
);
});
$scope
.
gridOptions
=
{
rowHeight
:
constant
.
UIGrid
.
rowHeight
,
selectionRowHeaderWidth
:
constant
.
UIGrid
.
rowHeight
,
// expandableRowTemplate: '<div ui-grid="row.entity.subGridOptions" style="height:150px;"></div>',
virtualizationThreshold
:
50
,
//默认加载50条数据,避免在数据展示时,只显示前面4条
enableSorting
:
false
,
enableColumnMenus
:
false
,
enableHorizontalScrollbar
:
1
,
columnDefs
:
[
{
name
:
$translate
.
instant
(
'ProjectName'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.itemName}}<span></div>'
},
{
name
:
$translate
.
instant
(
'EndingBalance'
),
headerCellClass
:
'rightHeader'
,
cellTemplate
:
'<div class="ui-grid-cell-contents" style="text-align: right"><span>{{row.entity.endBal | number:2}}<span></div>'
},
{
name
:
$translate
.
instant
(
'InitialBalance'
),
headerCellClass
:
'rightHeader'
,
cellTemplate
:
'<div class="ui-grid-cell-contents" style="text-align: right"><span>{{row.entity.begBal | number:2}}</span></div>'
}
]
};
$scope
.
doDataFilter
=
doDataFilter
;
$scope
.
doDataFilterReset
=
doDataFilterReset
;
$scope
.
prepareSummary
=
prepareSummary
;
$scope
.
showPopover
=
showPopover
;
$scope
.
downloadBS
=
downloadBS
;
initPeriods
();
initBalanceSheetPagination
();
//初始化查询条件-期间范围
$scope
.
queryParams
.
periodStart
=
vatSessionService
.
year
*
100
+
vatSessionService
.
month
;
$scope
.
queryParams
.
periodEnd
=
vatSessionService
.
year
*
100
+
vatSessionService
.
month
;
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
if
(
$rootScope
.
currentLanguage
===
'en-us'
){
$
(
'.periodInput'
)[
0
].
style
.
left
=
"260px"
;
}
else
{
$
(
'.periodInput'
)[
0
].
style
.
left
=
"150px"
;
}
loadBalanceSheetDataFromDB
(
1
);
})();
}
]);
atms-web/src/main/webapp/app/vat/preview/vat-preview-the-balance-sheet/vat-preview-the-balance-sheet.html
0 → 100644
View file @
394261e6
<div
class=
"vat-preview-the-balance-sheet"
id=
"mainPreviewDiv"
>
<div
class=
"top-area-wrapper"
style=
"margin-top: 30px"
>
<!--<button class="filter-button"
atms-popover ng-mouseenter="prepareSummary()" ng-click="showPopover()"
popover-container="body" popover-auto-hide="true" data-overwrite="true"
use-optimized-placement-algorithm="true"
data-placement="bottom"
data-templateurl="/app/vat/preview/vat-preview-off-balance-sheet/vat-preview-off-balance-sheet-search.html">
<i class="fa fa-filter" aria-hidden="true"></i>
</button>-->
<span
translate=
"OffBalanceSheetTitle"
class=
"text-bold"
></span>
|
<span
class=
"text-bold"
translate=
"InvoiceQJ"
></span>
:
<input
type=
"text"
class=
"form-control input-width-middle periodInput"
style=
"position: relative; top: -30px; left: 180px;"
id=
"input-invoice-period-picker"
/>
<span
ng-click=
"downloadBS()"
style=
"position: relative; top: -61px; left: 95%;"
><i
class=
"fa fa-file-excel-o"
aria-hidden=
"true"
></i>
{{'ExportBtn' | translate}}
</span>
</div>
<div
style=
"margin-bottom: 8px;margin-left: 30px"
>
{{'EnterpriseAccountSetName' | translate}}
<span
class=
"numAmount"
>
{{ledgerName}}
</span>
{{'EnterpriseAccountSetCurrency' | translate}}
<span
class=
"numAmount"
>
{{currencyCode}}
</span>
{{'IsCloseAccount' | translate}}
<span
class=
"numAmount"
>
{{status}}
</span>
{{'ImportTime' | translate}}
<span
class=
"numAmount"
>
{{importDate| date:'yyyy-MM-dd hh:mm:ss'}}
</span>
</div>
<div
id=
"filterCriteriaDiv"
style=
"max-width:98%;margin-bottom:2px;"
ng-show=
"criteriaList.length>0"
>
<span
class=
"text-bold margin-left20"
translate=
"FilterCriteriaTags"
></span>
:
<span
class=
"tag label label-default"
ng-repeat=
"criteria in criteriaListFirstRow"
>
<span
title=
"{{criteria.fullName}}"
>
{{criteria.name}}
</span>
<a><i
class=
"remove glyphicon glyphicon-remove-sign glyphicon-white"
ng-click=
"doDataFilter(criteria.propertyName)"
></i></a>
</span>
<span
ng-if=
"criteriaList.length>6"
><br
/></span>
<span
ng-if=
"criteriaList.length>6"
style=
"margin-left: 81px; margin-top: 19px; display: inline-block;"
></span>
<span
ng-if=
"criteriaList.length>6"
class=
"tag label label-default"
ng-repeat=
"criteria in criteriaListSecondRow"
>
<span
title=
"{{criteria.fullName}}"
>
{{criteria.name}}
</span>
<a><i
class=
"remove glyphicon glyphicon-remove-sign glyphicon-white"
ng-click=
"doDataFilter(criteria.propertyName)"
></i></a>
</span>
</div>
<div
id=
"mainAreaDiv"
class=
"main-area"
>
<div
class=
"inputInvoiceGrid"
ui-grid=
"gridOptions"
>
<div
class=
"watermark"
ng-show=
"!gridOptions.data.length"
><span
translate=
"NoDataAvailable"
></span></div>
</div>
<div
class=
"pagination-container"
>
<span>
本页{{curPageItemCount}}条记录,共{{queryBalanceSheetResult.pageInfo.total}}条记录
</span>
<div
id=
"totalInvoicePage"
class=
"common-pagination"
style=
"display:none;"
>
</div>
</div>
</div>
</div>
atms-web/src/main/webapp/app/vat/preview/vat-preview-the-balance-sheet/vat-preview-the-balance-sheet.js
0 → 100644
View file @
394261e6
vatModule
.
directive
(
'vatPreviewTheBalanceSheet'
,
[
'$log'
,
'browserService'
,
'$translate'
,
'region'
,
'$timeout'
,
function
(
$log
,
browserService
,
$translate
,
region
,
$timeout
)
{
$log
.
debug
(
'vatPreviewTheBalanceSheet.ctor()...'
);
return
{
restrict
:
'E'
,
templateUrl
:
'/app/vat/preview/vat-preview-the-balance-sheet/vat-preview-the-balance-sheet.html'
+
'?_='
+
Math
.
random
(),
scope
:
{},
controller
:
'VatPreviewTheBalanceSheetController'
,
link
:
function
(
$scope
,
element
)
{
}
}
}
]);
\ No newline at end of file
atms-web/src/main/webapp/app/vat/preview/vat-preview-the-balance-sheet/vat-preview-the-balance-sheet.less
0 → 100644
View file @
394261e6
@import "~/app-resources/less/theme.less";
.vat-preview-the-balance-sheet {
background-color: white;
height: 100%;
.numAmount {
padding: 0 3px;
height: 21px;
margin-left: 5px;
/* font-family: 'Arial'; */
font-weight: 600;
border-radius: 2px;
font-style: normal;
outline: none;
border: none;
min-width: 20px;
background-color: #DDDDDD;
color: #AA0000;
}
.top-area-wrapper {
height: 45px;
width: 98%;
margin: 0 20px;
.filter-button {
width: 30px;
margin-top: 16px;
}
.operation-wrapper {
margin: 15px 25px 10px 10px;
span {
cursor: pointer;
}
}
}
.filter-popup-wrapper {
display: none;
}
.margin-left20 {
margin-left: 20px;
}
/*******************************************/
/*Filter Criteria tags:*/
.tag {
font-size: 12px;
padding: .3em .4em .4em;
margin: 0 .1em;
a {
color: #bbb;
cursor: pointer;
opacity: 0.6;
margin: 0 0 0 .3em;
&:hover {
opacity: 1.0;
}
.glyphicon-white {
color: #fff;
margin-bottom: 2px;
}
}
.remove {
vertical-align: bottom;
top: 0;
}
}
/*Filter Criteria tags:*/
/*******************************************/
.main-area {
height: 100%;
margin: 0 20px;
.watermark {
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: .25;
font-size: 3em;
width: 100%;
text-align: center;
z-index: 1000;
}
.inputInvoiceGrid {
width: 100%;
height: calc(~'100% - 158px');
.ui-grid-header-cell-wrapper .ui-grid-header-cell-row .ui-grid-cell-contents {
height: 40px;
i {
display: none;
}
}
}
}
.form-control {
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-middle {
width: 217px;
}
}
.rightHeader{
text-align: right;
}
.popover {
min-width: 370px;
left: 119px !important;
.arrow {
left: 5% !important;
}
}
.popover-content {
td {
text-align: right;
padding: 6px;
span {
float: left;
}
}
.form-control {
display: inline-block;
&:focus {
border-color: transparent;
-webkit-box-shadow: none;
box-shadow: none;
border: 1px solid #ccc;
}
}
.input-width-small {
width: 100px;
}
.input-width-middle {
width: 217px;
}
}
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