1、错误描述
java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1020)
at java.lang.Double.parseDouble(Double.java:540)
service.impl.BillServiceImpl.exportBillExcel(BillServiceImpl.java:301)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
at com.sun.proxy.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
P
r
o
x
y
46
<
/
s
p
a
n
>
.
e
x
p
o
r
t
B
i
l
l
E
x
c
e
l
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
U
n
k
n
o
w
n
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
S
o
u
r
c
e
<
/
s
p
a
n
>
)
c
o
n
t
r
o
l
l
e
r
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
B
i
l
l
C
o
n
t
r
o
l
l
e
r
<
/
s
p
a
n
>
.
e
x
p
o
r
t
B
i
l
l
E
x
c
e
l
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
r
r
i
v
a
l
B
i
l
l
C
o
n
t
r
o
l
l
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
159
<
/
s
p
a
n
>
)
a
t
s
u
n
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
r
e
f
l
e
c
t
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
N
a
t
i
v
e
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
<
/
s
p
a
n
>
.
i
n
v
o
k
e
0
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
N
a
t
i
v
e
<
/
s
p
a
n
>
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
M
e
t
h
o
d
<
/
s
p
a
n
>
)
a
t
s
u
n
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
r
e
f
l
e
c
t
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
N
a
t
i
v
e
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
<
/
s
p
a
n
>
.
i
n
v
o
k
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
N
a
t
i
v
e
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
57
<
/
s
p
a
n
>
)
a
t
s
u
n
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
r
e
f
l
e
c
t
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
D
e
l
e
g
a
t
i
n
g
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
<
/
s
p
a
n
>
.
i
n
v
o
k
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
D
e
l
e
g
a
t
i
n
g
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
43
<
/
s
p
a
n
>
)
a
t
j
a
v
a
.
l
a
n
g
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
r
e
f
l
e
c
t
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
M
e
t
h
o
d
<
/
s
p
a
n
>
.
i
n
v
o
k
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
M
e
t
h
o
d
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
606
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
m
e
t
h
o
d
.
s
u
p
p
o
r
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
<
/
s
p
a
n
>
.
i
n
v
o
k
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
215
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
m
e
t
h
o
d
.
s
u
p
p
o
r
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
<
/
s
p
a
n
>
.
i
n
v
o
k
e
F
o
r
R
e
q
u
e
s
t
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
132
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
a
n
n
o
t
a
t
i
o
n
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
S
e
r
v
l
e
t
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
<
/
s
p
a
n
>
.
i
n
v
o
k
e
A
n
d
H
a
n
d
l
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
S
e
r
v
l
e
t
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
104
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
a
n
n
o
t
a
t
i
o
n
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
<
/
s
p
a
n
>
.
i
n
v
o
k
e
H
a
n
d
l
e
M
e
t
h
o
d
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
749
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
a
n
n
o
t
a
t
i
o
n
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
<
/
s
p
a
n
>
.
h
a
n
d
l
e
I
n
t
e
r
n
a
l
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
689
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
A
d
a
p
t
e
r
<
/
s
p
a
n
>
.
h
a
n
d
l
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
A
d
a
p
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
83
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
d
o
D
i
s
p
a
t
c
h
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
938
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
d
o
S
e
r
v
i
c
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
870
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
p
r
o
c
e
s
s
R
e
q
u
e
s
t
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
961
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
d
o
G
e
t
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
852
<
/
s
p
a
n
>
)
a
t
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
H
t
t
p
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
s
e
r
v
i
c
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
H
t
t
p
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
620
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
s
e
r
v
i
c
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
837
<
/
s
p
a
n
>
)
a
t
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
H
t
t
p
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
s
e
r
v
i
c
e
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
H
t
t
p
S
e
r
v
l
e
t
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
727
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
303
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
208
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
w
e
b
s
o
c
k
e
t
.
s
e
r
v
e
r
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
W
s
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
W
s
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
52
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
241
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
208
<
/
s
p
a
n
>
)
a
t
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
f
i
l
t
e
r
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
T
r
a
n
s
c
a
t
i
o
n
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
T
r
a
n
s
c
a
t
i
o
n
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
32
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
241
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
208
<
/
s
p
a
n
>
)
a
t
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
f
i
l
t
e
r
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
C
o
n
t
e
n
t
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
C
o
n
t
e
n
t
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
57
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
241
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
208
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
f
i
l
t
e
r
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
88
<
/
s
p
a
n
>
)
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
b
u
i
l
t
i
n
"
>
f
i
l
t
e
r
<
/
s
p
a
n
>
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
107
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
241
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
208
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
P
r
o
x
i
e
d
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
P
r
o
x
i
e
d
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
61
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
d
v
i
c
e
F
i
l
t
e
r
<
/
s
p
a
n
>
.
e
x
e
c
u
t
e
C
h
a
i
n
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
d
v
i
c
e
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
108
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
d
v
i
c
e
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
d
v
i
c
e
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
137
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
125
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
P
r
o
x
i
e
d
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
d
o
F
i
l
t
e
r
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
P
r
o
x
i
e
d
F
i
l
t
e
r
C
h
a
i
n
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
66
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
S
h
i
r
o
F
i
l
t
e
r
<
/
s
p
a
n
>
.
e
x
e
c
u
t
e
C
h
a
i
n
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
S
h
i
r
o
F
i
l
t
e
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
449
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
s
h
i
r
o
.
w
e
b
.
s
e
r
v
l
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
S
h
i
r
o
F
i
l
t
e
r
<
/
s
p
a
n
>
<span class="hljs-type">Proxy46</span>.exportBillExcel(<span class="hljs-type">Unknown</span> <span class="hljs-type">Source</span>) controller.<span class="hljs-type">BillController</span>.exportBillExcel(<span class="hljs-type">ArrivalBillController</span>.java:<span class="hljs-number">159</span>) at sun.<span class="hljs-built_in">reflect</span>.<span class="hljs-type">NativeMethodAccessorImpl</span>.invoke0(<span class="hljs-type">Native</span> <span class="hljs-type">Method</span>) at sun.<span class="hljs-built_in">reflect</span>.<span class="hljs-type">NativeMethodAccessorImpl</span>.invoke(<span class="hljs-type">NativeMethodAccessorImpl</span>.java:<span class="hljs-number">57</span>) at sun.<span class="hljs-built_in">reflect</span>.<span class="hljs-type">DelegatingMethodAccessorImpl</span>.invoke(<span class="hljs-type">DelegatingMethodAccessorImpl</span>.java:<span class="hljs-number">43</span>) at java.lang.<span class="hljs-built_in">reflect</span>.<span class="hljs-type">Method</span>.invoke(<span class="hljs-type">Method</span>.java:<span class="hljs-number">606</span>) at org.springframework.web.method.support.<span class="hljs-type">InvocableHandlerMethod</span>.invoke(<span class="hljs-type">InvocableHandlerMethod</span>.java:<span class="hljs-number">215</span>) at org.springframework.web.method.support.<span class="hljs-type">InvocableHandlerMethod</span>.invokeForRequest(<span class="hljs-type">InvocableHandlerMethod</span>.java:<span class="hljs-number">132</span>) at org.springframework.web.servlet.mvc.method.annotation.<span class="hljs-type">ServletInvocableHandlerMethod</span>.invokeAndHandle(<span class="hljs-type">ServletInvocableHandlerMethod</span>.java:<span class="hljs-number">104</span>) at org.springframework.web.servlet.mvc.method.annotation.<span class="hljs-type">RequestMappingHandlerAdapter</span>.invokeHandleMethod(<span class="hljs-type">RequestMappingHandlerAdapter</span>.java:<span class="hljs-number">749</span>) at org.springframework.web.servlet.mvc.method.annotation.<span class="hljs-type">RequestMappingHandlerAdapter</span>.handleInternal(<span class="hljs-type">RequestMappingHandlerAdapter</span>.java:<span class="hljs-number">689</span>) at org.springframework.web.servlet.mvc.method.<span class="hljs-type">AbstractHandlerMethodAdapter</span>.handle(<span class="hljs-type">AbstractHandlerMethodAdapter</span>.java:<span class="hljs-number">83</span>) at org.springframework.web.servlet.<span class="hljs-type">DispatcherServlet</span>.doDispatch(<span class="hljs-type">DispatcherServlet</span>.java:<span class="hljs-number">938</span>) at org.springframework.web.servlet.<span class="hljs-type">DispatcherServlet</span>.doService(<span class="hljs-type">DispatcherServlet</span>.java:<span class="hljs-number">870</span>) at org.springframework.web.servlet.<span class="hljs-type">FrameworkServlet</span>.processRequest(<span class="hljs-type">FrameworkServlet</span>.java:<span class="hljs-number">961</span>) at org.springframework.web.servlet.<span class="hljs-type">FrameworkServlet</span>.doGet(<span class="hljs-type">FrameworkServlet</span>.java:<span class="hljs-number">852</span>) at javax.servlet.http.<span class="hljs-type">HttpServlet</span>.service(<span class="hljs-type">HttpServlet</span>.java:<span class="hljs-number">620</span>) at org.springframework.web.servlet.<span class="hljs-type">FrameworkServlet</span>.service(<span class="hljs-type">FrameworkServlet</span>.java:<span class="hljs-number">837</span>) at javax.servlet.http.<span class="hljs-type">HttpServlet</span>.service(<span class="hljs-type">HttpServlet</span>.java:<span class="hljs-number">727</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.internalDoFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">303</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.doFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">208</span>) at org.apache.tomcat.websocket.server.<span class="hljs-type">WsFilter</span>.doFilter(<span class="hljs-type">WsFilter</span>.java:<span class="hljs-number">52</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.internalDoFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">241</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.doFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">208</span>) at <span class="hljs-built_in">filter</span>.<span class="hljs-type">TranscationFilter</span>.doFilter(<span class="hljs-type">TranscationFilter</span>.java:<span class="hljs-number">32</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.internalDoFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">241</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.doFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">208</span>) at <span class="hljs-built_in">filter</span>.<span class="hljs-type">ContentFilter</span>.doFilter(<span class="hljs-type">ContentFilter</span>.java:<span class="hljs-number">57</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.internalDoFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">241</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.doFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">208</span>) at org.springframework.web.<span class="hljs-built_in">filter</span>.<span class="hljs-type">CharacterEncodingFilter</span>.doFilterInternal(<span class="hljs-type">CharacterEncodingFilter</span>.java:<span class="hljs-number">88</span>) at org.springframework.web.<span class="hljs-built_in">filter</span>.<span class="hljs-type">OncePerRequestFilter</span>.doFilter(<span class="hljs-type">OncePerRequestFilter</span>.java:<span class="hljs-number">107</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.internalDoFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">241</span>) at org.apache.catalina.core.<span class="hljs-type">ApplicationFilterChain</span>.doFilter(<span class="hljs-type">ApplicationFilterChain</span>.java:<span class="hljs-number">208</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">ProxiedFilterChain</span>.doFilter(<span class="hljs-type">ProxiedFilterChain</span>.java:<span class="hljs-number">61</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">AdviceFilter</span>.executeChain(<span class="hljs-type">AdviceFilter</span>.java:<span class="hljs-number">108</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">AdviceFilter</span>.doFilterInternal(<span class="hljs-type">AdviceFilter</span>.java:<span class="hljs-number">137</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">OncePerRequestFilter</span>.doFilter(<span class="hljs-type">OncePerRequestFilter</span>.java:<span class="hljs-number">125</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">ProxiedFilterChain</span>.doFilter(<span class="hljs-type">ProxiedFilterChain</span>.java:<span class="hljs-number">66</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">AbstractShiroFilter</span>.executeChain(<span class="hljs-type">AbstractShiroFilter</span>.java:<span class="hljs-number">449</span>) at org.apache.shiro.web.servlet.<span class="hljs-type">AbstractShiroFilter</span>
<spanclass="hljs−type">Proxy46</span>.exportBillExcel(<spanclass="hljs−type">Unknown</span><spanclass="hljs−type">Source</span>)controller.<spanclass="hljs−type">BillController</span>.exportBillExcel(<spanclass="hljs−type">ArrivalBillController</span>.java:<spanclass="hljs−number">159</span>)atsun.<spanclass="hljs−builtin">reflect</span>.<spanclass="hljs−type">NativeMethodAccessorImpl</span>.invoke0(<spanclass="hljs−type">Native</span><spanclass="hljs−type">Method</span>)atsun.<spanclass="hljs−builtin">reflect</span>.<spanclass="hljs−type">NativeMethodAccessorImpl</span>.invoke(<spanclass="hljs−type">NativeMethodAccessorImpl</span>.java:<spanclass="hljs−number">57</span>)atsun.<spanclass="hljs−builtin">reflect</span>.<spanclass="hljs−type">DelegatingMethodAccessorImpl</span>.invoke(<spanclass="hljs−type">DelegatingMethodAccessorImpl</span>.java:<spanclass="hljs−number">43</span>)atjava.lang.<spanclass="hljs−builtin">reflect</span>.<spanclass="hljs−type">Method</span>.invoke(<spanclass="hljs−type">Method</span>.java:<spanclass="hljs−number">606</span>)atorg.springframework.web.method.support.<spanclass="hljs−type">InvocableHandlerMethod</span>.invoke(<spanclass="hljs−type">InvocableHandlerMethod</span>.java:<spanclass="hljs−number">215</span>)atorg.springframework.web.method.support.<spanclass="hljs−type">InvocableHandlerMethod</span>.invokeForRequest(<spanclass="hljs−type">InvocableHandlerMethod</span>.java:<spanclass="hljs−number">132</span>)atorg.springframework.web.servlet.mvc.method.annotation.<spanclass="hljs−type">ServletInvocableHandlerMethod</span>.invokeAndHandle(<spanclass="hljs−type">ServletInvocableHandlerMethod</span>.java:<spanclass="hljs−number">104</span>)atorg.springframework.web.servlet.mvc.method.annotation.<spanclass="hljs−type">RequestMappingHandlerAdapter</span>.invokeHandleMethod(<spanclass="hljs−type">RequestMappingHandlerAdapter</span>.java:<spanclass="hljs−number">749</span>)atorg.springframework.web.servlet.mvc.method.annotation.<spanclass="hljs−type">RequestMappingHandlerAdapter</span>.handleInternal(<spanclass="hljs−type">RequestMappingHandlerAdapter</span>.java:<spanclass="hljs−number">689</span>)atorg.springframework.web.servlet.mvc.method.<spanclass="hljs−type">AbstractHandlerMethodAdapter</span>.handle(<spanclass="hljs−type">AbstractHandlerMethodAdapter</span>.java:<spanclass="hljs−number">83</span>)atorg.springframework.web.servlet.<spanclass="hljs−type">DispatcherServlet</span>.doDispatch(<spanclass="hljs−type">DispatcherServlet</span>.java:<spanclass="hljs−number">938</span>)atorg.springframework.web.servlet.<spanclass="hljs−type">DispatcherServlet</span>.doService(<spanclass="hljs−type">DispatcherServlet</span>.java:<spanclass="hljs−number">870</span>)atorg.springframework.web.servlet.<spanclass="hljs−type">FrameworkServlet</span>.processRequest(<spanclass="hljs−type">FrameworkServlet</span>.java:<spanclass="hljs−number">961</span>)atorg.springframework.web.servlet.<spanclass="hljs−type">FrameworkServlet</span>.doGet(<spanclass="hljs−type">FrameworkServlet</span>.java:<spanclass="hljs−number">852</span>)atjavax.servlet.http.<spanclass="hljs−type">HttpServlet</span>.service(<spanclass="hljs−type">HttpServlet</span>.java:<spanclass="hljs−number">620</span>)atorg.springframework.web.servlet.<spanclass="hljs−type">FrameworkServlet</span>.service(<spanclass="hljs−type">FrameworkServlet</span>.java:<spanclass="hljs−number">837</span>)atjavax.servlet.http.<spanclass="hljs−type">HttpServlet</span>.service(<spanclass="hljs−type">HttpServlet</span>.java:<spanclass="hljs−number">727</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.internalDoFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">303</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.doFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">208</span>)atorg.apache.tomcat.websocket.server.<spanclass="hljs−type">WsFilter</span>.doFilter(<spanclass="hljs−type">WsFilter</span>.java:<spanclass="hljs−number">52</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.internalDoFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">241</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.doFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">208</span>)at<spanclass="hljs−builtin">filter</span>.<spanclass="hljs−type">TranscationFilter</span>.doFilter(<spanclass="hljs−type">TranscationFilter</span>.java:<spanclass="hljs−number">32</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.internalDoFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">241</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.doFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">208</span>)at<spanclass="hljs−builtin">filter</span>.<spanclass="hljs−type">ContentFilter</span>.doFilter(<spanclass="hljs−type">ContentFilter</span>.java:<spanclass="hljs−number">57</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.internalDoFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">241</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.doFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">208</span>)atorg.springframework.web.<spanclass="hljs−builtin">filter</span>.<spanclass="hljs−type">CharacterEncodingFilter</span>.doFilterInternal(<spanclass="hljs−type">CharacterEncodingFilter</span>.java:<spanclass="hljs−number">88</span>)atorg.springframework.web.<spanclass="hljs−builtin">filter</span>.<spanclass="hljs−type">OncePerRequestFilter</span>.doFilter(<spanclass="hljs−type">OncePerRequestFilter</span>.java:<spanclass="hljs−number">107</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.internalDoFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">241</span>)atorg.apache.catalina.core.<spanclass="hljs−type">ApplicationFilterChain</span>.doFilter(<spanclass="hljs−type">ApplicationFilterChain</span>.java:<spanclass="hljs−number">208</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">ProxiedFilterChain</span>.doFilter(<spanclass="hljs−type">ProxiedFilterChain</span>.java:<spanclass="hljs−number">61</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">AdviceFilter</span>.executeChain(<spanclass="hljs−type">AdviceFilter</span>.java:<spanclass="hljs−number">108</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">AdviceFilter</span>.doFilterInternal(<spanclass="hljs−type">AdviceFilter</span>.java:<spanclass="hljs−number">137</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">OncePerRequestFilter</span>.doFilter(<spanclass="hljs−type">OncePerRequestFilter</span>.java:<spanclass="hljs−number">125</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">ProxiedFilterChain</span>.doFilter(<spanclass="hljs−type">ProxiedFilterChain</span>.java:<spanclass="hljs−number">66</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">AbstractShiroFilter</span>.executeChain(<spanclass="hljs−type">AbstractShiroFilter</span>.java:<spanclass="hljs−number">449</span>)atorg.apache.shiro.web.servlet.<spanclass="hljs−type">AbstractShiroFilter</span>1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
C
o
n
n
e
c
t
i
o
n
H
a
n
d
l
e
r
<
/
s
p
a
n
>
.
p
r
o
c
e
s
s
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
A
b
s
t
r
a
c
t
P
r
o
t
o
c
o
l
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
611
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
J
I
o
E
n
d
p
o
i
n
t
<
/
s
p
a
n
>
<span class="hljs-type">AbstractConnectionHandler</span>.process(<span class="hljs-type">AbstractProtocol</span>.java:<span class="hljs-number">611</span>) at org.apache.tomcat.util.net.<span class="hljs-type">JIoEndpoint</span>
<spanclass="hljs−type">AbstractConnectionHandler</span>.process(<spanclass="hljs−type">AbstractProtocol</span>.java:<spanclass="hljs−number">611</span>)atorg.apache.tomcat.util.net.<spanclass="hljs−type">JIoEndpoint</span>SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
W
o
r
k
e
r
<
/
s
p
a
n
>
.
r
u
n
(
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
<
/
s
p
a
n
>
.
j
a
v
a
:
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
n
u
m
b
e
r
"
>
615
<
/
s
p
a
n
>
)
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
t
h
r
e
a
d
s
.
<
s
p
a
n
c
l
a
s
s
=
"
h
l
j
s
−
t
y
p
e
"
>
T
a
s
k
T
h
r
e
a
d
<
/
s
p
a
n
>
<span class="hljs-type">Worker</span>.run(<span class="hljs-type">ThreadPoolExecutor</span>.java:<span class="hljs-number">615</span>) at org.apache.tomcat.util.threads.<span class="hljs-type">TaskThread</span>
<spanclass="hljs−type">Worker</span>.run(<spanclass="hljs−type">ThreadPoolExecutor</span>.java:<spanclass="hljs−number">615</span>)atorg.apache.tomcat.util.threads.<spanclass="hljs−type">TaskThread</span>WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
2、错误原因
-
double result =
0;
-
-
for(
int i=
0;i<data.size();i++)
-
{
-
Map<String,Object> map=(Map<String, Object>) data.get(i);
-
HSSFRow datarow = sheet.createRow(i+
1);
-
HSSFCell c8 = datarow.createCell(
8);
-
HSSFRichTextString t8 =
new HSSFRichTextString(map.get(
“result”)+
“”);
-
c8.setCellValue(t8);
-
result += Double.parseDouble(t8.toString());
-
}
在将字符串强制转换成double时,数据库查询的result字段值为空字符串,而强制转换成double类型的值不能为null或“”,这样就导致报错
3、解决办法
将强制转换前判断result是否为空字符串(null已经在SQL语句中判断):
result += Double.parseDouble(“”.equals(t8.toString())?“0.00”:t8.toString());
注意:这里字符串为空,用equals方法而不是用“==”