Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
caosy
/
fun-golf-service
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
1
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
8107898d
authored
Jan 16, 2019
by
chongli
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发票申请根据订单号查询;被驳回的订单可以再次提交
parent
3f4f2601
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
115 additions
and
63 deletions
src/main/java/com/ctrip/fun/golf/dao/basic/InvoiceRequestDao.java
src/main/java/com/ctrip/fun/golf/service/basic/InvoiceRequestService.java
src/main/java/com/ctrip/fun/golf/dao/basic/InvoiceRequestDao.java
View file @
8107898d
package
com
.
ctrip
.
fun
.
golf
.
dao
.
basic
;
import
java.math.BigInteger
;
import
java.util.HashMap
;
import
java.util.List
;
import
org.hibernate.Criteria
;
import
org.hibernate.criterion.MatchMode
;
import
org.hibernate.criterion.Order
;
import
org.hibernate.criterion.Projections
;
import
org.hibernate.criterion.Restrictions
;
import
com.ctrip.fun.common.vo.SortDirectionEnum
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
org.hibernate.Query
;
import
org.hibernate.SQLQuery
;
import
org.hibernate.Session
;
import
com.ctrip.fun.common.vo.basic.InvoiceRequestQuery
;
import
com.ctrip.fun.golf.dao.GenericHibernateDao
;
import
com.ctrip.fun.golf.domain.basic.InvoiceRequest
;
...
...
@@ -15,67 +14,108 @@ import com.ctrip.fun.golf.vo.PagedEntityBean;
public
class
InvoiceRequestDao
extends
GenericHibernateDao
<
InvoiceRequest
,
Integer
>{
public
PagedEntityBean
<
InvoiceRequest
>
queryList
(
Object
queryCon
)
{
InvoiceRequestQuery
queryBean
=
(
InvoiceRequestQuery
)
queryCon
;
Criteria
criteria
=
this
.
getCriteria
(
InvoiceRequest
.
class
);
InvoiceRequestQuery
queryBean
=
(
InvoiceRequestQuery
)
queryCon
;
StringBuilder
sb
=
new
StringBuilder
(
300
);
sb
.
append
(
"SELECT SQL_CALC_FOUND_ROWS distinct a.id,costOfDepart,invoiceTitle,taxIdNum,contactName,contactTel,contactAddress,invoiceRemark,expressNo,refusedReason,sendTime,refusedReason,createTime,`status`,salesRemark,requestPerson"
);
sb
.
append
(
" FROM ord_invoicerequest a LEFT JOIN ord_invoiceorderinfo b on (a.id=b.requestId)"
);
sb
.
append
(
"where 1=1 "
);
Map
<
String
,
Object
>
parameters
=
new
HashMap
<
String
,
Object
>();
if
(
null
!=
queryBean
.
getContactTel
()
&&
!
""
.
equals
(
queryBean
.
getContactTel
()))
{
criteria
.
add
(
Restrictions
.
like
(
"contactTel"
,
queryBean
.
getContactTel
(),
MatchMode
.
ANYWHERE
));
}
if
(
null
!=
queryBean
.
getRequestPerson
()&&
!
""
.
equals
(
queryBean
.
getRequestPerson
()))
{
criteria
.
add
(
Restrictions
.
like
(
"requestPerson"
,
queryBean
.
getRequestPerson
(),
MatchMode
.
ANYWHERE
));
}
if
(
null
!=
queryBean
.
getStatus
()&&
0
!=
queryBean
.
getStatus
())
{
criteria
.
add
(
Restrictions
.
eq
(
"status"
,
queryBean
.
getStatus
()));
}
if
(
queryBean
.
getCreateTimeStart
()
!=
null
)
{
criteria
.
add
(
Restrictions
.
ge
(
"createTime"
,
queryBean
.
getCreateTimeStart
()));
}
if
(
queryBean
.
getCreateTimeEnd
()
!=
null
)
{
criteria
.
add
(
Restrictions
.
le
(
"createTime"
,
queryBean
.
getCreateTimeEnd
()));
}
sb
.
append
(
" and a.contactTel=:contactTel "
);
parameters
.
put
(
"contactTel"
,
queryBean
.
getContactTel
());
}
if
(
null
!=
queryBean
.
getRequestPerson
()
&&
!
""
.
equals
(
queryBean
.
getRequestPerson
()))
{
sb
.
append
(
" and a.requestPerson=:requestPerson "
);
parameters
.
put
(
"requestPerson"
,
queryBean
.
getRequestPerson
());
}
if
(
null
!=
queryBean
.
getCreateTimeStart
()
&&
!
""
.
equals
(
queryBean
.
getCreateTimeStart
()))
{
sb
.
append
(
" and a.createTime>:createTimeStart "
);
parameters
.
put
(
"createTimeStart"
,
queryBean
.
getCreateTimeStart
());
}
if
(
null
!=
queryBean
.
getCreateTimeEnd
()
&&
!
""
.
equals
(
queryBean
.
getCreateTimeEnd
()))
{
sb
.
append
(
" and a.createTime<:createTimeEnd "
);
parameters
.
put
(
"createTimeEnd"
,
queryBean
.
getCreateTimeEnd
());
}
if
(
null
!=
queryBean
.
getStatus
()
&&
queryBean
.
getStatus
()!=
0
)
{
sb
.
append
(
" and a.status=:status "
);
parameters
.
put
(
"status"
,
queryBean
.
getStatus
());
}
if
(
null
!=
queryBean
.
getOrderNo
()
&&
!
""
.
equals
(
queryBean
.
getOrderNo
()))
{
sb
.
append
(
" and b.orderNo=:orderNo "
);
parameters
.
put
(
"orderNo"
,
queryBean
.
getOrderNo
());
}
sb
.
append
(
"order by id"
);
Session
session
=
this
.
getSession
();
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
criteria
.
setFirstResult
(
queryBean
.
getPagerOffset
());
criteria
.
setMaxResults
(
queryBean
.
getPagerPerPage
());
if
(
queryBean
.
getSortDirection
().
equals
(
SortDirectionEnum
.
ASC
))
{
criteria
.
addOrder
(
Order
.
asc
(
"id"
));
}
else
{
criteria
.
addOrder
(
Order
.
desc
(
"id"
));
for
(
Entry
<
String
,
Object
>
entry
:
parameters
.
entrySet
())
{
query
.
setParameter
(
entry
.
getKey
(),
entry
.
getValue
());
}
List
<
InvoiceRequest
>
result
=
criteria
.
list
();
criteria
.
setFirstResult
(
0
);
Long
count
=
(
Long
)
criteria
.
setProjection
(
Projections
.
rowCount
())
.
uniqueResult
();
query
.
addEntity
(
InvoiceRequest
.
class
).
list
();
query
.
setFirstResult
(
queryBean
.
getPagerOffset
());
query
.
setMaxResults
(
queryBean
.
getPagerPerPage
());
List
<
InvoiceRequest
>
list
=
query
.
list
();
Query
queryCount
=
session
.
createSQLQuery
(
" SELECT FOUND_ROWS() "
);
int
count
=
((
BigInteger
)
queryCount
.
uniqueResult
()).
intValue
();
PagedEntityBean
<
InvoiceRequest
>
pagedEntityBean
=
new
PagedEntityBean
<
InvoiceRequest
>();
pagedEntityBean
.
setCount
(
count
);
pagedEntityBean
.
setResult
(
resul
t
);
pagedEntityBean
.
setCount
(
(
long
)
count
);
pagedEntityBean
.
setResult
(
lis
t
);
return
pagedEntityBean
;
}
public
List
<
InvoiceRequest
>
excelList
(
Object
queryCon
)
{
InvoiceRequestQuery
queryBean
=
(
InvoiceRequestQuery
)
queryCon
;
Criteria
criteria
=
this
.
getCriteria
(
InvoiceRequest
.
class
);
InvoiceRequestQuery
queryBean
=
(
InvoiceRequestQuery
)
queryCon
;
StringBuilder
sb
=
new
StringBuilder
(
300
);
sb
.
append
(
"SELECT distinct a.id,costOfDepart,invoiceTitle,taxIdNum,contactName,contactTel,contactAddress,invoiceRemark,expressNo,refusedReason,sendTime,refusedReason,createTime,`status`,salesRemark,requestPerson"
);
sb
.
append
(
" FROM ord_invoicerequest a LEFT JOIN ord_invoiceorderinfo b on (a.id=b.requestId)"
);
sb
.
append
(
"where 1=1 "
);
Map
<
String
,
Object
>
parameters
=
new
HashMap
<
String
,
Object
>();
if
(
null
!=
queryBean
.
getContactTel
()
&&
!
""
.
equals
(
queryBean
.
getContactTel
()))
{
criteria
.
add
(
Restrictions
.
like
(
"contactTel"
,
queryBean
.
getContactTel
(),
MatchMode
.
ANYWHERE
));
}
if
(
null
!=
queryBean
.
getRequestPerson
()&&
!
""
.
equals
(
queryBean
.
getRequestPerson
()))
{
criteria
.
add
(
Restrictions
.
like
(
"requestPerson"
,
queryBean
.
getRequestPerson
(),
MatchMode
.
ANYWHERE
));
sb
.
append
(
" and a.contactTel=:contactTel "
);
parameters
.
put
(
"contactTel"
,
queryBean
.
getContactTel
());
}
if
(
queryBean
.
getCreateTimeStart
()
!=
null
)
{
criteria
.
add
(
Restrictions
.
ge
(
"createTime"
,
queryBean
.
getCreateTimeStart
()));
}
if
(
queryBean
.
getCreateTimeEnd
()
!=
null
)
{
criteria
.
add
(
Restrictions
.
le
(
"createTime"
,
queryBean
.
getCreateTimeEnd
()));
}
if
(
queryBean
.
getSortDirection
().
equals
(
SortDirectionEnum
.
ASC
))
{
criteria
.
addOrder
(
Order
.
asc
(
"id"
));
}
else
{
criteria
.
addOrder
(
Order
.
desc
(
"id"
));
if
(
null
!=
queryBean
.
getRequestPerson
()
&&
!
""
.
equals
(
queryBean
.
getRequestPerson
()))
{
sb
.
append
(
" and a.requestPerson=:requestPerson "
);
parameters
.
put
(
"requestPerson"
,
queryBean
.
getRequestPerson
());
}
if
(
null
!=
queryBean
.
getCreateTimeStart
()
&&
!
""
.
equals
(
queryBean
.
getCreateTimeStart
()))
{
sb
.
append
(
" and a.createTime>:createTimeStart "
);
parameters
.
put
(
"createTimeStart"
,
queryBean
.
getCreateTimeStart
());
}
if
(
null
!=
queryBean
.
getCreateTimeEnd
()
&&
!
""
.
equals
(
queryBean
.
getCreateTimeEnd
()))
{
sb
.
append
(
" and a.createTime<:createTimeEnd "
);
parameters
.
put
(
"createTimeEnd"
,
queryBean
.
getCreateTimeEnd
());
}
if
(
null
!=
queryBean
.
getStatus
()
&&
queryBean
.
getStatus
()!=
0
)
{
sb
.
append
(
" and a.status=:status "
);
parameters
.
put
(
"status"
,
queryBean
.
getStatus
());
}
if
(
null
!=
queryBean
.
getOrderNo
()
&&
!
""
.
equals
(
queryBean
.
getOrderNo
()))
{
sb
.
append
(
" and b.orderNo=:orderNo "
);
parameters
.
put
(
"orderNo"
,
queryBean
.
getOrderNo
());
}
sb
.
append
(
"order by id"
);
Session
session
=
this
.
getSession
();
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
for
(
Entry
<
String
,
Object
>
entry
:
parameters
.
entrySet
())
{
query
.
setParameter
(
entry
.
getKey
(),
entry
.
getValue
());
}
List
<
InvoiceRequest
>
result
=
criteria
.
list
();
return
result
;
query
.
addEntity
(
InvoiceRequest
.
class
).
list
();
List
<
InvoiceRequest
>
list
=
query
.
list
();
return
list
;
}
}
src/main/java/com/ctrip/fun/golf/service/basic/InvoiceRequestService.java
View file @
8107898d
...
...
@@ -2,8 +2,11 @@ package com.ctrip.fun.golf.service.basic;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.ctrip.fun.common.core.util.BeanConverter
;
import
com.ctrip.fun.common.core.util.StringUtils
;
import
com.ctrip.fun.common.vo.basic.InvoiceOrderInfoBean
;
import
com.ctrip.fun.common.vo.basic.InvoiceRequestBean
;
import
com.ctrip.fun.common.vo.basic.InvoiceRequestQuery
;
...
...
@@ -27,13 +30,16 @@ public class InvoiceRequestService extends GenericService<InvoiceRequestDao, Inv
if
(
invoiceOrderInfos
!=
null
){
for
(
InvoiceOrderInfoBean
invoiceOrderInfoBean:
invoiceOrderInfos
){
List
<
InvoiceOrderInfo
>
list
=
invoiceOrderInfoDao
.
findByOrderNo
(
invoiceOrderInfoBean
.
getOrderNo
().
trim
());
if
(
list
!=
null
&&
list
.
size
()>
0
){
haveInvoice
=
true
;
break
;
for
(
InvoiceOrderInfo
orderInfo:
list
){
InvoiceRequest
invoiceRequest
=
invoiceRequestDao
.
findById
(
orderInfo
.
getRequestId
());
if
(
list
!=
null
&&
list
.
size
()>
0
&&(
StringUtils
.
isEmpty
(
invoiceRequest
.
getRefusedReason
()))){
haveInvoice
=
true
;
break
;
}
}
}
}
if
(!
haveInvoice
){
InvoiceRequest
invoiceRequest
=
new
InvoiceRequest
();
BeanConverter
.
copyProperties
(
invoiceRequest
,
invoiceRequestBean
);
...
...
@@ -50,10 +56,7 @@ public class InvoiceRequestService extends GenericService<InvoiceRequestDao, Inv
}
}
}
return
1
;
return
1
;
}
public
List
<
InvoiceRequestBean
>
excelList
(
InvoiceRequestQuery
invoiceRequestQuery
)
{
...
...
@@ -91,7 +94,16 @@ public class InvoiceRequestService extends GenericService<InvoiceRequestDao, Inv
}
public
void
updateInvoiceRequests
(
List
<
InvoiceRequestBean
>
list
)
{
//过滤掉已经处理过的发票申请
List
<
InvoiceRequestBean
>
noHandleInvoice
=
new
ArrayList
<
InvoiceRequestBean
>();
for
(
InvoiceRequestBean
bean:
list
){
InvoiceRequest
entity
=
invoiceRequestDao
.
findById
(
bean
.
getId
());
if
(
entity
.
getStatus
()!=
null
&&
entity
.
getStatus
().
intValue
()==
1
){
noHandleInvoice
.
add
(
bean
);
}
}
for
(
InvoiceRequestBean
bean:
noHandleInvoice
){
this
.
update
(
bean
);
}
}
...
...
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