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
f668ad7e
Commit
f668ad7e
authored
Feb 28, 2019
by
gary
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、发票资料预览
2、fixbug
parent
0d4a1072
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1207 additions
and
5 deletions
+1207
-5
CountTypeConstant.java
...va/pwc/taxtech/atms/constant/enums/CountTypeConstant.java
+19
-0
CountTypeEnum.java
...n/java/pwc/taxtech/atms/constant/enums/CountTypeEnum.java
+37
-0
DataPreviewController.java
...va/pwc/taxtech/atms/controller/DataPreviewController.java
+6
-0
InvoiceDataParam.java
...in/java/pwc/taxtech/atms/dto/vatdto/InvoiceDataParam.java
+46
-0
InvoiceDataDto.java
...n/java/pwc/taxtech/atms/dto/vatdto/dd/InvoiceDataDto.java
+123
-0
DataPreviewSerivceImpl.java
...pwc/taxtech/atms/service/impl/DataPreviewSerivceImpl.java
+136
-0
InvoiceDataMapper.java
...main/java/pwc/taxtech/atms/vat/dao/InvoiceDataMapper.java
+4
-0
InvoiceDataCondition.java
...n/java/pwc/taxtech/atms/vat/dpo/InvoiceDataCondition.java
+46
-0
InvoiceDataExtendsMapper.xml
...taxtech/atms/vat/dao/extends/InvoiceDataExtendsMapper.xml
+23
-0
module-part1.js
atms-web/src/main/webapp/Scripts/module-part1.js
+17
-0
vat.json
atms-web/src/main/webapp/app-resources/i18n/en-us/vat.json
+40
-1
vat.json
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
+41
-1
constant.js
atms-web/src/main/webapp/app/common/utils/constant.js
+3
-0
vatPreviewService.js
...c/main/webapp/app/common/vatservices/vatPreviewService.js
+4
-0
app-overview.ctrl.js
...in/webapp/app/framework/app-overview/app-overview.ctrl.js
+12
-2
vat-import-layout.ctrl.js
...pp/vat/import/vat-import-layout/vat-import-layout.ctrl.js
+4
-0
vat-preview-coupa-purchasing-report.ctrl.js
...hasing-report/vat-preview-coupa-purchasing-report.ctrl.js
+1
-1
vat-preview-invoice-data-search.html
...preview-invoice-data/vat-preview-invoice-data-search.html
+77
-0
vat-preview-invoice-data.ctrl.js
...vat-preview-invoice-data/vat-preview-invoice-data.ctrl.js
+335
-0
vat-preview-invoice-data.html
...ew/vat-preview-invoice-data/vat-preview-invoice-data.html
+52
-0
vat-preview-invoice-data.js
...view/vat-preview-invoice-data/vat-preview-invoice-data.js
+16
-0
vat-preview-invoice-data.less
...ew/vat-preview-invoice-data/vat-preview-invoice-data.less
+165
-0
No files found.
atms-api/src/main/java/pwc/taxtech/atms/constant/enums/CountTypeConstant.java
0 → 100644
View file @
f668ad7e
package
pwc
.
taxtech
.
atms
.
constant
.
enums
;
/**
* @Auther: Gary J Li
* @Date: 27/02/2019 20:47
* @Description:
*/
public
final
class
CountTypeConstant
{
public
static
final
int
TOTAL
=
1
;
public
static
final
int
SIXTEEN_PERCENT
=
2
;
public
static
final
int
TEN_PERCENT
=
3
;
public
static
final
int
SIX_PERCENT
=
4
;
public
static
final
int
THREE_PERCENT
=
5
;
public
static
final
int
SEVENTEEN_PERCENT
=
6
;
public
static
final
int
ELEVEN_PERCENT
=
7
;
public
static
final
int
FIVE_PERCENT
=
8
;
public
static
final
int
OTHER
=
9
;
}
atms-api/src/main/java/pwc/taxtech/atms/constant/enums/CountTypeEnum.java
0 → 100644
View file @
f668ad7e
package
pwc
.
taxtech
.
atms
.
constant
.
enums
;
/**
* @Auther: Gary J Li
* @Date: 27/02/2019 20:36
* @Description:
*/
public
enum
CountTypeEnum
{
total
(
1
,
"合计"
),
sixteenPercent
(
2
,
"16%"
),
tenPercent
(
3
,
"10%"
),
sixPercent
(
4
,
"6%"
),
threePercent
(
5
,
"3%"
),
seventeenPercent
(
6
,
"17%"
),
elevenPercent
(
7
,
"11%"
),
fivePercent
(
8
,
"5%"
),
other
(
9
,
"其他"
);
private
int
code
;
private
String
type
;
CountTypeEnum
(
int
code
,
String
type
){
this
.
code
=
code
;
this
.
type
=
type
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getType
()
{
return
type
;
}
}
atms-api/src/main/java/pwc/taxtech/atms/controller/DataPreviewController.java
View file @
f668ad7e
...
...
@@ -79,6 +79,12 @@ public class DataPreviewController extends BaseController {
return
dataPreviewSerivceImpl
.
getCILDataForDisplay
(
param
);
}
@PostMapping
(
"getIDDataForDisplay"
)
public
PageInfo
<
InvoiceDataDto
>
getIDDataForDisplay
(
@RequestBody
InvoiceDataParam
param
)
{
logger
.
debug
(
String
.
format
(
"发票资料查询 Condition:%s"
,
JSON
.
toJSONString
(
param
)));
return
dataPreviewSerivceImpl
.
getIDDataForDisplay
(
param
);
}
@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"
);
...
...
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/InvoiceDataParam.java
0 → 100644
View file @
f668ad7e
package
pwc
.
taxtech
.
atms
.
dto
.
vatdto
;
import
pwc.taxtech.atms.dpo.PagingDto
;
public
class
InvoiceDataParam
{
private
PagingDto
pageInfo
;
private
String
orgId
;
private
Integer
periodStart
;
private
Integer
periodEnd
;
public
Integer
getPeriodStart
()
{
return
periodStart
;
}
public
void
setPeriodStart
(
Integer
periodStart
)
{
this
.
periodStart
=
periodStart
;
}
public
Integer
getPeriodEnd
()
{
return
periodEnd
;
}
public
void
setPeriodEnd
(
Integer
periodEnd
)
{
this
.
periodEnd
=
periodEnd
;
}
public
String
getOrgId
()
{
return
this
.
orgId
;
}
public
void
setOrgId
(
String
orgId
)
{
this
.
orgId
=
orgId
;
}
public
PagingDto
getPageInfo
()
{
return
pageInfo
;
}
public
void
setPageInfo
(
PagingDto
pageInfo
)
{
this
.
pageInfo
=
pageInfo
;
}
}
atms-api/src/main/java/pwc/taxtech/atms/dto/vatdto/dd/InvoiceDataDto.java
0 → 100644
View file @
f668ad7e
package
pwc
.
taxtech
.
atms
.
dto
.
vatdto
.
dd
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
*
* This class was generated by MyBatis Generator.
* This class corresponds to the database table invoice_data
*
* @mbg.generated do_not_delete_during_merge
*/
public
class
InvoiceDataDto
implements
Serializable
{
private
String
projectName
;
private
BigDecimal
totalAmount
;
private
BigDecimal
amount1
;
private
BigDecimal
amount2
;
private
BigDecimal
amount3
;
private
BigDecimal
amount4
;
private
BigDecimal
amount5
;
private
BigDecimal
amount6
;
private
BigDecimal
amount7
;
private
BigDecimal
otherAmount
;
public
BigDecimal
getTotalAmount
()
{
return
totalAmount
;
}
public
void
setTotalAmount
(
BigDecimal
totalAmount
)
{
this
.
totalAmount
=
totalAmount
;
}
public
BigDecimal
getAmount1
()
{
return
amount1
;
}
public
void
setAmount1
(
BigDecimal
amount1
)
{
this
.
amount1
=
amount1
;
}
public
BigDecimal
getAmount2
()
{
return
amount2
;
}
public
void
setAmount2
(
BigDecimal
amount2
)
{
this
.
amount2
=
amount2
;
}
public
BigDecimal
getAmount3
()
{
return
amount3
;
}
public
void
setAmount3
(
BigDecimal
amount3
)
{
this
.
amount3
=
amount3
;
}
public
BigDecimal
getAmount4
()
{
return
amount4
;
}
public
void
setAmount4
(
BigDecimal
amount4
)
{
this
.
amount4
=
amount4
;
}
public
BigDecimal
getAmount5
()
{
return
amount5
;
}
public
void
setAmount5
(
BigDecimal
amount5
)
{
this
.
amount5
=
amount5
;
}
public
BigDecimal
getAmount6
()
{
return
amount6
;
}
public
void
setAmount6
(
BigDecimal
amount6
)
{
this
.
amount6
=
amount6
;
}
public
BigDecimal
getAmount7
()
{
return
amount7
;
}
public
void
setAmount7
(
BigDecimal
amount7
)
{
this
.
amount7
=
amount7
;
}
public
BigDecimal
getOtherAmount
()
{
return
otherAmount
;
}
public
void
setOtherAmount
(
BigDecimal
otherAmount
)
{
this
.
otherAmount
=
otherAmount
;
}
public
String
getProjectName
()
{
return
projectName
;
}
public
void
setProjectName
(
String
projectName
)
{
this
.
projectName
=
projectName
;
}
public
InvoiceDataDto
(){
}
public
InvoiceDataDto
(
String
projectName
){
this
.
projectName
=
projectName
;
}
}
\ No newline at end of file
atms-api/src/main/java/pwc/taxtech/atms/service/impl/DataPreviewSerivceImpl.java
View file @
f668ad7e
...
...
@@ -5,6 +5,8 @@ import com.github.pagehelper.PageHelper;
import
com.github.pagehelper.PageInfo
;
import
com.google.common.collect.Lists
;
import
org.springframework.stereotype.Service
;
import
pwc.taxtech.atms.constant.enums.CountTypeConstant
;
import
pwc.taxtech.atms.constant.enums.CountTypeEnum
;
import
pwc.taxtech.atms.dao.OrganizationMapper
;
import
pwc.taxtech.atms.dto.vatdto.*
;
import
pwc.taxtech.atms.dto.vatdto.dd.*
;
...
...
@@ -20,6 +22,7 @@ import pwc.taxtech.atms.vat.entity.*;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.OutputStream
;
import
java.math.BigDecimal
;
import
java.util.*
;
/**
...
...
@@ -57,6 +60,9 @@ public class DataPreviewSerivceImpl extends BaseService {
@Resource
private
CertifiedInvoicesListMapper
certifiedInvoicesListMapper
;
@Resource
private
InvoiceDataMapper
invoiceDataMapper
;
@Resource
private
OrganizationMapper
organizationMapper
;
...
...
@@ -287,6 +293,57 @@ public class DataPreviewSerivceImpl extends BaseService {
return
pageInfo
;
}
/**
* 28/02/2019 10:18
* 导入时纵向存的,因为需求是行数一般不会增加,列数可能增加。查询时90度旋转
* 后续增加列 1、添加CountTypeConstant(按列递增) 2、增加setIDValue case 3、js添加column
* [param]
* @author Gary J Li
* @return
*/
public
PageInfo
<
InvoiceDataDto
>
getIDDataForDisplay
(
InvoiceDataParam
param
)
{
InvoiceDataCondition
condition
=
beanUtil
.
copyProperties
(
param
,
new
InvoiceDataCondition
());
Page
page
=
PageHelper
.
startPage
(
condition
.
getPageInfo
().
getPageIndex
(),
condition
.
getPageInfo
().
getPageSize
());
List
<
InvoiceData
>
invoiceDatas
=
invoiceDataMapper
.
selectByCondition
(
condition
);
List
<
InvoiceDataDto
>
invoiceDataDtos
=
generalIDDtoList
();
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
());
});
}
PageInfo
<
InvoiceDataDto
>
pageInfo
=
new
PageInfo
<>(
invoiceDataDtos
);
pageInfo
.
setTotal
(
invoiceDataDtos
.
size
());
pageInfo
.
setPageNum
(
param
.
getPageInfo
().
getPageIndex
());
return
pageInfo
;
}
public
int
getTBDownloadFilePath
(
TrialBalanceParam
param
,
OutputStream
os
)
{
try
{
TrialBalanceCondition
condition
=
new
TrialBalanceCondition
();
...
...
@@ -549,4 +606,83 @@ public class DataPreviewSerivceImpl extends BaseService {
header
.
put
(
"LateUpdatedDate"
,
"最后更新日期"
);
return
header
;
}
private
List
<
InvoiceDataDto
>
generalIDDtoList
()
{
List
<
InvoiceDataDto
>
invoiceDataDtos
=
Lists
.
newArrayList
();
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票正数发票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票负数发票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票正数废票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票负数废票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项正废金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项正数金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项负废金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项负数金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票实际销项金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项正废税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项正数税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项负废税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票销项负数税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"专票实际销项税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票正数发票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票负数发票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票正数废票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票负数废票份数"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项正废金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项正数金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项负废金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项负数金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票实际销项金额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项正废税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项正数税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项负废税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票销项负数税额"
));
invoiceDataDtos
.
add
(
new
InvoiceDataDto
(
"普票实际销项税额"
));
return
invoiceDataDtos
;
}
private
void
setIDValue
(
List
<
InvoiceDataDto
>
idDtos
,
String
column
,
Integer
row
,
Object
value
)
{
for
(
InvoiceDataDto
idto
:
idDtos
){
if
(
idto
.
getProjectName
().
equals
(
column
)){
switch
(
row
)
{
case
CountTypeConstant
.
TOTAL
:
idto
.
setTotalAmount
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
SIXTEEN_PERCENT
:
idto
.
setAmount1
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
TEN_PERCENT
:
idto
.
setAmount2
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
SIX_PERCENT
:
idto
.
setAmount3
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
THREE_PERCENT
:
idto
.
setAmount4
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
SEVENTEEN_PERCENT
:
idto
.
setAmount5
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
ELEVEN_PERCENT
:
idto
.
setAmount6
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
FIVE_PERCENT
:
idto
.
setAmount7
(
new
BigDecimal
(
value
.
toString
()));
break
;
case
CountTypeConstant
.
OTHER
:
idto
.
setOtherAmount
(
new
BigDecimal
(
value
.
toString
()));
break
;
default
:
break
;
}
break
;
}
}
}
}
atms-dao/src/main/java/pwc/taxtech/atms/vat/dao/InvoiceDataMapper.java
View file @
f668ad7e
...
...
@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.Mapper;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
pwc.taxtech.atms.MyVatMapper
;
import
pwc.taxtech.atms.vat.dpo.InvoiceDataCondition
;
import
pwc.taxtech.atms.vat.entity.InvoiceData
;
import
pwc.taxtech.atms.vat.entity.InvoiceDataExample
;
...
...
@@ -107,4 +108,6 @@ public interface InvoiceDataMapper extends MyVatMapper {
int
updateByPrimaryKey
(
InvoiceData
record
);
int
insertBatch
(
List
<
InvoiceData
>
iDatas
);
List
<
InvoiceData
>
selectByCondition
(
@Param
(
"idCondition"
)
InvoiceDataCondition
condition
);
}
\ No newline at end of file
atms-dao/src/main/java/pwc/taxtech/atms/vat/dpo/InvoiceDataCondition.java
0 → 100644
View file @
f668ad7e
package
pwc
.
taxtech
.
atms
.
vat
.
dpo
;
import
pwc.taxtech.atms.dpo.PagingDto
;
public
class
InvoiceDataCondition
{
private
PagingDto
pageInfo
;
private
String
orgId
;
private
Integer
periodStart
;
private
Integer
periodEnd
;
public
Integer
getPeriodStart
()
{
return
periodStart
;
}
public
void
setPeriodStart
(
Integer
periodStart
)
{
this
.
periodStart
=
periodStart
;
}
public
Integer
getPeriodEnd
()
{
return
periodEnd
;
}
public
void
setPeriodEnd
(
Integer
periodEnd
)
{
this
.
periodEnd
=
periodEnd
;
}
public
String
getOrgId
()
{
return
this
.
orgId
;
}
public
void
setOrgId
(
String
orgId
)
{
this
.
orgId
=
orgId
;
}
public
PagingDto
getPageInfo
()
{
return
pageInfo
;
}
public
void
setPageInfo
(
PagingDto
pageInfo
)
{
this
.
pageInfo
=
pageInfo
;
}
}
atms-dao/src/main/resources/pwc/taxtech/atms/vat/dao/extends/InvoiceDataExtendsMapper.xml
View file @
f668ad7e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"pwc.taxtech.atms.vat.dao.InvoiceDataMapper"
>
<sql
id=
"QueryCondition"
>
1 = 1
<if
test=
"@com.github.pagehelper.util.StringUtil@isNotEmpty(idCondition.orgId)"
>
AND organization_id= #{idCondition.orgId,jdbcType=VARCHAR}
</if>
<if
test=
"idCondition.periodStart!=null"
>
AND period
>
= #{idCondition.periodStart,jdbcType=INTEGER}
</if>
<if
test=
"idCondition.periodEnd!=null"
>
AND period
<
= #{idCondition.periodEnd,jdbcType=INTEGER}
</if>
</sql>
<select
id=
"selectByCondition"
parameterType=
"pwc.taxtech.atms.vat.dpo.InvoiceDataCondition"
resultMap=
"BaseResultMap"
>
SELECT
id.*
FROM
invoice_data id
WHERE
<include
refid=
"QueryCondition"
/>
</select>
<insert
id=
"insertBatch"
parameterType=
"java.util.List"
>
insert into invoice_data
(
<include
refid=
"Base_Column_List"
/>
)
...
...
atms-web/src/main/webapp/Scripts/module-part1.js
View file @
f668ad7e
...
...
@@ -746,6 +746,23 @@ var vatModule = angular.module('app.vat', ['ui.grid', 'ui.grid.selection', 'ui.g
sticky
:
true
});
$stateProvider
.
state
({
name
:
'vat.previewData.invoiceData'
,
url
:
'/invoiceData'
,
views
:
{
'@vat.previewData'
:
{
controller
:
[
'$scope'
,
'$stateParams'
,
'appTranslation'
,
function
(
$scope
,
$stateParams
,
appTranslation
)
{
appTranslation
.
load
([
appTranslation
.
vat
]);
}],
template
:
'<vat-preview-invoice-data></vat-preview-invoice-data>'
}
},
resolve
:
scriptDependencyProvider
.
createDependenciesMap
(
scriptDependencyProvider
.
vat
),
deepStateRedirect
:
true
,
sticky
:
true
});
$stateProvider
.
state
({
name
:
'vat.previewData.adjustmentTab'
,
url
:
'/adjustmentTab'
,
...
...
atms-web/src/main/webapp/app-resources/i18n/en-us/vat.json
View file @
f668ad7e
...
...
@@ -1824,8 +1824,47 @@
"cashFlow"
:
"Cash Flow"
,
"CashFlowDDTitle"
:
"Cash Flow"
,
"
I
nvoiceData"
:
"Invoice Data"
,
"
i
nvoiceData"
:
"Invoice Data"
,
"InvoiceDataTitle"
:
"Invoice Data"
,
"IDTotalAmount"
:
"Total"
,
"Amount1"
:
"16%"
,
"Amount2"
:
"10%"
,
"Amount3"
:
"6%"
,
"Amount4"
:
"3%"
,
"Amount5"
:
"17%"
,
"Amount6"
:
"11%"
,
"Amount7"
:
"5%"
,
"OtherAmount"
:
"Other"
,
"specialInvoiceAmount1"
:
"专票正数发票份数"
,
"specialInvoiceAmount2"
:
"专票负数发票份数"
,
"specialInvoiceAmount3"
:
"专票正数废票份数"
,
"specialInvoiceAmount4"
:
"专票负数废票份数"
,
"specialInvoiceSalesAmount1"
:
"专票销项正废金额"
,
"specialInvoiceSalesAmount2"
:
"专票销项正数金额"
,
"specialInvoiceSalesAmount3"
:
"专票销项负废金额"
,
"specialInvoiceSalesAmount4"
:
"专票销项负数金额"
,
"specialInvoiceSalesAmount5"
:
"专票实际销项金额"
,
"specialInvoiceTaxAmount1"
:
"专票销项正废税额"
,
"specialInvoiceTaxAmount2"
:
"专票销项正数税额"
,
"specialInvoiceTaxAmount3"
:
"专票销项负废税额"
,
"specialInvoiceTaxAmount4"
:
"专票销项负数税额"
,
"specialInvoiceTaxAmount5"
:
"专票实际销项税额"
,
"invoiceAmount1"
:
"普票正数发票份数"
,
"invoiceAmount2"
:
"普票负数发票份数"
,
"invoiceAmount3"
:
"普票正数废票份数"
,
"invoiceAmount4"
:
"普票负数废票份数"
,
"invoiceSalesAmount1"
:
"普票销项正废金额"
,
"invoiceSalesAmount2"
:
"普票销项正数金额"
,
"invoiceSalesAmount3"
:
"普票销项负废金额"
,
"invoiceSalesAmount4"
:
"普票销项负数金额"
,
"invoiceSalesAmount5"
:
"普票实际销项金额"
,
"invoiceTaxAmount1"
:
"普票销项正废税额"
,
"invoiceTaxAmount2"
:
"普票销项正数税额"
,
"invoiceTaxAmount3"
:
"普票销项负废税额"
,
"invoiceTaxAmount4"
:
"普票销项负数税额"
,
"invoiceTaxAmount5"
:
"普票实际销项税额"
,
"EnterpriseAccountSetName"
:
"Enterprise Account Set Name"
,
"EnterpriseAccountSetCurrency"
:
"Enterprise Account Set Currency"
,
...
...
atms-web/src/main/webapp/app-resources/i18n/zh-CN/vat.json
View file @
f668ad7e
...
...
@@ -2068,8 +2068,48 @@
"TMSPeriod"
:
"税务系统期间"
,
"
I
nvoiceData"
:
"发票资料"
,
"
i
nvoiceData"
:
"发票资料"
,
"InvoiceDataTitle"
:
"发票资料"
,
"IDTotalAmount"
:
"合计"
,
"Amount1"
:
"16%"
,
"Amount2"
:
"10%"
,
"Amount3"
:
"6%"
,
"Amount4"
:
"3%"
,
"Amount5"
:
"17%"
,
"Amount6"
:
"11%"
,
"Amount7"
:
"5%"
,
"OtherAmount"
:
"其他"
,
"CountType"
:
"计数类型"
,
"SpecialInvoiceAmount1"
:
"专票正数发票份数"
,
"SpecialInvoiceAmount2"
:
"专票负数发票份数"
,
"SpecialInvoiceAmount3"
:
"专票正数废票份数"
,
"SpecialInvoiceAmount4"
:
"专票负数废票份数"
,
"SpecialInvoiceSalesAmount1"
:
"专票销项正废金额"
,
"SpecialInvoiceSalesAmount2"
:
"专票销项正数金额"
,
"SpecialInvoiceSalesAmount3"
:
"专票销项负废金额"
,
"SpecialInvoiceSalesAmount4"
:
"专票销项负数金额"
,
"SpecialInvoiceSalesAmount5"
:
"专票实际销项金额"
,
"SpecialInvoiceTaxAmount1"
:
"专票销项正废税额"
,
"SpecialInvoiceTaxAmount2"
:
"专票销项正数税额"
,
"SpecialInvoiceTaxAmount3"
:
"专票销项负废税额"
,
"SpecialInvoiceTaxAmount4"
:
"专票销项负数税额"
,
"SpecialInvoiceTaxAmount5"
:
"专票实际销项税额"
,
"InvoiceAmount1"
:
"普票正数发票份数"
,
"InvoiceAmount2"
:
"普票负数发票份数"
,
"InvoiceAmount3"
:
"普票正数废票份数"
,
"InvoiceAmount4"
:
"普票负数废票份数"
,
"InvoiceSalesAmount1"
:
"普票销项正废金额"
,
"InvoiceSalesAmount2"
:
"普票销项正数金额"
,
"InvoiceSalesAmount3"
:
"普票销项负废金额"
,
"InvoiceSalesAmount4"
:
"普票销项负数金额"
,
"InvoiceSalesAmount5"
:
"普票实际销项金额"
,
"InvoiceTaxAmount1"
:
"普票销项正废税额"
,
"InvoiceTaxAmount2"
:
"普票销项正数税额"
,
"InvoiceTaxAmount3"
:
"普票销项负废税额"
,
"InvoiceTaxAmount4"
:
"普票销项负数税额"
,
"InvoiceTaxAmount5"
:
"普票实际销项税额"
,
"EnterpriseAccountSetName"
:
"账套名称"
,
"EnterpriseAccountSetCurrency"
:
"账套币种"
,
...
...
atms-web/src/main/webapp/app/common/utils/constant.js
View file @
f668ad7e
...
...
@@ -486,6 +486,9 @@ constant.vatPermission = {
},
cashFlow
:
{
queryCode
:
'02.002.019'
},
invoiceData
:
{
queryCode
:
'02.002.020'
}
},
dataManage
:
{
...
...
atms-web/src/main/webapp/app/common/vatservices/vatPreviewService.js
View file @
f668ad7e
...
...
@@ -227,6 +227,9 @@
},
getCILDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getCILDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
},
getIDDataForDisplay
:
function
(
queryParams
)
{
return
$http
.
post
(
'/dataPreview/getIDDataForDisplay'
,
queryParams
,
apiConfig
.
createVat
());
}
};
}]);
\ No newline at end of file
atms-web/src/main/webapp/app/framework/app-overview/app-overview.ctrl.js
View file @
f668ad7e
...
...
@@ -46,6 +46,7 @@
$scope
.
isFirst
=
true
;
$scope
.
haveVatPermission
=
false
;
$scope
.
haveCitPermission
=
false
;
$scope
.
orgTreeUpdate
=
false
;
$scope
.
currentSelectedMonth
=
vatSessionService
.
month
;
...
...
@@ -1173,6 +1174,8 @@
getOrgData
:
function
()
{
debugger
;
var
data
=
vatSessionService
.
orgTree
;
if
(
!
data
)
{
...
...
@@ -1728,7 +1731,10 @@
if
(
$
.
isEmptyObject
(
vatSessionService
.
orgTree
)){
orgService
.
getOrgListLevel
().
success
(
function
(
data
)
{
if
(
data
&&
$
.
isEmptyObject
(
vatSessionService
.
orgTree
)){
vatSessionService
.
orgTree
=
data
;
$scope
.
orgTreeUpdate
=
true
;
}
});
}
...
...
@@ -1757,13 +1763,17 @@
}
});
$scope
.
$watch
(
'productFileName'
,
function
(
newValue
,
oldValue
)
{
if
(
newValue
&&
newValue
!==
oldValue
)
{
doUploadProductFileName
(
newValue
);
}
});
$scope
.
$watch
(
'orgTreeUpdate'
,
function
(
newValue
,
oldValue
)
{
if
(
newValue
===
true
){
orgDisplay
.
getOrgData
();
}
});
})();
}
]);
...
...
atms-web/src/main/webapp/app/vat/import/vat-import-layout/vat-import-layout.ctrl.js
View file @
f668ad7e
...
...
@@ -75,6 +75,10 @@ function ($scope, $log, $translate, $location, loginContext, enums, vatSessionSe
{
name
:
'coupaPurchasingReport'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
coupaPurchasingReport
.
queryCode
,
text
:
$translate
.
instant
(
'coupaPurchasingReport'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'invoiceData'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
invoiceData
.
queryCode
,
text
:
$translate
.
instant
(
'invoiceData'
),
icon
:
'fa fa-file-text-o'
,
show
:
true
},
{
name
:
'adjustmentTab'
,
permission
:
constant
.
vatPermission
.
dataPreview
.
adjustmentTab
.
queryCode
,
...
...
atms-web/src/main/webapp/app/vat/preview/vat-preview-coupa-purchasing-report/vat-preview-coupa-purchasing-report.ctrl.js
View file @
f668ad7e
...
...
@@ -326,7 +326,7 @@
initCoupaPurchasingReportPagination
();
//初始化查询条件-期间范围
if
(
$rootScope
.
currentLanguageDesc
=
$rootScope
.
currentLanguage
===
'en-us'
){
$
(
'.periodInput'
)[
0
].
style
.
left
=
"
28
0px"
;
$
(
'.periodInput'
)[
0
].
style
.
left
=
"
33
0px"
;
}
else
{
$
(
'.periodInput'
)[
0
].
style
.
left
=
"170px"
;
}
...
...
atms-web/src/main/webapp/app/vat/preview/vat-preview-invoice-data/vat-preview-invoice-data-search.html
0 → 100644
View file @
f668ad7e
<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-invoice-data/vat-preview-invoice-data.ctrl.js
0 → 100644
View file @
f668ad7e
vatModule
.
controller
(
'VatPreviewInvoiceDataController'
,
[
'$rootScope'
,
'$scope'
,
'$log'
,
'$translate'
,
'$timeout'
,
'SweetAlert'
,
'$q'
,
'uiGridConstants'
,
'$interval'
,
'vatPreviewService'
,
'browserService'
,
'vatSessionService'
,
'region'
,
'enums'
,
'vatExportService'
,
function
(
$rootScope
,
$scope
,
$log
,
$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
;
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
]];
$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'
)
];
//初始化期间
var
initPeriods
=
function
()
{
var
curMonth
=
new
Date
().
getMonth
()
+
1
;
$scope
.
queryParams
=
{
pageInfo
:
{},
periodStart
:
''
,
periodEnd
:
''
,
certificationDateStart
:
null
,
certificationDateEnd
:
null
,
invoiceCode
:
''
,
invoiceNumber
:
''
,
sellerTaxNumber
:
''
,
amountStart
:
null
,
amountEnd
:
null
,
invoiceType
:
null
,
taxAmountStart
:
null
,
taxAmountEnd
:
null
,
certificationStatus
:
null
};
};
/*var countTotal = function(){
$scope.queryParams.pageInfo = {
totalCount: -1,
pageIndex: 1,
pageSize: -1,
totalPage: 0,
};
vatPreviewService.queryInputInvoiceAllList($scope.queryParams).success(function (data) {
if (data) {
var totalMoneyAmount = 0;
var totalTaxAmount = 0;
_.each(data, function (x) {
totalMoneyAmount = totalMoneyAmount + parseFloat(x.hjje.replace(/,/g, ""));
totalTaxAmount = totalTaxAmount + parseFloat(x.hjse.replace(/,/g, ""));
})
$scope.totalMoneyAmount = totalMoneyAmount.toLocaleString();
$scope.totalTaxAmount = totalTaxAmount.toLocaleString();
}
});
};*/
//从数据库中load数据
var
loadInvoiceDataItemDataFromDB
=
function
(
pageIndex
)
{
initInvoiceDataItemPagination
();
$scope
.
curInvoiceDataItemPage
=
pageIndex
;
//初始化查询信息
$scope
.
queryParams
.
pageInfo
=
{
totalCount
:
$scope
.
queryInvoiceDataResult
.
pageInfo
.
totalCount
,
pageIndex
:
pageIndex
,
pageSize
:
$scope
.
queryInvoiceDataResult
.
pageInfo
.
pageSize
,
totalPage
:
0
};
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
$scope
.
getDataFromDatabase
(
$scope
.
queryParams
);
};
$scope
.
getDataFromDatabase
=
function
(
queryParams
){
vatPreviewService
.
getIDDataForDisplay
(
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
.
queryInvoiceDataResult
.
pageInfo
=
data
;
computeInvoiceDataItemPage
();
/*$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
loadInvoiceDataDataByPage
=
function
(
pageIndex
)
{
loadInvoiceDataItemDataFromDB
(
pageIndex
);
};
//计算页数,创建分页栏
var
computeInvoiceDataItemPage
=
function
()
{
if
(
$scope
.
queryInvoiceDataResult
.
pageInfo
&&
$scope
.
queryInvoiceDataResult
.
pageInfo
.
total
>
0
)
{
var
totalPage
=
parseInt
(
$scope
.
queryInvoiceDataResult
.
pageInfo
.
total
/
$scope
.
queryInvoiceDataResult
.
pageInfo
.
pageSize
);
totalPage
=
$scope
.
queryInvoiceDataResult
.
pageInfo
.
totalCount
%
$scope
.
queryInvoiceDataResult
.
pageInfo
.
pageSize
==
0
?
totalPage
:
totalPage
+
1
;
//计算本页记录数
if
(
$scope
.
queryInvoiceDataResult
.
pageInfo
.
pageNum
===
totalPage
)
{
$scope
.
curPageItemCount
=
$scope
.
queryInvoiceDataResult
.
pageInfo
.
total
%
$scope
.
queryInvoiceDataResult
.
pageInfo
.
pageSize
;
}
else
{
$scope
.
curPageItemCount
=
$scope
.
queryInvoiceDataResult
.
pageInfo
.
pageSize
;
}
$scope
.
queryInvoiceDataResult
.
pageInfo
.
totalPage
=
totalPage
;
var
createPage
=
$
(
"#totalInvoicePage"
).
createPage
({
pageCount
:
totalPage
,
current
:
$scope
.
curInvoiceDataItemPage
,
backFn
:
function
(
p
)
{
//单击回调方法,p是当前页码
loadInvoiceDataDataByPage
(
p
);
}
});
$
(
'#totalInvoicePage'
).
css
(
'display'
,
'inline-block'
);
}
else
{
//如果查询结果为0,则直接设置本页记录数为0
$scope
.
curPageItemCount
=
0
;
var
createPage
=
$
(
"#totalInvoicePage"
).
createPage
({
pageCount
:
0
,
current
:
$scope
.
curInvoiceDataItemPage
,
backFn
:
function
(
p
)
{
//单击回调方法,p是当前页码
loadInvoiceDataDataByPage
(
p
);
}
});
$
(
'#totalInvoicePage'
).
css
(
'display'
,
'inline-block'
);
}
};
//初始化分页信息
var
initInvoiceDataItemPagination
=
function
()
{
$scope
.
queryInvoiceDataResult
=
{
list
:
[],
pageInfo
:
{
totalCount
:
-
1
,
pageIndex
:
1
,
pageSize
:
constant
.
pagesize
,
totalPage
:
0
}
};
$scope
.
curInvoiceDataItemPage
=
1
;
};
//去掉所有的查询条件,重新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
;
// countTotal();
loadInvoiceDataItemDataFromDB
(
1
);
$
(
'.filter-button'
).
popover
(
"hide"
);
};
//在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
;
})
};
(
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
][
0
];
//结束月份
var
endMonth
=
result
[
1
][
0
];
$scope
.
startMonth
=
startMonth
;
$scope
.
endMonth
=
endMonth
;
$scope
.
queryParams
.
periodStart
=
startMonth
;
$scope
.
queryParams
.
periodEnd
=
endMonth
;
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
// countTotal();
loadInvoiceDataItemDataFromDB
(
1
);
});
var
downloadID
=
function
()
{
vatPreviewService
.
initExportIDData
(
$scope
.
queryParams
).
success
(
function
(
data
,
status
,
headers
)
{
if
(
status
===
204
){
SweetAlert
.
warning
(
"没有数据可以下载"
);
return
;
}
vatExportService
.
exportToExcel
(
data
,
status
,
headers
,
'日记账信息.xls'
);
}).
error
(
function
()
{
SweetAlert
.
error
(
$translate
.
instant
(
'PleaseContactAdministrator'
));
});
};
$scope
.
gridOptions
=
{
rowHeight
:
constant
.
UIGrid
.
rowHeight
,
selectionRowHeaderWidth
:
constant
.
UIGrid
.
rowHeight
,
virtualizationThreshold
:
50
,
//默认加载50条数据,避免在数据展示时,只显示前面4条
enableSorting
:
false
,
enableColumnMenus
:
false
,
columnDefs
:
[
{
name
:
$translate
.
instant
(
'ProjectName'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.projectName}}<span></div>'
},
// { name: $translate.instant('InvoiceQJ'), width: '8%', cellTemplate: '<div class="ui-grid-cell-contents"><span>{{row.entity.periodID}}<span></div>' },
{
name
:
$translate
.
instant
(
'IDTotalAmount'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.totalAmount }}<span></div>'
},
{
name
:
$translate
.
instant
(
'Amount1'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.amount1}}</span></div>'
},
{
name
:
$translate
.
instant
(
'Amount2'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.amount2}}</span></div>'
},
{
name
:
$translate
.
instant
(
'Amount3'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.amount3}}</span></div>'
},
{
name
:
$translate
.
instant
(
'Amount4'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.amount4}}</span></div>'
},
{
name
:
$translate
.
instant
(
'Amount5'
),
cellTemplate
:
'<div class="ui-grid-cell-contents "><span>{{row.entity.amount5}}</span></div>'
},
{
name
:
$translate
.
instant
(
'Amount6'
),
cellTemplate
:
'<div class="ui-grid-cell-contents "><span>{{row.entity.amount6}}</span></div>'
},
{
name
:
$translate
.
instant
(
'Amount7'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.amount7 }}</span></div>'
},
{
name
:
$translate
.
instant
(
'OtherAmount'
),
cellTemplate
:
'<div class="ui-grid-cell-contents"><span>{{row.entity.otherAmount}}</span></div>'
}
]
};
$scope
.
doDataFilterReset
=
doDataFilterReset
;
$scope
.
showPopover
=
showPopover
;
$scope
.
downloadID
=
downloadID
;
initPeriods
();
initInvoiceDataItemPagination
();
//初始化查询条件-期间范围
$scope
.
queryParams
.
periodStart
=
vatSessionService
.
year
*
100
+
vatSessionService
.
month
;
$scope
.
queryParams
.
periodEnd
=
vatSessionService
.
year
*
100
+
vatSessionService
.
month
;
$scope
.
queryParams
.
orgId
=
vatSessionService
.
project
.
organizationID
;
if
(
$rootScope
.
currentLanguageDesc
=
$rootScope
.
currentLanguage
===
'en-us'
){
$
(
'.periodInput'
)[
0
].
style
.
left
=
"250px"
;
}
else
{
$
(
'.periodInput'
)[
0
].
style
.
left
=
"150px"
;
}
loadInvoiceDataItemDataFromDB
(
1
);
})();
}
]);
atms-web/src/main/webapp/app/vat/preview/vat-preview-invoice-data/vat-preview-invoice-data.html
0 → 100644
View file @
f668ad7e
<div
class=
"vat-preview-invoice-data"
id=
"mainPreviewDiv"
>
<div
class=
"top-area-wrapper"
style=
"margin-top: 10px"
>
<!--<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-invoice-record/vat-preview-invoice-record-search.html">
<i class="fa fa-filter" aria-hidden="true"></i>
</button>-->
<span
translate=
"InvoiceDataTitle"
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=
"downloadInputInvoice()"
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-expandable
ui-grid=
"gridOptions"
>
<div
class=
"watermark"
ng-show=
"!gridOptions.data.length"
><span
translate=
"NoDataAvailable"
></span></div>
</div>
<div
class=
"pagination-container"
>
<span>
本页{{curPageItemCount}}条记录,共{{queryInvoiceDataResult.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-invoice-data/vat-preview-invoice-data.js
0 → 100644
View file @
f668ad7e
vatModule
.
directive
(
'vatPreviewInvoiceData'
,
[
'$log'
,
'browserService'
,
'$translate'
,
'region'
,
'$timeout'
,
function
(
$log
,
browserService
,
$translate
,
region
,
$timeout
)
{
$log
.
debug
(
'vatPreviewInvoiceData.ctor()...'
);
return
{
restrict
:
'E'
,
templateUrl
:
'/app/vat/preview/vat-preview-invoice-data/vat-preview-invoice-data.html'
+
'?_='
+
Math
.
random
(),
scope
:
{},
controller
:
'VatPreviewInvoiceDataController'
,
link
:
function
(
$scope
,
element
)
{
}
}
}
]);
\ No newline at end of file
atms-web/src/main/webapp/app/vat/preview/vat-preview-invoice-data/vat-preview-invoice-data.less
0 → 100644
View file @
f668ad7e
@import "~/app-resources/less/theme.less";
.vat-preview-invoice-data {
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: 60px;
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;
}
}
.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