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
f420df40
Commit
f420df40
authored
Apr 22, 2019
by
chase
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug
parent
b0fb167b
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
118 additions
and
58 deletions
+118
-58
TaxDocumentController.java
...va/pwc/taxtech/atms/controller/TaxDocumentController.java
+40
-0
KPSR.java
.../taxtech/atms/vat/service/impl/report/functions/KPSR.java
+23
-11
tax-document-list.ctrl.js
...ocumentManage/tax-document-list/tax-document-list.ctrl.js
+45
-44
tax-document-list.svc.js
...DocumentManage/tax-document-list/tax-document-list.svc.js
+10
-3
No files found.
atms-api/src/main/java/pwc/taxtech/atms/controller/TaxDocumentController.java
View file @
f420df40
...
...
@@ -9,14 +9,18 @@ import org.apache.commons.collections.CollectionUtils;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.CellType
;
import
org.apache.poi.ss.usermodel.DateUtil
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.apache.poi.ss.usermodel.WorkbookFactory
;
import
org.apache.poi.xssf.usermodel.XSSFCell
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
pwc.taxtech.atms.common.POIUtil
;
import
pwc.taxtech.atms.common.PageResultVo
;
import
pwc.taxtech.atms.common.util.DateUtils
;
import
pwc.taxtech.atms.constant.enums.FileUploadEnum
;
...
...
@@ -24,6 +28,7 @@ import pwc.taxtech.atms.dpo.OrgSelectDto;
import
pwc.taxtech.atms.dto.TaxDocumentDto
;
import
pwc.taxtech.atms.entity.TaxDocument
;
import
pwc.taxtech.atms.service.impl.DidiFileUploadService
;
import
pwc.taxtech.atms.service.impl.HttpFileService
;
import
pwc.taxtech.atms.service.impl.OrganizationServiceImpl
;
import
pwc.taxtech.atms.service.impl.TaxDocumentServiceImpl
;
import
pwc.taxtech.atms.thirdparty.ExcelUtil
;
...
...
@@ -48,6 +53,8 @@ public class TaxDocumentController {
private
DidiFileUploadService
didiFileUploadService
;
@Autowired
private
OrganizationServiceImpl
organizationService
;
@Autowired
HttpFileService
httpFileService
;
@PostMapping
(
"selectList"
)
@ResponseBody
public
PageResultVo
<
TaxDocument
>
selectTaxDocumentList
(
@RequestBody
TaxDocumentDto
taxDocumentDto
)
{
...
...
@@ -394,4 +401,37 @@ public class TaxDocumentController {
dataArray
.
add
(
sheetJson
);
}
}
@RequestMapping
(
value
=
"/convertExcel"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
@ResponseBody
public
void
convertExcel
(
HttpServletResponse
response
,
String
url
){
InputStream
is
=
null
;
Workbook
tWorkbook
=
null
;
Workbook
workbook
=
new
XSSFWorkbook
();
OutputStream
ouputStream
=
null
;
try
{
is
=
httpFileService
.
getUserTemplate
(
url
);
tWorkbook
=
WorkbookFactory
.
create
(
is
);
for
(
int
i
=
0
;
i
<
tWorkbook
.
getNumberOfSheets
();
i
++){
POIUtil
.
cloneSheet
(
tWorkbook
.
getSheetAt
(
i
),
workbook
.
createSheet
(
tWorkbook
.
getSheetAt
(
i
).
getSheetName
()));
}
response
.
setContentType
(
"multipart/form-data"
);
ouputStream
=
response
.
getOutputStream
();
tWorkbook
.
write
(
ouputStream
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
finally
{
try
{
if
(
ouputStream
!=
null
)
{
ouputStream
.
close
();
}
if
(
is
!=
null
){
is
.
close
();
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
}
atms-api/src/main/java/pwc/taxtech/atms/vat/service/impl/report/functions/KPSR.java
View file @
f420df40
...
...
@@ -52,31 +52,35 @@ public class KPSR extends FunctionBase implements FreeRefFunction {
private
double
assembleData
(
String
revenueTypeName
,
List
<
OutputInvoiceDataSourceDto
>
contain
,
Integer
billType
,
Integer
amountType
,
OperationEvaluationContext
ec
)
{
String
queryDate
=
formulaContext
.
getYear
()
+
(
formulaContext
.
getPeriod
()
<
10
?
(
"0"
+
formulaContext
.
getPeriod
())
:
(
formulaContext
.
getPeriod
()
+
""
));
// RevenueTypeMappingExample typeMappingExample = new RevenueTypeMappingExample();
// typeMappingExample.createCriteria().andOrgIdEqualTo(formulaContext.getOrganizationId())
// .andRevenueTypeNameEqualTo(revenueTypeName).andStartDateLessThanOrEqualTo(queryDate)
// .andEndDateGreaterThanOrEqualTo(queryDate);
// List<RevenueTypeMapping> typeMappingList = SpringContextUtil.revenueTypeMappingMapper.selectByExample(typeMappingExample);
// if (CollectionUtils.isEmpty(typeMappingList)) {
// return 0.0;
// }
// List<String> revenueTypes = typeMappingList.stream()
// .map(o -> o.getRevenueTypeName()).collect(Collectors.toList());
RevenueConfigExample
configExample
=
new
RevenueConfigExample
();
configExample
.
createCriteria
().
andOrgIdEqualTo
(
formulaContext
.
getOrganizationId
()).
andStartDateLessThanOrEqualTo
(
queryDate
)
.
andEndDateGreaterThanOrEqualTo
(
queryDate
).
andNameEqualTo
(
revenueTypeName
);
.
andEndDateGreaterThanOrEqualTo
(
queryDate
).
andNameEqualTo
(
revenueTypeName
)
.
andStatusEqualTo
(
0
)
;
List
<
RevenueConfig
>
configDatas
=
SpringContextUtil
.
revenueConfigMapper
.
selectByExample
(
configExample
);
if
(
CollectionUtils
.
isEmpty
(
configDatas
))
{
return
0.0
;
}
RevenueTypeMappingExample
typeMappingExample
=
new
RevenueTypeMappingExample
();
typeMappingExample
.
createCriteria
().
andOrgIdEqualTo
(
formulaContext
.
getOrganizationId
())
.
andRevenueTypeNameEqualTo
(
revenueTypeName
).
andStartDateLessThanOrEqualTo
(
queryDate
)
.
andEndDateGreaterThanOrEqualTo
(
queryDate
).
andStatusEqualTo
(
0
);
List
<
RevenueTypeMapping
>
typeMappingList
=
SpringContextUtil
.
revenueTypeMappingMapper
.
selectByExample
(
typeMappingExample
);
if
(
CollectionUtils
.
isEmpty
(
typeMappingList
))
{
return
0.0
;
}
List
<
Long
>
revenueTypeIds
=
configDatas
.
stream
()
.
map
(
o
->
o
.
getId
()).
collect
(
Collectors
.
toList
());
List
<
InvoiceRecord
>
billDetails
=
new
ArrayList
<>();
InvoiceRecordExample
invoiceRecordExample
=
new
InvoiceRecordExample
();
InvoiceRecordExample
invoiceRecordExample
=
null
;
for
(
RevenueTypeMapping
typeMapping:
typeMappingList
){
invoiceRecordExample
=
new
InvoiceRecordExample
();
invoiceRecordExample
.
createCriteria
().
andRevenueCofIdIn
(
revenueTypeIds
)
.
andProjectIdEqualTo
(
formulaContext
.
getProjectId
())
.
andPeriodEqualTo
(
Integer
.
valueOf
(
queryDate
))
.
andTaxRateEqualTo
(
typeMapping
.
getTaxRate
())
.
andDepartmentEqualTo
(
typeMapping
.
getOuName
())
.
andInvoiceTypeEqualTo
(
InvoiceRecordEnum
.
InvoiceType
.
MAPPING
.
get
(
billType
));
List
<
InvoiceRecord
>
billDetails1
=
SpringContextUtil
.
invoiceRecordMapper
.
selectByExample
(
invoiceRecordExample
);
if
(
CollectionUtils
.
isNotEmpty
(
billDetails1
)){
...
...
@@ -92,11 +96,19 @@ public class KPSR extends FunctionBase implements FreeRefFunction {
invoiceRecordExample
.
createCriteria
().
andModifyRevenueCofIdIn
(
revenueTypeIds
)
.
andProjectIdEqualTo
(
formulaContext
.
getProjectId
())
.
andPeriodEqualTo
(
Integer
.
valueOf
(
queryDate
))
.
andTaxRateEqualTo
(
typeMapping
.
getTaxRate
())
.
andDepartmentEqualTo
(
typeMapping
.
getOuName
())
.
andInvoiceTypeEqualTo
(
InvoiceRecordEnum
.
InvoiceType
.
MAPPING
.
get
(
billType
));
List
<
InvoiceRecord
>
billDetails2
=
SpringContextUtil
.
invoiceRecordMapper
.
selectByExample
(
invoiceRecordExample
);
if
(
CollectionUtils
.
isNotEmpty
(
billDetails2
)){
billDetails
.
addAll
(
billDetails2
);
}
}
for
(
InvoiceRecord
invoiceRecord
:
billDetails
)
{
OutputInvoiceDataSourceDto
outputInvoiceDataSourceDto
=
new
OutputInvoiceDataSourceDto
();
outputInvoiceDataSourceDto
.
setAmount
(
FormulaHelper
.
roundValue
(
invoiceRecord
.
getInvoiceAmount
(),
...
...
atms-web/src/main/webapp/app/taxDocumentManage/tax-document-list/tax-document-list.ctrl.js
View file @
f420df40
...
...
@@ -1406,8 +1406,8 @@ taxDocumentManageModule.directive('filePreview', function () {
var
fileType
=
fileName
.
split
(
"."
).
pop
();
if
(
/xlsx|xls/i
.
test
(
fileType
))
{
taxDocumentListService
.
viewExcelBySpread
(
filePositionUrl
).
then
(
function
(
reportSpread
)
{
$
(
'#busy-indicator-container'
).
show
();
taxDocumentListService
.
viewExcelBySpread
(
file
Type
,
file
PositionUrl
).
then
(
function
(
reportSpread
)
{
var
spreadCtrl
=
new
GC
.
Spread
.
Sheets
.
Workbook
(
document
.
getElementById
(
"excetlContainer"
));
if
(
spreadCtrl
)
{
spreadCtrl
.
destroy
();
...
...
@@ -1416,10 +1416,11 @@ taxDocumentManageModule.directive('filePreview', function () {
if
(
!
_
.
isEmpty
(
reportSpread
))
{
initSpreadExcel
(
reportSpread
).
then
(
function
(
spread
)
{
/* return locateCell(spread, true);*/
$
(
'#busy-indicator-container'
).
hide
();
});
}
},
function
(
data
)
{
$
(
'#busy-indicator-container'
).
hide
();
$log
.
info
(
data
);
});
}
...
...
@@ -1441,49 +1442,49 @@ taxDocumentManageModule.directive('filePreview', function () {
var
initSpreadExcel
=
function
(
reportSpread
)
{
$
(
"#filePreviewPop"
).
modal
(
"show"
);
var
spread
=
new
GC
.
Spread
.
Sheets
.
Workbook
(
document
.
getElementById
(
"excetlContainer"
));
spread
.
suspendPaint
();
//
spread.suspendPaint();
spread
.
fromJSON
(
reportSpread
);
spread
.
options
.
showVerticalScrollbar
=
true
;
spread
.
options
.
showHorizontalScrollbar
=
true
;
spread
.
options
.
scrollbarMaxAlign
=
true
;
spread
.
options
.
scrollbarShowMax
=
true
;
spread
.
options
.
tabNavigationVisible
=
true
;
if
(
constant
.
regesterInformation
.
active
)
{
spread
.
options
.
tabEditable
=
false
;
spread
.
options
.
tabStripVisible
=
false
;
spread
.
options
.
newTabVisible
=
false
;
}
spread
.
options
.
allowUndo
=
false
;
spread
.
options
.
allowUserResize
=
false
;
spread
.
options
.
allowUserDragDrop
=
false
;
spread
.
options
.
allowUserDragFill
=
false
;
spread
.
options
.
allowUserEditFormula
=
false
;
spread
.
options
.
allowContextMenu
=
false
;
//todo:注册之后这里去掉注释
//var sheet = spread.getActiveSheet();
var
sheet
;
if
(
constant
.
regesterInformation
.
active
)
{
sheet
=
spread
.
getActiveSheet
();
}
else
{
sheet
=
spread
.
getSheet
(
1
);
}
if
(
sheet
!=
null
)
{
sheet
.
options
.
rowHeaderVisible
=
true
;
sheet
.
options
.
colHeaderVisible
=
true
;
sheet
.
options
.
gridline
.
showVerticalGridline
=
true
;
sheet
.
options
.
gridline
.
showHorizontalGridline
=
true
;
sheet
.
options
.
isProtected
=
true
;
sheet
.
clearSelection
();
}
// setColWidth(sheet);
// if(sheet.getRowCount() <= 38)
// scope.relation.addEbitRow(sheet)
// if (scope.templateId && scope.reportSource) {
// setData();
// spread.options.showVerticalScrollbar = true;
// spread.options.showHorizontalScrollbar = true;
// spread.options.scrollbarMaxAlign = true;
// spread.options.scrollbarShowMax = true;
// spread.options.tabNavigationVisible = true;
// if (constant.regesterInformation.active) {
// spread.options.tabEditable = false;
// spread.options.tabStripVisible = false;
// spread.options.newTabVisible = false;
// }
// spread.options.allowUndo = false;
// spread.options.allowUserResize = false;
// spread.options.allowUserDragDrop = false;
// spread.options.allowUserDragFill = false;
// spread.options.allowUserEditFormula = false;
// spread.options.allowContextMenu = false;
// //todo:注册之后这里去掉注释
// //var sheet = spread.getActiveSheet();
//
// var sheet;
// if (constant.regesterInformation.active) {
// sheet = spread.getActiveSheet();
// } else {
// sheet = spread.getSheet(1);
// }
// if (sheet != null) {
// sheet.options.rowHeaderVisible = true;
// sheet.options.colHeaderVisible = true;
// sheet.options.gridline.showVerticalGridline = true;
// sheet.options.gridline.showHorizontalGridline = true;
// sheet.options.isProtected = true;
// sheet.clearSelection();
// }
sheet
.
setRowResizable
(
0
,
false
,
GC
.
Spread
.
Sheets
.
SheetArea
.
viewport
);
spread
.
resumePaint
();
// // setColWidth(sheet);
// // if(sheet.getRowCount() <= 38)
// // scope.relation.addEbitRow(sheet)
// // if (scope.templateId && scope.reportSource) {
// // setData();
// // }
// sheet.setRowResizable(0, false, GC.Spread.Sheets.SheetArea.viewport);
// spread.resumePaint();
return
$q
.
when
(
spread
);
};
...
...
atms-web/src/main/webapp/app/taxDocumentManage/tax-document-list/tax-document-list.svc.js
View file @
f420df40
...
...
@@ -183,12 +183,17 @@ taxDocumentManageModule.factory('taxDocumentListService',
return
defer
.
promise
;
},
viewExcelBySpread
:
function
(
url
)
{
viewExcelBySpread
:
function
(
fileType
,
url
)
{
var
deferred
=
$q
.
defer
();
var
promise
=
deferred
.
promise
;
var
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
'GET'
,
url
,
true
);
// 也可以使用POST方式,根据接口
if
(
"xls"
==
fileType
){
xhr
.
open
(
'POST'
,
apiInterceptor
.
webApiHostUrl
+
'/taxDoc/convertExcel'
,
true
);
xhr
.
setRequestHeader
(
"Authorization"
,
apiInterceptor
.
tokenType
+
' '
+
apiInterceptor
.
apiToken
());
}
else
{
xhr
.
open
(
'GET'
,
url
,
true
);
}
xhr
.
responseType
=
"blob"
;
// 返回类型blob
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
xhr
.
onload
=
function
()
{
...
...
@@ -207,7 +212,9 @@ taxDocumentManageModule.factory('taxDocumentListService',
}
};
// 发送ajax请求
xhr
.
send
();
var
data
=
new
FormData
();
data
.
append
(
"url"
,
url
);
xhr
.
send
(
data
);
return
promise
;
}
};
...
...
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