Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
njzsb
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
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
徐州
njzsb
Commits
c342fcdb
Commit
c342fcdb
authored
Dec 06, 2022
by
徐州
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增需求
parent
c108a122
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1100 additions
and
77 deletions
+1100
-77
Fstzs_Add.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_Add.jsp
+8
-1
Fstzs_Dsc.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_Dsc.jsp
+2
-2
Fstzs_Print.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_Print.jsp
+300
-0
Fstzs_View.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_View.jsp
+25
-2
Fstzs_Yjh.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_Yjh.jsp
+39
-27
Fstzs_Yjk.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_Yjk.jsp
+51
-30
Fstzs_Ysc.jsp
WebRoot/WEB-INF/pages/fstzs/Fstzs_Ysc.jsp
+36
-11
system.properties
conf/system.properties
+15
-0
sql-map-fstzs.xml
src/com/jshx/fstzs/conf/sql-map-fstzs.xml
+17
-1
struts-fstzs.xml
src/com/jshx/fstzs/conf/struts-fstzs.xml
+18
-1
Fstzs.java
src/com/jshx/fstzs/entity/Fstzs.java
+69
-1
FstzsXm.java
src/com/jshx/fstzs/entity/FstzsXm.java
+18
-1
FsRequest.java
src/com/jshx/fstzs/fsutil/FsRequest.java
+184
-0
ParamsUtil.java
src/com/jshx/fstzs/fsutil/ParamsUtil.java
+54
-0
SecurityUtils.java
src/com/jshx/fstzs/fsutil/SecurityUtils.java
+48
-0
CaozuoResp.java
src/com/jshx/fstzs/fsutil/bean/CaozuoResp.java
+19
-0
FsError.java
src/com/jshx/fstzs/fsutil/bean/FsError.java
+16
-0
FsResp.java
src/com/jshx/fstzs/fsutil/bean/FsResp.java
+27
-0
JkztResp.java
src/com/jshx/fstzs/fsutil/bean/JkztResp.java
+34
-0
KaipiaoResp.java
src/com/jshx/fstzs/fsutil/bean/KaipiaoResp.java
+20
-0
KjjksResp.java
src/com/jshx/fstzs/fsutil/bean/KjjksResp.java
+29
-0
EInvoice.java
src/com/jshx/fstzs/fsutil/bean/dianzipiao/EInvoice.java
+14
-0
EInvoiceData.java
src/com/jshx/fstzs/fsutil/bean/dianzipiao/EInvoiceData.java
+10
-0
EInvoiceSignature.java
.../jshx/fstzs/fsutil/bean/dianzipiao/EInvoiceSignature.java
+31
-0
Header.java
src/com/jshx/fstzs/fsutil/bean/dianzipiao/Header.java
+16
-0
FstzsAction.java
src/com/jshx/fstzs/web/FstzsAction.java
+0
-0
No files found.
WebRoot/WEB-INF/pages/fstzs/Fstzs_Add.jsp
View file @
c342fcdb
...
...
@@ -247,8 +247,10 @@
<tr>
<td
colspan=
"4"
align=
"center"
style=
"position: relative;top: 20px;"
>
<a
href=
"###"
class=
"btn_01"
onclick=
"tijiao()"
>
提交
<b></b></a>
<c:if
test=
"${'edit' == flag}"
>
<a
href=
"###"
class=
"btn_01"
onclick=
"shanchu()"
>
删除
<b></b></a>
</c:if>
<a
href=
"###"
class=
"btn_01"
onclick=
"parent.close_win('win_fstzs');"
>
关闭
<b></b></a>
</td>
</tr>
</table>
...
...
@@ -463,6 +465,11 @@
}
function
shanchu
()
{
document
.
myform1
.
action
=
"shanchu.action"
;
document
.
myform1
.
submit
();
}
</script>
</body>
</html>
WebRoot/WEB-INF/pages/fstzs/Fstzs_Dsc.jsp
View file @
c342fcdb
...
...
@@ -21,7 +21,7 @@
var
queryParams
=
{
"fstzsXm.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzsXm.jsdwmc"
:
$
(
"#dwmc"
).
val
(),
"fstzsXm.gcxmmc"
:
$
(
"#xmmc"
).
val
(),
"fstzsXm.gcxmmc"
:
$
(
"#
gc
xmmc"
).
val
(),
"fstzsXm.yjje"
:
$
(
"#yjje"
).
val
()
};
$
(
'#pagination'
).
datagrid
(
'options'
).
queryParams
=
queryParams
;
...
...
@@ -36,7 +36,7 @@
queryParams
:{
"fstzsXm.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzsXm.dwmc"
:
$
(
"#dwmc"
).
val
(),
"fstzsXm.
xmmc"
:
$
(
"#
xmmc"
).
val
(),
"fstzsXm.
gcxmmc"
:
$
(
"#gc
xmmc"
).
val
(),
"fstzsXm.yjje"
:
$
(
"#yjje"
).
val
(),
},
...
...
WebRoot/WEB-INF/pages/fstzs/Fstzs_Print.jsp
0 → 100644
View file @
c342fcdb
<
%@
page
language=
"java"
pageEncoding=
"UTF-8"
isELIgnored=
"false"
%
>
<
%@
include
file=
"/common/header.jsp"
%
>
<html
xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<title>
打印非税通知书
</title>
<
%@
include
file=
"/common/jsLib.jsp"
%
>
<style>
.table-line-td
>
td
{
width
:
240%
;
display
:
inline-block
;
border-top
:
none
;
border-bottom
:
none
;
border-right
:
none
;
}
.add-table
{
width
:
90%
!important
;
float
:
right
;
}
.add-table
,
.add-table
td
{
border
:
1px
solid
#d9d9d9
;
border-collapse
:
collapse
;
text-align
:
center
;
}
.add-table
td
{
width
:
15%
;
}
.add-table
th
{
text-align
:
center
;
padding
:
0
;
}
.db-input
{
display
:
none
;
width
:
80%
;
}
.db-num
{
width
:
100%
;
height
:
20px
;
display
:
inline-block
;
}
.add-title
{
display
:
inline-block
;
text-align
:
right
;
width
:
69px
;
color
:
#000
;
font-size
:
12px
;
font-weight
:
bold
;
}
.fu-advice
{
position
:
relative
;
top
:
20px
;
}
.fu-advice
,
.fu-advice
td
{
border
:
none
!important
;
}
.ta-tb
tbody
{
display
:
inherit
;
width
:
100%
;
}
</style>
</head>
<body
validform=
"true"
>
<div
class=
"page_dialog"
>
<div
class=
"inner6px"
>
<form
name=
"myform1"
method=
"post"
enctype=
"multipart/form-data"
>
<s:token
/>
<input
class=
"hid"
type=
"hidden"
name=
"fstzsXm.id"
value=
"${fstzsXm.id}"
>
<div
class=
"cell"
style=
"width: 100%"
>
<table
width=
"100%"
border=
"0"
class=
"ta-tb"
>
<tr
class=
"table-line-td"
>
<th
width=
"15%"
>
建设单位
</th>
<td
width=
"35%"
>
<input
id=
"jsdw"
name=
"fstzsXm.jsdwmc"
style=
"width:96%;margin-top: 6px;"
value=
"${fstzsXm.jsdwmc}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
工程项目名称
</th>
<td
width=
"35%"
>
<input
id=
"gcxmmc"
name=
"fstzsXm.gcxmmc"
style=
"width:90%"
value=
"${fstzsXm.gcxmmc}"
disabled
/>
</td>
<th
width=
"15"
>
缴款人手机号
</th>
<td
width=
"35%"
>
<input
id=
"mobile"
name=
"fstzsXm.mobile"
style=
"width:90%"
value=
"${fstzsXm.mobile}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
缴款人账号
</th>
<td
width=
"35%"
>
<input
id=
"zhanghao"
name=
"fstzsXm.zhanghao"
style=
"width:90%"
value=
"${fstzsXm.zhanghao}"
disabled
/>
</td>
<th
width=
"15"
>
缴款人开户银行
</th>
<td
width=
"35%"
>
<input
id=
"khh"
name=
"fstzsXm.khh"
style=
"width:90%"
value=
"${fstzsXm.khh}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
缴款方式
</th>
<td
width=
"35%"
>
<input
style=
"width:90%"
value=
"直接解缴"
disabled
/>
</td>
<th
width=
"15"
>
缴款人类型
</th>
<td
width=
"35%"
>
<input
style=
"width:90%"
value=
"单位"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
应缴总面积(平方米)
</th>
<td
width=
"35%"
>
<input
id=
"csmj"
name=
"fstzsXm.paymentItemPending.csmj"
style=
"width:90%"
value=
"${fstzsXm.paymentItemPending.csmj}"
disabled
/>
</td>
<th
width=
"15"
>
收费标准(元)
</th>
<td
width=
"35%"
>
<input
style=
"width:90%"
value=
"150"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
征收单位名称
</th>
<td
width=
"35%"
>
<input
id=
"zsdw"
name=
"fstzsXm.kpsjgl.zsdw"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.zsdw}"
disabled
/>
</td>
<th
width=
"15"
>
征收单位编码
</th>
<td
width=
"35%"
>
<input
id=
"zsdwbm"
name=
"fstzsXm.kpsjgl.zsdwbm"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.zsdwbm}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
区划码
</th>
<td
width=
"35%"
>
<input
id=
"qhm"
name=
"fstzsXm.kpsjgl.qhm"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.qhm}"
disabled
/>
</td>
<th
width=
"15"
>
收款人全称
</th>
<td
width=
"35%"
>
<input
id=
"krqc"
name=
"fstzsXm.kpsjgl.krqc"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.krqc}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
收款人账号
</th>
<td
width=
"35%"
>
<input
id=
"skrzh"
name=
"fstzsXm.kpsjgl.skrzh"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.skrzh}"
disabled
/>
</td>
<th
width=
"15"
>
收款人开户行
</th>
<td
width=
"35%"
>
<input
id=
"skrkhh"
name=
"fstzsXm.kpsjgl.skrkhh"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.skrkhh}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
项目编码
</th>
<td
width=
"35%"
>
<input
id=
"xmbm"
name=
"fstzsXm.kpsjgl.xmbm"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.xmbm}"
disabled
/>
</td>
<th
width=
"15"
>
收入项目名称
</th>
<td
width=
"35%"
>
<input
id=
"srxmmc"
name=
"fstzsXm.kpsjgl.srxmmc"
style=
"width:90%"
value=
"${fstzsXm.kpsjgl.srxmmc}"
disabled
/>
</td>
</tr>
<tr>
<th
width=
"15"
>
配套费应缴金额(元)
</th>
<td
width=
"35%"
>
<input
id=
"yjje"
name=
"fstzsXm.yjje"
style=
"width:90%"
value=
"${fstzsXm.yjje}"
disabled
/>
</td>
<th
width=
"15"
>
配套费应缴金额大写
</th>
<td
width=
"35%"
>
<input
id=
"yjjedx"
name=
"fstzsXm.yjjedx"
style=
"width:90%"
value=
"${fstzsXm.yjjedx}"
disabled
/>
</td>
</tr>
<tr
class=
"table-line-td"
>
<th
width=
"15"
>
备注(限25字以内)
</th>
<td
width=
"35%"
>
<input
id=
"beizhu"
name=
"fstzsXm.beizhu"
style=
"width:96%;margin-top: 6px;"
value=
"${fstzsXm.beizhu}"
disabled
/>
</td>
</tr>
</table>
<div
style=
"margin-top: 20px;"
>
<div
class=
"add-title"
>
配套费
</div>
<table
class=
"add-table"
>
<thead>
<tr>
<th>
序号
</th>
<th>
缴款人
</th>
<th>
计量单位
</th>
<th>
收费标准
</th>
<th>
应缴面积
</th>
<th>
应缴金额
</th>
</tr>
</thead>
<tbody
class=
"add-tr"
>
<c:forEach
items=
"${fstzsList}"
var=
"result"
varStatus=
"userStatus"
>
<tr
class=
""
>
<td
class=
"line-one line-xh"
>
${userStatus.count}
</td>
<td
class=
" line-input"
><span
class=
"db-num db-num-text"
>
${result.jkr}
</span></td>
<td
class=
"line-one"
>
元
</td>
<td
class=
"line-one"
>
150
</td>
<td
class=
"line-one line-yjmj"
>
${result.yjmj}
</td>
<td
class=
"line-input"
><span
class=
"db-num db-nums"
>
${result.yjje}
</span></td>
</tr>
</c:forEach>
</tbody>
<tr>
<td
class=
"line-one"
>
合计
</td>
<td
class=
"line-input"
></td>
<td
class=
"line-one"
></td>
<td
class=
"line-one"
></td>
<td
class=
"line-one yjmj-hj"
></td>
<td
class=
"line-one yjje-hj"
></td>
</tr>
</table>
</div>
<table
width=
"100%"
border=
"0"
class=
"fu-advice"
>
<tr
>
<td
width=
"0%"
style=
"width: 0%"
><div
class=
"add-title"
>
复核意见
</div></td>
<td
width=
"100%"
>
<textarea
id=
"fhyj"
name=
"fstzsXm.fhyj"
style=
"width:96%;margin-top: 6px;"
value=
"${fstzsXm.fhyj}"
></textarea>
</td>
</tr>
<tr>
<td
colspan=
"4"
align=
"center"
style=
"position: relative;top: 20px;"
>
<a
href=
"###"
class=
"btn_01"
onclick=
"review(0);"
>
通过
<b></b></a>
<a
href=
"###"
class=
"btn_01"
onclick=
"review(1);"
>
退回
<b></b></a>
</td>
</tr>
</table>
</div>
</form>
</div>
</div>
<script
type=
"text/javascript"
>
$
(
function
()
{
//应缴金额
var
nums
=
document
.
getElementsByClassName
(
'db-nums'
)
var
money
=
0
for
(
var
i
=
0
;
i
<
nums
.
length
;
i
++
)
{
money
+=
Number
(
$
(
nums
[
i
]).
text
())
}
$
(
'.yjje-hj'
).
append
(
money
)
//应缴面积
var
numsje
=
document
.
getElementsByClassName
(
'line-yjmj'
)
var
mj
=
0
for
(
var
i
=
0
;
i
<
numsje
.
length
;
i
++
)
{
mj
+=
Number
(
$
(
numsje
[
i
]).
text
())
}
$
(
'.yjmj-hj'
).
append
(
mj
)
})
function
review
(
flag
)
{
var
id
=
$
(
"input[name='fstzsXm.id']"
).
val
();
$
.
ajax
({
async
:
false
,
url
:
"${ctx}/jsp/fstzs/checkReviewFstzs.action?flag="
+
flag
,
type
:
'post'
,
dataType
:
'json'
,
async
:
false
,
data
:
{
'fstzsXm.id'
:
id
,
flag
:
flag
},
error
:
function
(
data
)
{
$
.
messager
.
alert
(
'错误'
,
data
.
message
);
},
success
:
function
(
data
)
{
if
(
data
.
result
)
{
document
.
myform1
.
action
=
"reviewFstzs.action?flag="
+
flag
;
document
.
myform1
.
submit
();
}
else
{
$
.
messager
.
alert
(
'错误'
,
'验证失败,'
+
data
.
message
);
return
;
}
}
});
}
</script>
</body>
</html>
WebRoot/WEB-INF/pages/fstzs/Fstzs_View.jsp
View file @
c342fcdb
...
...
@@ -267,9 +267,32 @@
}
$
(
'.yjmj-hj'
).
append
(
mj
)
})
function
review
(
flag
)
{
document
.
myform1
.
action
=
"reviewFstzs.action?flag="
+
flag
;
document
.
myform1
.
submit
();
var
id
=
$
(
"input[name='fstzsXm.id']"
).
val
();
$
.
ajax
({
async
:
false
,
url
:
"${ctx}/jsp/fstzs/checkReviewFstzs.action?flag="
+
flag
,
type
:
'post'
,
dataType
:
'json'
,
async
:
false
,
data
:
{
'fstzsXm.id'
:
id
,
flag
:
flag
},
error
:
function
(
data
)
{
$
.
messager
.
alert
(
'错误'
,
data
.
message
);
},
success
:
function
(
data
)
{
if
(
data
.
result
)
{
document
.
myform1
.
action
=
"reviewFstzs.action?flag="
+
flag
;
document
.
myform1
.
submit
();
}
else
{
$
.
messager
.
alert
(
'错误'
,
'验证失败,'
+
data
.
message
);
return
;
}
}
});
}
</script>
...
...
WebRoot/WEB-INF/pages/fstzs/Fstzs_Yjh.jsp
View file @
c342fcdb
...
...
@@ -23,10 +23,21 @@
data
:{
'fstzs.slbh'
:
slbh
},
async
:
false
async
:
false
,
error
:
function
(
data
)
{
$
.
messager
.
alert
(
'错误'
,
data
.
message
);
},
success
:
function
(
data
)
{
if
(
data
.
result
)
{
$
.
messager
.
alert
(
"提示"
,
"操作成功"
)
reloadDate
()
}
else
{
$
.
messager
.
alert
(
'错误'
,
'验证失败,'
+
data
.
message
);
return
;
}
}
});
$
.
messager
.
alert
(
"提示"
,
"操作成功"
)
reloadDate
()
}
});
...
...
@@ -40,12 +51,14 @@
function
search_fstzs
(){
var
queryParams
=
{
"fstzs.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzs.
dwmc"
:
$
(
"#
dwmc"
).
val
(),
"fstzs.
xmmc"
:
$
(
"#
xmmc"
).
val
(),
"fstzs.
jsdwmc"
:
$
(
"#js
dwmc"
).
val
(),
"fstzs.
gcxmmc"
:
$
(
"#gc
xmmc"
).
val
(),
"fstzs.yjje"
:
$
(
"#yjje"
).
val
(),
"fstzs.jkm"
:
$
(
"#jkm"
).
val
(),
"fstzs.status"
:
$
(
"#status"
).
val
(),
};
"kssj"
:
$
(
"#kssj"
).
val
(),
"jssj"
:
$
(
"#jssj"
).
val
()
};
$
(
'#pagination'
).
datagrid
(
'options'
).
queryParams
=
queryParams
;
$
(
'#pagination'
).
datagrid
(
'clearSelections'
);
$
(
"#pagination"
).
datagrid
(
'load'
);
...
...
@@ -57,15 +70,14 @@
url
:
'${ctx}/jsp/fstzs/fstzsList.action'
,
queryParams
:{
"fstzs.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzs.
dwmc"
:
$
(
"#
dwmc"
).
val
(),
"fstzs.
xmmc"
:
$
(
"#
xmmc"
).
val
(),
"fstzs.
jsdwmc"
:
$
(
"#js
dwmc"
).
val
(),
"fstzs.
gcxmmc"
:
$
(
"#gc
xmmc"
).
val
(),
"fstzs.yjje"
:
$
(
"#yjje"
).
val
(),
"fstzs.jkm"
:
$
(
"#jkm"
).
val
(),
"fstzs.status"
:
$
(
"#status"
).
val
(),
"kssj"
:
$
(
"#kssj"
).
val
(),
"jssj"
:
$
(
"#jssj"
).
val
()
},
frozenColumns
:[[
{
field
:
'id'
,
checkbox
:
true
}
]],
columns
:[[
{
field
:
'op'
,
title
:
'操作'
,
width
:
80
,
align
:
'center'
,
formatter
:
function
(
value
,
rec
){
var
result
=
""
;
...
...
@@ -112,38 +124,38 @@
<table
width=
"100%"
>
<tr>
<th
width=
"15%"
>
受理编号
</th>
<td
width=
"12%"
><input
name=
"fstzs
Xm
.slbh"
id=
"slbh"
value=
""
type=
"text"
></td>
<td
width=
"12%"
><input
name=
"fstzs.slbh"
id=
"slbh"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
缴款码
</th>
<td
width=
"12%"
><input
name=
"fstzs
Xm.yjje"
id=
"yjje
"
value=
""
type=
"text"
></td>
<td
width=
"12%"
><input
name=
"fstzs
.jkm"
id=
"jkm
"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
应缴金额
</th>
<td
width=
"12%"
><input
name=
"fstzsXm.slbh"
id=
"slbh"
value=
""
type=
"text"
></td>
<td
width=
"12%"
><input
name=
"fstzs.yjje"
id=
"yjje"
value=
""
type=
"text"
></td>
</tr>
<tr>
<th
width=
"15%"
>
工程项目名称
</th>
<td
width=
"12%"
><input
name=
"fstzs.gcxmmc"
id=
"gcxmmc"
value=
""
type=
"text"
></td>
<th
width=
"12%"
>
建设单位名称
</th>
<td
width=
"12%"
><input
name=
"fstzs.jsdwmc"
id=
"jsdwmc"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
非税通知书状态
</th>
<td
width=
"12%"
><select
name=
"rfxm.
accountStatus"
id=
"accountS
tatus"
>
<td
width=
"12%"
><select
name=
"rfxm.
status"
id=
"s
tatus"
>
<option
value=
""
>
请选择
</option>
<option
value=
"1"
>
正常
</option>
<option
value=
"
2
"
>
已缴款
</option>
<option
value=
"
3
"
>
已作废
</option>
<option
value=
"
3
"
>
已缴款
</option>
<option
value=
"
2
"
>
已作废
</option>
</select></td>
</tr>
<tr>
<th
width=
"15%"
>
工程项目名称
</th>
<td
width=
"12%"
><input
name=
"fstzsXm.gcxmmc"
id=
"gcxmmc"
value=
""
type=
"text"
></td>
<th
width=
"12%"
>
建设单位名称
</th>
<td
width=
"12%"
><input
name=
"fstzsXm.jsdwmc"
id=
"jsdwmc"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
通知书开具时间
</th>
<td
width=
"12%"
style=
"border-right: none;position: relative"
>
<input
name=
"rfxmsfxx.fkTime"
id=
"kprq"
style=
"width: 90%"
type=
"text"
class=
"Wdate"
value=
"${item1.kprq}"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
errormsg=
'此项为必填'
>
<td
width=
"12%"
style=
"border-right: none;position: relative"
>
<input
name=
"kssj"
id=
"kssj"
style=
"width: 90%"
type=
"text"
class=
"Wdate"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
>
<span
style=
"position: absolute;right: -8px"
>
-
</span>
</td>
<td
width=
"12%"
style=
"border-left: none"
>
<input
name=
"rfxmsfxx.fkTime"
id=
"kprq1"
style=
"width:90%"
type=
"text"
class=
"Wdate"
value=
"${item1.kprq}"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
errormsg=
'此项为必填'
>
<input
name=
"jssj"
id=
"jssj"
style=
"width:90%"
type=
"text"
class=
"Wdate"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
>
</td>
</tr>
<tr
>
<td
colspan=
"8"
align=
"center"
>
<a
href=
"###"
class=
"btn_01"
onclick=
"search_fstzs()"
>
查询
<b></b></a>
...
...
WebRoot/WEB-INF/pages/fstzs/Fstzs_Yjk.jsp
View file @
c342fcdb
...
...
@@ -10,11 +10,14 @@
function
search_fstzs
(){
var
queryParams
=
{
"fstzs.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzs.
dwmc"
:
$
(
"#
dwmc"
).
val
(),
"fstzs.
xmmc"
:
$
(
"#
xmmc"
).
val
(),
"fstzs.
jsdwmc"
:
$
(
"#js
dwmc"
).
val
(),
"fstzs.
gcxmmc"
:
$
(
"#gc
xmmc"
).
val
(),
"fstzs.yjje"
:
$
(
"#yjje"
).
val
(),
"fstzs.jkm"
:
$
(
"#jkm"
).
val
(),
"fstzs.status"
:
$
(
"#status"
).
val
(),
"fstzs.isKp"
:
$
(
"#isKp"
).
val
(),
"kssj"
:
$
(
"#kssj"
).
val
(),
"jssj"
:
$
(
"#jssj"
).
val
()
};
$
(
'#pagination'
).
datagrid
(
'options'
).
queryParams
=
queryParams
;
$
(
'#pagination'
).
datagrid
(
'clearSelections'
);
...
...
@@ -27,11 +30,13 @@
url
:
'${ctx}/jsp/fstzs/fstzsList.action?status=3'
,
queryParams
:{
"fstzs.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzs.
dwmc"
:
$
(
"#
dwmc"
).
val
(),
"fstzs.
xmmc"
:
$
(
"#
xmmc"
).
val
(),
"fstzs.
jsdwmc"
:
$
(
"#js
dwmc"
).
val
(),
"fstzs.
gcxmmc"
:
$
(
"#gc
xmmc"
).
val
(),
"fstzs.yjje"
:
$
(
"#yjje"
).
val
(),
"fstzs.jkm"
:
$
(
"#jkm"
).
val
(),
"fstzs.status"
:
$
(
"#status"
).
val
(),
"kssj"
:
$
(
"#kssj"
).
val
(),
"jssj"
:
$
(
"#jssj"
).
val
()
},
frozenColumns
:[[
{
field
:
'id'
,
checkbox
:
true
}
...
...
@@ -77,6 +82,24 @@
}));
});
function
kaipiao
(
id
){
$
.
messager
.
confirm
(
"提示"
,
"确认开票?"
,
function
(
result
)
{
if
(
result
)
{
$
.
ajax
({
url
:
"${ctx}/jsp/fstzs/kaipiao.action"
,
type
:
'post'
,
dataType
:
'json'
,
data
:{
id
:
id
},
async
:
false
});
$
.
messager
.
alert
(
"提示"
,
"操作成功"
)
reloadDate
()
}
});
}
</script>
</head>
...
...
@@ -89,47 +112,45 @@
<table
width=
"100%"
>
<tr>
<th
width=
"15%"
>
受理编号
</th>
<td
width=
"12%"
><input
name=
"fstzs
Xm
.slbh"
id=
"slbh"
value=
""
type=
"text"
></td>
<td
width=
"12%"
><input
name=
"fstzs.slbh"
id=
"slbh"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
缴款码
</th>
<td
width=
"12%"
><input
name=
"fstzs
Xm.yjje"
id=
"yjje
"
value=
""
type=
"text"
></td>
<td
width=
"12%"
><input
name=
"fstzs
.jkm"
id=
"jkm
"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
应缴金额
</th>
<td
width=
"12%"
><input
name=
"fstzsXm.slbh"
id=
"slbh"
value=
""
type=
"text"
></td>
<th
width=
"15%"
>
非税通知书状态
</th>
<td
width=
"12%"
><select
name=
"rfxm.accountStatus"
id=
"accountStatus"
>
<option
value=
""
>
请选择
</option>
<option
value=
"1"
>
正常
</option>
<option
value=
"2"
>
已缴款
</option>
<option
value=
"3"
>
已作废
</option>
<td
width=
"12%"
><input
name=
"fstzs.yjje"
id=
"yjje"
value=
""
type=
"text"
></td>
</select></td>
</tr>
<tr>
<th
width=
"15%"
>
工程项目名称
</th>
<td
width=
"12%"
><input
name=
"fstzs
Xm
.gcxmmc"
id=
"gcxmmc"
value=
""
type=
"text"
></td>
<td
width=
"12%"
><input
name=
"fstzs.gcxmmc"
id=
"gcxmmc"
value=
""
type=
"text"
></td>
<th
width=
"12%"
>
建设单位名称
</th>
<td
width=
"12%"
><input
name=
"fstzsXm.jsdwmc"
id=
"jsdwmc"
value=
""
type=
"text"
></td>
<th
width=
"12%"
>
开票状态
</th>
<td
width=
"12%"
><input
name=
"fstzs.jsdwmc"
id=
"jsdwmc"
value=
""
type=
"text"
></td>
<td
width=
"12%"
>
<select
name=
"rfxm.accountStatus"
id=
"accountStatus"
>
<option
value=
""
>
请选择
</option>
<option
value=
"0"
>
未开票
</option>
<option
value=
"1"
>
已开票
</option>
</select>
</td>
<th
width=
"15%"
>
非税通知书状态
</th>
<td
width=
"12%"
><select
name=
"rfxm.status"
id=
"status"
>
<option
value=
""
>
请选择
</option>
<option
value=
"1"
>
正常
</option>
<option
value=
"3"
>
已缴款
</option>
<option
value=
"2"
>
已作废
</option>
</select></td>
</tr>
<tr>
<th
width=
"15%"
>
通知书开具时间
</th>
<td
width=
"12%"
style=
"border-right: none;position: relative"
>
<input
name=
"rfxmsfxx.fkTime"
id=
"kprq"
style=
"width: 90%"
type=
"text"
class=
"Wdate"
value=
"${item1.kprq}"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
errormsg=
'此项为必填'
>
<td
width=
"12%"
style=
"border-right: none;position: relative"
>
<input
name=
"kssj"
id=
"kssj"
style=
"width: 90%"
type=
"text"
class=
"Wdate"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
>
<span
style=
"position: absolute;right: -8px"
>
-
</span>
</td>
<td
width=
"12%"
style=
"border-left: none"
>
<input
name=
"rfxmsfxx.fkTime"
id=
"kprq1"
style=
"width:90%"
type=
"text"
class=
"Wdate"
value=
"${item1.kprq}"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
errormsg=
'此项为必填'
>
<input
name=
"jssj"
id=
"jssj"
style=
"width:90%"
type=
"text"
class=
"Wdate"
onfocus=
"WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"
datatype=
"*1-30"
>
</td>
<td></td>
<th
width=
"12%"
>
开票状态
</th>
<td
width=
"12%"
>
<select
name=
"rfxm.isKp"
id=
"isKp"
>
<option
value=
""
>
请选择
</option>
<option
value=
"0"
>
未开票
</option>
<option
value=
"1"
>
已开票
</option>
</select>
</td>
</tr>
...
...
WebRoot/WEB-INF/pages/fstzs/Fstzs_Ysc.jsp
View file @
c342fcdb
...
...
@@ -18,6 +18,12 @@
}
function
dayin
(
id
){
var
dt
=
new
Date
();
createSimpleWindow
(
"win_fstzs"
,
"打印非税通知书"
,
"${ctx}/jsp/fstzs/winPrintFstzs.action?id="
+
id
,
900
,
700
);
}
function
jihuo
(
id
){
$
.
messager
.
confirm
(
"提示"
,
"确认要激活该项目?"
,
function
(
result
)
{
if
(
result
)
{
...
...
@@ -28,10 +34,20 @@
data
:{
id
:
id
},
async
:
false
async
:
false
,
error
:
function
(
data
)
{
$
.
messager
.
alert
(
'错误'
,
data
.
message
);
},
success
:
function
(
data
)
{
if
(
data
.
result
)
{
$
.
messager
.
alert
(
"提示"
,
data
.
message
)
reloadDate
()
}
else
{
$
.
messager
.
alert
(
'错误'
,
'验证失败,'
+
data
.
message
);
return
;
}
}
});
$
.
messager
.
alert
(
"提示"
,
"操作成功"
)
reloadDate
()
}
});
}
...
...
@@ -62,8 +78,8 @@
function
search_fstzsXm
(){
var
queryParams
=
{
"fstzsXm.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzsXm.jsdwmc"
:
$
(
"#dwmc"
).
val
(),
"fstzsXm.gcxmmc"
:
$
(
"#xmmc"
).
val
(),
"fstzsXm.jsdwmc"
:
$
(
"#
js
dwmc"
).
val
(),
"fstzsXm.gcxmmc"
:
$
(
"#
gc
xmmc"
).
val
(),
"fstzsXm.yjje"
:
$
(
"#yjje"
).
val
()
};
$
(
'#pagination'
).
datagrid
(
'options'
).
queryParams
=
queryParams
;
...
...
@@ -77,13 +93,13 @@
url
:
'${ctx}/jsp/fstzs/fstzsXmList.action'
,
queryParams
:{
"fstzsXm.slbh"
:
$
(
"#slbh"
).
val
(),
"fstzsXm.dwmc"
:
$
(
"#dwmc"
).
val
(),
"fstzsXm.
xmmc"
:
$
(
"#
xmmc"
).
val
(),
"fstzsXm.dwmc"
:
$
(
"#
js
dwmc"
).
val
(),
"fstzsXm.
gcxmmc"
:
$
(
"#gc
xmmc"
).
val
(),
"fstzsXm.yjje"
:
$
(
"#yjje"
).
val
(),
},
columns
:[[
{
field
:
'op'
,
title
:
'操作'
,
width
:
1
2
0
,
align
:
'center'
,
formatter
:
function
(
value
,
rec
){
{
field
:
'op'
,
title
:
'操作'
,
width
:
1
7
0
,
align
:
'center'
,
formatter
:
function
(
value
,
rec
){
var
result
=
""
;
if
(
rec
.
status
==
3
||
rec
.
status
==
4
)
{
//复核不通过、退回时
result
+=
"<a class='btn_01_mini' onclick=edit('"
+
rec
.
id
+
"') >修改<b></b></a>"
;
...
...
@@ -92,11 +108,14 @@
}
if
(
rec
.
status
==
2
)
{
//复核通过
result
+=
"<a class='btn_01_mini' onclick=jihuo('"
+
rec
.
id
+
"') >激活<b></b></a>"
;
}
else
if
(
rec
.
status
==
4
)
{
//退回时
result
+=
"<a class='btn_01_mini' onclick=shanchu('"
+
rec
.
id
+
"') >删除<b></b></a>"
;
result
+=
"<a class='btn_01_mini' onclick=dayin('"
+
rec
.
id
+
"') >打印<b></b></a>"
;
}
else
if
(
rec
.
status
==
6
)
{
result
+=
"<a class='btn_01_mini' onclick=jihuo('"
+
rec
.
id
+
"') >重新激活<b></b></a>"
;
result
+=
"<a class='btn_01_mini' onclick=dayin('"
+
rec
.
id
+
"') >打印<b></b></a>"
;
}
else
{
result
+=
"<a class='btn_01_mini' style='opacity: 0.5' >激活<b></b></a>"
;
}
return
result
;
}},
{
field
:
'slbh'
,
title
:
'受理编号'
,
width
:
150
},
...
...
@@ -115,11 +134,17 @@
}},
{
field
:
'status'
,
title
:
'是否复核'
,
width
:
80
,
formatter
:
function
(
value
,
row
,
index
){
if
(
value
==
1
)
return
"待复核"
;
if
(
value
==
2
)
return
"复核通过"
;
if
(
value
==
2
||
value
==
6
)
return
"复核通过"
;
if
(
value
==
3
)
return
"待复不通过"
;
if
(
value
==
4
)
return
"作废退回"
;
return
"待生成"
;
}},
{
field
:
'jhjd'
,
title
:
'激活进度'
,
width
:
80
,
formatter
:
function
(
value
,
row
,
index
)
{
if
(
row
.
status
==
6
)
{
return
row
.
jhjd
}
return
''
;
}}
]]
}));
...
...
conf/system.properties
View file @
c342fcdb
...
...
@@ -137,3 +137,17 @@ maxReSendTimes=720
CAPath
=
D:/CA/JWSFC.pfx
publicKey
=
30819F300D06092A864886F70D010101050003818D0030818902818100C3CF2F786A2D19146F4B1CBAA812271254994AEA5AA1D707B6FBA5C284C6679D6BE432E861478EE933A17C957574EC07574FC33DE245685C15A0EF706FB68D628CD0F7DE99C602A02ED3B477440BA89D039005CDCA7BB8D3F93209CACA680DF1D485C983E6F5B30D713AF131D37502497DE1DEFE533E1D93D880D716DE89D9F90203010001
privateKey
=
30820275020100300D06092A864886F70D01010105000482025F3082025B02010002818100C3CF2F786A2D19146F4B1CBAA812271254994AEA5AA1D707B6FBA5C284C6679D6BE432E861478EE933A17C957574EC07574FC33DE245685C15A0EF706FB68D628CD0F7DE99C602A02ED3B477440BA89D039005CDCA7BB8D3F93209CACA680DF1D485C983E6F5B30D713AF131D37502497DE1DEFE533E1D93D880D716DE89D9F902030100010281800E42B79D5876425E57A0ABCDF851A220D6A2776F4BFC7F71A364FE74854101E8D823BD85691852132FDC71FB5C9B90591485CD9D632E54E467FAD99561BD74DC78DE13E86A9017E89CAD1758DD44AE596B0C59E01B68AB187EF2CF8C88C21224DE563475277AD9FB4816B6DD8B9FAD54C4A045F1FFC9090F00EB5D0E4EAADF81024100F0062C05CAA10926CBC31633A87364AFC77239921700D377CFF004D7E36E52699332E562C81DBD1491CD9241A7C7AF0F00BD8F03E4FE16AC2A1E4696ACF3C5C9024100D0D7A089752BD0834730CC490BA9A9E1AE95FF7BD555F7CD38B0366F7ADE548E65BCF049073E6EC048B6880FF32FFB82E5FF016368AB92D63285A4A1AD424AB102404FE72E168B7B0A69E0E143EDD480FD9ECABD8ACEC85B9D0A40ADBD5F05363FB727AA84D45A9C13CADA32DE227F312964CC314E7FD46685B3B09DBD9001697189024068F3A3FAD046879021ABB54E142D5C714D129684FDEE290D1A2AFC0044280D284E9A87CABB7835A22E2884F2370D6B011A626FA92C85E4D1FE2BC95372C5B8D1024059F575C1DC549538A1E9FB853C53074E05CBE6A220409056D2815B594DD76D139A0A95A5AEE539CB11532A6254315E123C0B97BDE35E2DD2D4D40B0E46391463
#非税系统
fs-url
:
http://172.16.250.6:18001/agency-web/agency3/rest.do
fs-appid
:
NJSCSJSFYZSFWZX3908073
fs-appkey
:
f756761c49d19870cb444582312d
fs-kpdbm
:
001
fs-dwbm
:
708002
fs-qhbm
:
320100
fs-pjdm
:
32010122
fs-version
:
1.0.1
#非税开票
InvoicingPartySignature
:
MIIE3gYKKoEcz1UGAQQCAqCCBM4wggTKAgEBMQ4wDAYIKoEcz1UBgxEFADAMBgoqgRzPVQYBBAIBoIIDnzCCA5swggNAoAMCAQICCAMzARAAIHFnMAwGCCqBHM9VAYN1BQAwgY0xCzAJBgNVBAYTAkNOMQ8wDQYDVQQIDAbmsZ/oi48xDzANBgNVBAcMBuWNl+S6rDEqMCgGA1UECgwh5rGf6IuP55yB55S15a2Q5pS/5Yqh5pWw5a2X6K+B5LmmMTAwLgYDVQQDDCfmsZ/oi4/nnIHnlLXlrZDmlL/liqHor4HkuaborqTor4HkuK3lv4MwHhcNMjEwNDA3MDIwNTUyWhcNMjQwNDA3MDIwNTUyWjCB3zELMAkGA1UEBhMCQ04xEzARBgNVBAcMCk5KUkEtMTNMUkExGzAZBgNVBAoMEuWNl+S6rOW4gui0ouaUv+WxgDEgMB4GCSqGSIb3DQEJARYRMTIyNjg3NDcwNEBxcS5jb20xKzApBgNVBCkMIk5KMTMyMDIxMDQwNzExMDc0OTAxYWEwMzNlNTEwMDI5NzExFzAVBgNVBAwMDjMyMDEwMDcwODAwMjAxMTYwNAYDVQQDDC3ljZfkuqzluILln47luILlu7rorr7otLnnlKjlvoHmlLbmnI3liqHkuK3lv4MwWTATBgcqhkjOPQIBBggqgRzPVQGCLQNCAASfwXxttKn5HFG0EgMo0NL0NwnE4cHagal/8c+9pTce0Vvp1ulLRFBDDvU496QpMnQR3QTFe12Ssg0tCl/1L26co4IBMjCCAS4wHAYDVR0RBBUwE4ERMTIyNjg3NDcwNEBxcS5jb20wMQYDVR0fBCowKDAmoCSgIoYgaHR0cDovLzE3Mi4xNjguMy4zL0pTWldDQVNNMi5jcmwwHwYDVR0jBBgwFoAUKgST2kzDi0ImBVVubsQgxVn3YP0wHQYDVR0OBBYEFPlThU8YR1MQfKAj8AcsgF/tp7UNMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMEBTADAQEAMCIGCCqBHNAUBAEBBBagFBMSMTIzMjAxMDA0MjU4MDM4MDJRMDwGCCsGAQUFBwEBBDAwLjAsBggrBgEFBQcwAoYgaHR0cDovLzE3Mi4xNjguMy4zL0pTWldDQVNNMi5jZXIwGwYJKwYBBAGCNxQCBA4MDOWNleS9jeivgeS5pjAMBggqgRzPVQGDdQUAA0cAMEQCIMtfLq+L+qJjJAN9vI+ArRKB/yq2/MhwiZ1euwdnNSurAiC6ne34R+r2TwHIYfcTZeG7nMvxMogHClt76WghaAyAvjGCAQIwgf8CAQEwgZowgY0xCzAJBgNVBAYTAkNOMQ8wDQYDVQQIDAbmsZ/oi48xDzANBgNVBAcMBuWNl+S6rDEqMCgGA1UECgwh5rGf6IuP55yB55S15a2Q5pS/5Yqh5pWw5a2X6K+B5LmmMTAwLgYDVQQDDCfmsZ/oi4/nnIHnlLXlrZDmlL/liqHor4HkuaborqTor4HkuK3lv4MCCAMzARAAIHFnMAwGCCqBHM9VAYMRBQAwDQYJKoEcz1UBgi0BBQAEQAI3KV2nBo2ZYtcSGFNbDGN7SqSGzlgTuxyWyvAadiLphalq/OzTtriggza2waDIbNqGi3MOxQcr+PbB8zWZl9Q=
EInvoiceContent
:
<Header><EInvoiceTag>CZ-EI-32</EInvoiceTag><EInvoiceID>0986189200-02101023</EInvoiceID><Version>1.1.0</Version></Header><EInvoiceData><Main><EInvoiceName>江苏省非税收入统一票据(电子)</EInvoiceName><EInvoiceCode>32010120</EInvoiceCode><EInvoiceNumber>{{pjdm}}</EInvoiceNumber><RandomNumber>{{random}}</RandomNumber><EInvoiceSpecimenCode>3201012010</EInvoiceSpecimenCode><SupervisorAreaCode>320100</SupervisorAreaCode><TotalAmount>{{yjje}}</TotalAmount><IssueDate>{{kprq}}</IssueDate><IssueTime>{{kpsj}}</IssueTime><InvoicingParty><InvoicingPartyCode>708002</InvoicingPartyCode><InvoicingPartyName>南京市城市建设费用征收服务中心</InvoicingPartyName><RecName>南京市城市建设费用征收服务中心</RecName><RecAcct>10105901040000062</RecAcct><RecOpBk>南京农行鼓楼支行</RecOpBk></InvoicingParty><PayerParty><PayerPartyType>2</PayerPartyType><PayerPartyCode/><PayerPartyName>{{jkr}}</PayerPartyName><PayerAcct/><PayerOpBk/></PayerParty><PayMode/><BizCode>{{lsh}}</BizCode><CurrencyType/><ExchangeRate/><Remark>{{beizhu}}</Remark><HandlingPerson>南京市城市建设费用征收服务中心</HandlingPerson><Checker/><SupervisorRemark/><InvoicingPartySeal><SealId>f2ae8a477d7247148adf2e5cd48630e6</SealId><SealName/><SealHash/></InvoicingPartySeal><SupervisorPartySeal><SealId>f2ae8a477d7247148adf2e5cd48630e6</SealId><SealName/><SealHash/></SupervisorPartySeal><MainExt><RelatedInvoiceCode/><RelatedInvoiceNumber/><PayCode>{{jkm}}</PayCode><BusinessNumber/><BusinessDate/><Gender/><Age/><Address/><School/><Faculty/><Major/><Classes/><StudentID/><MedicalType/><MedicalDate/><CaseNumber/><PatientNumber/><HospitalizationNumber/><DepartmentName/><InHospitalDate/><OutHospitalDate/><PrepayAmount/><RechargeAmount/><RefundAmount/><OrgType/><MedicalInsuranceType/><MedicalInsuranceID/><FundPayAmount/><OtherPayAmount/><AccountPayAmount/><OwnPayAmount/><SelfpaymentAmount/><SelfpaymentCost/><Custom1/><Custom2/><Custom3/><Custom4/><Custom5/><Custom6/><Custom7/><Custom8/><Custom9/><Custom10/><Custom11/><Custom12/></MainExt></Main><Details><Item><ItemCode>103015601</ItemCode><ItemName>城市基础设施配套费-城区</ItemName><ItemQuantity>{{yjmj}}</ItemQuantity><ItemUnit>元</ItemUnit><ItemStd>150.00</ItemStd><ItemAmount>{{yjje}}</ItemAmount><ItemRemark/><ItemExt><ItemDetailName/></ItemExt></Item></Details></EInvoiceData>
\ No newline at end of file
src/com/jshx/fstzs/conf/sql-map-fstzs.xml
View file @
c342fcdb
...
...
@@ -21,7 +21,23 @@
<![CDATA[and t.gcxmmc like :gcxmmc]]>
</isNotEmpty>
<isNotEmpty
property=
"yjje"
>
<![CDATA[and t.yjje = :yjje]]>
<![CDATA[and t.yjje like :yjje]]>
</isNotEmpty>
<isNotEmpty
property=
"jkm"
>
<![CDATA[and t.jkm like :jkm]]>
</isNotEmpty>
<isNotEmpty
property=
"isKp"
>
<![CDATA[and t.isKp = :isKp]]>
</isNotEmpty>
<isNotEmpty
property=
"kssj"
>
<![CDATA[and t.jhTime > :kssj]]>
</isNotEmpty>
<isNotEmpty
property=
"jssj"
>
<![CDATA[and t.jhTime < :jssj]]>
</isNotEmpty>
order by t.createTime desc
...
...
src/com/jshx/fstzs/conf/struts-fstzs.xml
View file @
c342fcdb
...
...
@@ -32,6 +32,11 @@
<result
name=
"view"
>
/WEB-INF/pages/fstzs/Fstzs_View.jsp
</result>
</action>
<!--打印非税通知书窗口-->
<action
name=
"winPrintFstzs"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"winAddFstzs"
>
<result
name=
"view"
>
/WEB-INF/pages/fstzs/Fstzs_Print.jsp
</result>
</action>
<!--生成非税通知书操作-->
<action
name=
"addFstzs"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"addFstzs"
>
<interceptor-ref
name=
"tokenInterceptor"
/>
...
...
@@ -41,7 +46,7 @@
</action>
<!--
生成非税通知书操作
-->
<!--
复核
-->
<action
name=
"reviewFstzs"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"reviewFstzs"
>
<interceptor-ref
name=
"tokenInterceptor"
/>
<interceptor-ref
name=
"coreStack"
/>
...
...
@@ -49,6 +54,10 @@
<result
name=
"invalid.token"
>
/invalid.jsp
</result>
</action>
<action
name=
"checkReviewFstzs"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"checkReviewFstzs"
>
</action>
<!-- 列表查询,返回Json数据 -->
<action
name=
"fstzsList"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"list"
>
...
...
@@ -71,6 +80,14 @@
<!--删除-->
<action
name=
"shanchu"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"shanchu"
>
<interceptor-ref
name=
"tokenInterceptor"
/>
<interceptor-ref
name=
"coreStack"
/>
<result
name=
"reload"
type=
"redirect"
>
/common/successToSelf.jsp?windowId=win_fstzs
</result>
<result
name=
"invalid.token"
>
/invalid.jsp
</result>
</action>
<!--激活项目,参数传到财政系统-->
<action
name=
"kaipiao"
class=
"com.jshx.fstzs.web.FstzsAction"
method=
"kaipiao"
>
</action>
</package>
...
...
src/com/jshx/fstzs/entity/Fstzs.java
View file @
c342fcdb
...
...
@@ -20,15 +20,22 @@ public class Fstzs extends BaseModel {
private
FstzsXm
fstzsXm
;
/**
* 非税系统流水号
*/
private
String
lsh
;
/**
* 非税通知书状态
* 0:默认,不显示在列表
* 1:已激活,正常
* 2:已作废
* 3:已缴费:从财政同步状态
* 4:激活没成功,生成电子缴费码失败
*/
private
Integer
status
;
/**
* 编制日期
*/
...
...
@@ -40,7 +47,7 @@ public class Fstzs extends BaseModel {
private
String
jkm
;
/**
* 缴款人
* 缴款
缴款
人
*/
private
String
jkr
;
...
...
@@ -114,12 +121,32 @@ public class Fstzs extends BaseModel {
*/
private
String
jkqd
;
/**
* 操作激活的时间
*/
private
String
jhTime
;
/**
* 一个项目可以对应对个缴款人
* 这个是总缴款人数量
*/
private
Integer
length
;
/**
* 是否审批通过
*/
private
Integer
isSptg
;
/**
* 生成缴款书的经办人
*/
private
String
jksJbr
;
/**
* 开票的经办人
*/
private
String
kpJbr
;
/**
* 对应项目信息
...
...
@@ -285,4 +312,45 @@ public class Fstzs extends BaseModel {
public
void
setLength
(
Integer
length
)
{
this
.
length
=
length
;
}
public
Integer
getIsSptg
()
{
return
isSptg
;
}
public
void
setIsSptg
(
Integer
isSptg
)
{
this
.
isSptg
=
isSptg
;
}
public
String
getJhTime
()
{
return
jhTime
;
}
public
void
setJhTime
(
String
jhTime
)
{
this
.
jhTime
=
jhTime
;
}
public
String
getLsh
()
{
return
lsh
;
}
public
void
setLsh
(
String
lsh
)
{
this
.
lsh
=
lsh
;
}
public
String
getJksJbr
()
{
return
jksJbr
;
}
public
void
setJksJbr
(
String
jksJbr
)
{
this
.
jksJbr
=
jksJbr
;
}
public
String
getKpJbr
()
{
return
kpJbr
;
}
public
void
setKpJbr
(
String
kpJbr
)
{
this
.
kpJbr
=
kpJbr
;
}
}
src/com/jshx/fstzs/entity/FstzsXm.java
View file @
c342fcdb
...
...
@@ -30,7 +30,8 @@ public class FstzsXm extends BaseModel
* 2:复核通过
* 3:复核不通过
* 4:作废退回
* 5:已激活,不再显示在已生成列表
* 5:已激活,全部成功,不再显示在已生成列表
* 6:已激活,但部分成功
*/
private
Integer
status
;
...
...
@@ -104,6 +105,14 @@ public class FstzsXm extends BaseModel
*/
private
Kpsjgl
kpsjgl
;
/**
* 激活进度
* 成功数/总数
* 1/3 = 成功1个,总共3个
*/
private
String
jhjd
;
public
Integer
getStatus
()
{
return
status
;
}
...
...
@@ -227,4 +236,12 @@ public class FstzsXm extends BaseModel
public
void
setFhyj
(
String
fhyj
)
{
this
.
fhyj
=
fhyj
;
}
public
String
getJhjd
()
{
return
jhjd
;
}
public
void
setJhjd
(
String
jhjd
)
{
this
.
jhjd
=
jhjd
;
}
}
src/com/jshx/fstzs/fsutil/FsRequest.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
;
import
com.google.gson.Gson
;
import
com.google.gson.reflect.TypeToken
;
import
com.jshx.core.utils.CodeUtil
;
import
com.jshx.core.utils.SysPropertiesUtil
;
import
com.jshx.fstzs.entity.Fstzs
;
import
com.jshx.fstzs.entity.FstzsXm
;
import
com.jshx.fstzs.fsutil.bean.*
;
import
com.jshx.fstzs.service.FstzsService
;
import
com.jshx.http.HttpclientUtil
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
* 非税系统请求
*/
public
class
FsRequest
{
private
static
String
getProp
(
String
key
)
{
return
SysPropertiesUtil
.
getProperty
(
key
);
}
private
static
String
request
(
String
method
,
Map
<
String
,
Object
>
data
)
{
Map
<
String
,
String
>
params
=
ParamsUtil
.
getParams
(
method
,
data
);
try
{
String
post
=
HttpclientUtil
.
post
(
getProp
(
"fs-url"
),
params
);
if
(
post
!=
null
)
{
return
new
String
(
CodeUtil
.
base64Decode
(
post
));
}
return
post
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
"失败"
;
}
private
static
String
test
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"place_code"
,
"001"
);
return
request
(
"basic.bills.get"
,
params
);
}
/**
*
* @param fstzs 非税缴费对象
*/
public
static
KjjksResp
jihuo
(
Fstzs
fstzs
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"serial_number"
,
fstzs
.
getLsh
());
//流水号
map
.
put
(
"place_code"
,
getProp
(
"fs-kpdbm"
));
//开票点编码
map
.
put
(
"bill_code"
,
"00010302"
);
//票据种类编码
map
.
put
(
"date"
,
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
new
Date
()));
//日期: YYYY-MM-DD
map
.
put
(
"payer_name"
,
fstzs
.
getJkr
());
//缴款人
map
.
put
(
"payer_tel"
,
fstzs
.
getFstzsXm
().
getMobile
());
//缴款人手机号
// map.put("payer_acc_name","???");//付款人户名
map
.
put
(
"payer_no"
,
fstzs
.
getFstzsXm
().
getZhanghao
());
//付款人账号(划缴时,必填)
map
.
put
(
"payer_bank"
,
fstzs
.
getFstzsXm
().
getKhh
());
//付款人开户银行(划缴时,必填)
/**
* 账户给定方式:
* 1财政设置
* 2单位指定
* 3子账号(不支持单位独立部署)
*/
map
.
put
(
"acc_assign_type"
,
"1"
);
map
.
put
(
"total_amt"
,
fstzs
.
getYjje
());
//合计金额
map
.
put
(
"author"
,
fstzs
.
getJksJbr
());
//开票人
map
.
put
(
"memo"
,
fstzs
.
getFstzsXm
().
getBeizhu
());
//备注
Map
<
String
,
String
>
mapDatail
=
new
HashMap
<>();
mapDatail
.
put
(
"item_code"
,
"10304240101"
);
//项目编号
mapDatail
.
put
(
"std"
,
fstzs
.
getYjje
());
//收费标准
mapDatail
.
put
(
"number"
,
"1"
);
//数量
mapDatail
.
put
(
"amt"
,
fstzs
.
getYjje
());
//金额
List
<
Map
<
String
,
String
>>
list
=
new
ArrayList
<>();
list
.
add
(
mapDatail
);
map
.
put
(
"item_details"
,
list
);
try
{
String
request
=
request
(
"paybook.e.issue.do"
,
map
);
FsResp
<
KjjksResp
>
resp
=
new
Gson
().
fromJson
(
request
,
new
TypeToken
<
FsResp
<
KjjksResp
>>()
{
}.
getType
());
return
resp
.
message
;
}
catch
(
Exception
e
)
{
return
null
;
}
}
/**
* 作废电子缴款书
* @param fstzs
*/
public
static
boolean
zuofei
(
Fstzs
fstzs
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"pay_code"
,
fstzs
.
getJkm
());
String
request
=
request
(
"paybook.e.invalidate.do"
,
map
);
FsResp
<
CaozuoResp
>
resp
=
new
Gson
().
fromJson
(
request
,
new
TypeToken
<
FsResp
<
CaozuoResp
>>()
{
}.
getType
());
return
resp
.
message
!=
null
&&
"0000"
.
equals
(
resp
.
message
.
succCode
);
}
/**
* 查询缴款书状态,是否已缴款
* @param fstzs
* @param service
*/
public
static
void
jiaokuanzt
(
Fstzs
fstzs
,
FstzsService
service
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"pay_code"
,
fstzs
.
getJkm
());
String
request
=
request
(
"paybook.confirm.get"
,
map
);
FsResp
<
JkztResp
>
resp
=
new
Gson
().
fromJson
(
request
,
new
TypeToken
<
FsResp
<
JkztResp
>>()
{
}.
getType
());
if
(
resp
.
message
!=
null
)
{
fstzs
.
setStatus
(
3
);
//已缴款
fstzs
.
setIsJk
(
1
);
fstzs
.
setJkTime
(
resp
.
message
.
confirmDate
);
fstzs
.
setJkqd
(
resp
.
message
.
paymentChannel
);
service
.
update
(
fstzs
);
}
}
public
static
boolean
kaipiao
(
Fstzs
fstzs
,
String
jbr
)
{
//1,stock.billno.get 获取电子票号
Map
<
String
,
Object
>
mapPh
=
new
HashMap
<>();
mapPh
.
put
(
"place_code"
,
getProp
(
"fs-kpdbm"
));
//开票点编码
mapPh
.
put
(
"bill_batch_code"
,
getProp
(
"fs-pjdm"
));
// 票据代码
String
requestPh
=
request
(
"stock.billno.get"
,
mapPh
);
FsResp
<
KaipiaoResp
>
respPh
=
new
Gson
().
fromJson
(
requestPh
,
new
TypeToken
<
FsResp
<
KaipiaoResp
>>()
{
}.
getType
());
//2,通过电子票号 开票
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"serial_number"
,
System
.
currentTimeMillis
()
+
""
);
//业务流水号,不能重复
map
.
put
(
"place_code"
,
getProp
(
"fs-kpdbm"
));
//开票点编码
map
.
put
(
"bill_batch_code"
,
getProp
(
"fs-pjdm"
));
//电子票据代码
map
.
put
(
"bill_no"
,
respPh
.
message
.
billNo
);
//电子票据代码
List
<
Map
<
String
,
String
>>
payCodeInfo
=
new
ArrayList
<>();
Map
<
String
,
String
>
payCodeInfoMap
=
new
HashMap
<>();
payCodeInfoMap
.
put
(
"pay_code"
,
fstzs
.
getJkm
());
payCodeInfoMap
.
put
(
"pay_code"
,
fstzs
.
getYjje
());
payCodeInfo
.
add
(
payCodeInfoMap
);
map
.
put
(
"pay_code_info"
,
payCodeInfo
);
// 多张缴款书缴款完成后,开具电子票据需要传1张对应的缴款码
String
xml
=
getProp
(
"EInvoiceContent"
);
xml
=
xml
.
replaceAll
(
"\\{\\{pjdm}}"
,
getProp
(
"fs-pjdm"
));
xml
=
xml
.
replaceAll
(
"\\{\\{random}}"
,
new
Random
().
nextInt
(
100000
)
+
""
);
xml
=
xml
.
replaceAll
(
"\\{\\{yjje}}"
,
fstzs
.
getYjje
());
xml
=
xml
.
replaceAll
(
"\\{\\{kprq}}"
,
new
SimpleDateFormat
(
"yyyyMMdd"
).
format
(
new
Date
()));
xml
=
xml
.
replaceAll
(
"\\{\\{kprqsj}}"
,
new
SimpleDateFormat
(
"HH:mm:ss"
).
format
(
new
Date
()));
xml
=
xml
.
replaceAll
(
"\\{\\{jkr}}"
,
jbr
);
xml
=
xml
.
replaceAll
(
"\\{\\{lsh}}"
,
fstzs
.
getLsh
());
xml
=
xml
.
replaceAll
(
"\\{\\{beizhu}}"
,
fstzs
.
getFstzsXm
().
getBeizhu
());
xml
=
xml
.
replaceAll
(
"\\{\\{jkm}}"
,
fstzs
.
getJkm
());
xml
=
xml
.
replaceAll
(
"\\{\\{yjmj}}"
,
fstzs
.
getYjmj
());
xml
=
xml
.
replaceAll
(
"\\{\\{yjmj}}"
,
fstzs
.
getYjmj
());
map
.
put
(
"invoice_data"
,
xml
);
// 电子票据头部、票面信息进行base64编码后内容。
Map
<
String
,
String
>
signInfo
=
new
HashMap
<>();
signInfo
.
put
(
"value"
,
getProp
(
"InvoicingPartySignature"
));
//对电子票据头部、票面信息的签名值(签名原文为电子票据数据 Header和EInvoiceData内容),base64格式。
signInfo
.
put
(
"format"
,
"DETACH"
);
//签名格式类型,目前固定 DETACH
signInfo
.
put
(
"algorithm"
,
"SM2"
);
//摘要算法,默认SM2
signInfo
.
put
(
"time"
,
"???"
);
//签名时间
map
.
put
(
"sign_info"
,
signInfo
);
// 签名信息节点A-3
String
request
=
request
(
"invoice.e.issue.withsign.do"
,
map
);
FsResp
<
CaozuoResp
>
resp
=
new
Gson
().
fromJson
(
request
,
new
TypeToken
<
FsResp
<
CaozuoResp
>>()
{
}.
getType
());
return
resp
.
message
!=
null
&&
"0000"
.
equals
(
resp
.
message
.
succCode
);
}
public
static
void
main
(
String
[]
args
)
{
String
xml
=
"niasd{{pjdm}}12131"
;
xml
=
xml
.
replaceAll
(
"\\{\\{pjdm}}"
,
"AAAAAA"
);
System
.
out
.
println
(
xml
);
}
}
src/com/jshx/fstzs/fsutil/ParamsUtil.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
;
import
com.google.gson.Gson
;
import
com.jshx.core.utils.CodeUtil
;
import
com.jshx.core.utils.SysPropertiesUtil
;
import
java.nio.charset.StandardCharsets
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 构建请求参数
*/
public
class
ParamsUtil
{
/**
* 这里构建统一参数
* @param method
* @param data 接口所需参数
* @return
*/
public
static
Map
<
String
,
String
>
getParams
(
String
method
,
Map
<
String
,
Object
>
data
)
{
Map
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"method"
,
method
);
params
.
put
(
"app_id"
,
SysPropertiesUtil
.
getProperty
(
"fs-appid"
));
params
.
put
(
"format"
,
"json"
);
params
.
put
(
"datetime"
,
new
SimpleDateFormat
(
"yyyyMMddHHmmssSSS"
).
format
(
new
Date
()));
params
.
put
(
"version"
,
SysPropertiesUtil
.
getProperty
(
"fs-version"
));
params
.
put
(
"region_code"
,
SysPropertiesUtil
.
getProperty
(
"fs-qhbm"
));
//区划?外部传?
params
.
put
(
"agency_code"
,
SysPropertiesUtil
.
getProperty
(
"fs-dwbm"
));
//单位
params
.
put
(
"encryption"
,
"0"
);
//不加密
params
.
put
(
"message_id"
,
System
.
currentTimeMillis
()
+
""
);
//每次请求生成一个唯一请求编号
if
(
data
!=
null
&&
data
.
size
()
>
0
)
{
//第一步,message外面套一层
Map
<
String
,
Object
>
message
=
new
HashMap
<>();
message
.
put
(
"message"
,
data
);
//第二步,message进行base64加密
byte
[]
msgEn
=
CodeUtil
.
base64Encode
(
new
Gson
().
toJson
(
message
).
getBytes
(
StandardCharsets
.
UTF_8
));
//第三步,放回接口参数内
params
.
put
(
"message"
,
new
String
(
msgEn
));
//接口需要的参数
}
SecurityUtils
.
security
(
params
);
return
params
;
}
public
static
void
main
(
String
[]
args
)
{
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"key"
,
"value"
);
Map
<
String
,
String
>
hello
=
getParams
(
"hello"
,
map
);
System
.
out
.
println
(
new
Gson
().
toJson
(
hello
));
}
}
src/com/jshx/fstzs/fsutil/SecurityUtils.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
;
import
com.jshx.core.utils.CodeUtil
;
import
java.util.Map
;
import
java.util.TreeMap
;
/**
* 财政局
*/
public
class
SecurityUtils
{
public
static
final
String
APPKEY
=
"f756761c49d19870cb444582312d"
;
public
static
final
String
KEY
=
"security"
;
/**
* 第一步,将请求参数按照名称字母顺序排序,把所有参数值串在一起。
* (security除外)
* 请求参数:
* method,format,app_id,datetime,version,
* encryption,message_id,message,region_code,agency_code
* 参数按ASCII顺序排序为: agency_code, app_id,
* datetime,encryption,format,message, message_id, method,region_code,version
* 例如参数值:agency_code=1,app_id=2,datetime=3,encryption=4,format=5
* , message=6, message_id=7 ,method=8 ,region_code=9, version=10
* 得到拼接串:12345678910
*
* 第二步,使用md5算法进行加密。
* 将appKey 拼接到参数字符串头、尾进行md5加密后,再转化成大写。
* 格式是:byte2hex(MD5(appKey12345678910appKey))
* Java防伪方法见附录2
* 注:byte2hex为自定义方法,JAVA中MD5是对字节数组加密,加密结果是16字节,
* 我们需要的是32位的大写字符串。
* @param param
* @return
*/
public
static
void
security
(
Map
<
String
,
String
>
param
)
{
if
(
param
==
null
||
param
.
size
()
==
0
)
return
;
//1,使用treemap自动进行ASCII顺序排序
TreeMap
<
String
,
String
>
treeMap
=
new
TreeMap
<>(
param
);
StringBuffer
values
=
new
StringBuffer
(
APPKEY
);
treeMap
.
keySet
().
stream
().
map
(
i
->
treeMap
.
get
(
i
)).
forEach
(
v
->
values
.
append
(
v
));
values
.
append
(
APPKEY
);
//MD5加密
String
target
=
CodeUtil
.
encode
(
values
.
toString
(),
CodeUtil
.
MD5
).
toUpperCase
();
//放回原参数
param
.
put
(
KEY
,
target
);
}
}
src/com/jshx/fstzs/fsutil/bean/CaozuoResp.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
;
import
com.google.gson.annotations.SerializedName
;
/**
* 操作的返回
*/
public
class
CaozuoResp
{
/**
* 成功的返回代码:0000
*/
@SerializedName
(
"succ_code"
)
public
String
succCode
;
@SerializedName
(
"succ_msg"
)
public
String
succMsg
;
}
src/com/jshx/fstzs/fsutil/bean/FsError.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
;
import
com.google.gson.annotations.SerializedName
;
public
class
FsError
{
/**
* 错误返回:
* {"error_message":{"error_code":"0003","error_msg":"未找到对应的票据批次,票据种类:00010302票据批次:32010122"}}
*/
@SerializedName
(
"error_code"
)
public
String
errorCode
;
@SerializedName
(
"error_msg"
)
public
String
errorMsg
;
}
src/com/jshx/fstzs/fsutil/bean/FsResp.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
;
import
com.google.gson.annotations.SerializedName
;
public
class
FsResp
<
T
>
{
/**
* 错误返回:
* {"error_message":{"error_code":"0003","error_msg":"未找到对应的票据批次,票据种类:00010302票据批次:32010122"}}
*
* 成功返回:
* {"message":{"pay_code":"32010022090000118237","serial_number":"1669705873720","create_time":"20221129151116215"}}
*/
@SerializedName
(
"error_message"
)
public
FsError
errorMessage
;
public
T
message
;
public
String
getErrorMsg
()
{
if
(
errorMessage
!=
null
)
{
return
errorMessage
.
errorCode
+
":"
+
errorMessage
.
errorMsg
;
}
return
"未知错误"
;
}
}
src/com/jshx/fstzs/fsutil/bean/JkztResp.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
;
import
com.google.gson.annotations.SerializedName
;
/**
* 缴款状态查询
*/
public
class
JkztResp
{
/**
* 缴款日期:YYYY-MM-DD
*/
@SerializedName
(
"confirm_date"
)
public
String
confirmDate
;
/**
* 缴款渠道(代码)
*/
@SerializedName
(
"payment_channel"
)
public
String
paymentChannel
;
/**
* 缴款银行
*/
@SerializedName
(
"pay_proxy_bank"
)
public
String
payProxyBank
;
/**
* 缴款金额
*/
@SerializedName
(
"total_amt"
)
public
String
totalAmt
;
}
src/com/jshx/fstzs/fsutil/bean/KaipiaoResp.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
;
import
com.google.gson.annotations.SerializedName
;
public
class
KaipiaoResp
{
/**
* 票据代码
*/
@SerializedName
(
"bill_batch_code"
)
public
String
billBatchCode
;
/**
* 票号
*/
@SerializedName
(
"bill_no"
)
public
String
billNo
;
}
src/com/jshx/fstzs/fsutil/bean/KjjksResp.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
;
import
com.google.gson.annotations.SerializedName
;
/**
* 开具电子缴款书
* {"message":{"pay_code":"32010022090000118237","serial_number":"1669705873720","create_time":"20221129151116215"}}
*/
public
class
KjjksResp
{
/**
* 缴款码
*/
@SerializedName
(
"pay_code"
)
public
String
payCode
;
/**
* 流水号
*/
@SerializedName
(
"serial_number"
)
public
String
serialNumber
;
/**
* 时间
* yyyyMMddHHmmssSSSSS
*/
@SerializedName
(
"create_time"
)
public
String
createTime
;
}
src/com/jshx/fstzs/fsutil/bean/dianzipiao/EInvoice.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
.
dianzipiao
;
import
javax.xml.bind.annotation.XmlRootElement
;
/**
* 电子票据-根节点
*/
@XmlRootElement
(
name
=
"EInvoice"
)
public
class
EInvoice
{
public
Header
Header
;
public
EInvoiceData
EInvoiceData
;
public
EInvoiceSignature
EInvoiceSignature
;
}
src/com/jshx/fstzs/fsutil/bean/dianzipiao/EInvoiceData.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
.
dianzipiao
;
import
javax.xml.bind.annotation.XmlRootElement
;
/**
* 电子票据票面信息
*/
@XmlRootElement
(
name
=
"EInvoiceData"
)
public
class
EInvoiceData
{
}
src/com/jshx/fstzs/fsutil/bean/dianzipiao/EInvoiceSignature.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
.
dianzipiao
;
import
javax.xml.bind.annotation.XmlRootElement
;
/**
* 电子票据数字签名
*/
@XmlRootElement
(
name
=
"EInvoiceSignature"
)
public
class
EInvoiceSignature
{
public
Signature
Signature
;
@XmlRootElement
(
name
=
"Signature"
)
public
static
class
Signature
{
public
String
Reference
;
//签名原文引用
public
String
SignatureAlgorithm
;
//签名算法
public
String
SignatureFormat
;
//签名格式类型
public
String
SignatureTime
;
//签名时间
public
String
SignatureValue
;
//签名值
public
KeyInfo
KeyInfo
;
//证书信息
}
/**
* 证书信息
*/
@XmlRootElement
(
name
=
"KeyInfo"
)
public
static
class
KeyInfo
{
public
String
SerialNumber
;
//证书编号
public
String
X509IssuerName
;
//X.509证书颁发者名称
}
}
src/com/jshx/fstzs/fsutil/bean/dianzipiao/Header.java
0 → 100644
View file @
c342fcdb
package
com
.
jshx
.
fstzs
.
fsutil
.
bean
.
dianzipiao
;
import
javax.xml.bind.annotation.XmlRootElement
;
/**
* 电子票据头部
*/
@XmlRootElement
(
name
=
"Header"
)
public
class
Header
{
/**
* 格式为“财政电子票据标识–监管机构行政区划代码”。其中,财政电子票据标识为“CZ-EI”;区划代码为2位数字
*/
public
String
EInvoiceTag
;
public
String
EInvoiceID
;
public
String
Version
;
}
src/com/jshx/fstzs/web/FstzsAction.java
View file @
c342fcdb
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment