Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cloud-fb
Overview
Overview
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
王衍超
cloud-fb
Commits
52922144
Commit
52922144
authored
Apr 26, 2021
by
杨清松
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对账单相关接口更改
parent
07baabfb
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
82 additions
and
17 deletions
+82
-17
StatementAccountDao.java
.../java/com/xyst/dinas/finance/dao/StatementAccountDao.java
+3
-1
StatementAccountDaoImpl.java
...t/dinas/finance/internal/dao/StatementAccountDaoImpl.java
+39
-5
StatementAccountServiceImpl.java
...finance/internal/service/StatementAccountServiceImpl.java
+34
-7
StatementAccountService.java
...m/xyst/dinas/finance/service/StatementAccountService.java
+3
-1
StatementAccountController.java
...om/xyst/dinas/finance/web/StatementAccountController.java
+3
-3
No files found.
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/dao/StatementAccountDao.java
View file @
52922144
...
...
@@ -3,10 +3,12 @@ package com.xyst.dinas.finance.dao;
import
java.util.List
;
import
java.util.UUID
;
import
org.json.JSONObject
;
import
com.beecode.bcp.type.KObject
;
public
interface
StatementAccountDao
{
List
<
KObject
>
queryStatementAccountByContractId
(
UUID
contractId
,
String
modelPath
);
List
<
KObject
>
queryStatementAccountByContractId
(
JSONObject
jsonObject
,
String
modelPath
);
}
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/internal/dao/StatementAccountDaoImpl.java
View file @
52922144
package
com
.
xyst
.
dinas
.
finance
.
internal
.
dao
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
import
org.hibernate.HibernateException
;
import
org.hibernate.Session
;
import
org.hibernate.query.Query
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.orm.hibernate5.HibernateCallback
;
import
org.springframework.orm.hibernate5.HibernateOperations
;
import
com.beecode.bcp.type.KObject
;
import
com.mchange.v2.c3p0.stmt.StatementCache
;
import
com.xyst.dinas.finance.constant.ArtificialRechargeConstant
;
import
com.xyst.dinas.finance.dao.StatementAccountDao
;
public
class
StatementAccountDaoImpl
implements
StatementAccountDao
{
...
...
@@ -21,13 +24,44 @@ public class StatementAccountDaoImpl implements StatementAccountDao{
private
HibernateOperations
template
;
@Override
public
List
<
KObject
>
queryStatementAccountByContractId
(
UUID
contractId
,
String
modelPath
)
{
public
List
<
KObject
>
queryStatementAccountByContractId
(
JSONObject
jsonObject
,
String
modelPath
)
{
return
(
List
<
KObject
>)
template
.
execute
(
new
HibernateCallback
<
List
<
KObject
>>()
{
StringBuilder
hql
=
new
StringBuilder
(
"from "
+
modelPath
+
" where contract.id=:contractId "
);
@SuppressWarnings
(
"unchecked"
)
@Override
public
List
<
KObject
>
doInHibernate
(
Session
session
)
throws
HibernateException
{
Query
<
KObject
>
query
=
session
.
createQuery
(
"from "
+
modelPath
+
" where contract.id=:contractId"
,
KObject
.
class
);
query
.
setParameter
(
"contractId"
,
contractId
);
Calendar
calendarStart
=
null
;
Calendar
calendarEnd
=
null
;
try
{
DateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
if
(!
jsonObject
.
isNull
(
"startDate"
)
&&
!
jsonObject
.
getString
(
"startDate"
).
equals
(
""
)){
calendarStart
=
Calendar
.
getInstance
();
String
startTime
=
jsonObject
.
getString
(
"startDate"
);
Date
start
=
format
.
parse
(
startTime
);
calendarStart
.
setTime
(
start
);
hql
.
append
(
" and createTime >=:startDate "
);
}
if
(!
jsonObject
.
isNull
(
"endDate"
)
&&
!
jsonObject
.
getString
(
"endDate"
).
equals
(
""
)){
String
endTime
=
jsonObject
.
getString
(
"endDate"
);
calendarEnd
=
Calendar
.
getInstance
();
Date
end
=
format
.
parse
(
endTime
);
calendarEnd
.
setTime
(
end
);
hql
.
append
(
" and createTime <=:endDate "
);
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
Query
<
KObject
>
query
=
session
.
createQuery
(
hql
.
toString
(),
KObject
.
class
);
query
.
setParameter
(
"contractId"
,
UUID
.
fromString
(
jsonObject
.
getString
(
"contractId"
)));
if
(!
jsonObject
.
isNull
(
"startDate"
)
&&
!
jsonObject
.
getString
(
"startDate"
).
equals
(
""
)){
query
.
setParameter
(
"startDate"
,
calendarStart
.
getTime
());
}
if
(!
jsonObject
.
isNull
(
"endDate"
)
&&
!
jsonObject
.
getString
(
"endDate"
).
equals
(
""
)){
query
.
setParameter
(
"endDate"
,
calendarEnd
.
getTime
());
}
List
<
KObject
>
resultList
=
query
.
getResultList
();
return
resultList
;
}
...
...
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/internal/service/StatementAccountServiceImpl.java
View file @
52922144
package
com
.
xyst
.
dinas
.
finance
.
internal
.
service
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.beecode.bcp.type.KObject
;
...
...
@@ -24,60 +28,80 @@ public class StatementAccountServiceImpl implements StatementAccountService{
private
StatementAccountDao
statementAccountDao
;
@Override
public
Object
queryStatementAccountByContractId
(
UUID
contractId
)
{
public
Object
queryStatementAccountByContractId
(
JSONObject
jsonObject
)
{
try
{
List
<
KObject
>
artificialRechargeList
=
statementAccountDao
.
queryStatementAccountByContractId
(
contractId
,
ArtificialRechargeConstant
.
ENTITY
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
List
<
KObject
>
artificialRechargeList
=
statementAccountDao
.
queryStatementAccountByContractId
(
jsonObject
,
ArtificialRechargeConstant
.
ENTITY
);
List
<
StatementAccount
>
statementAccounts
=
new
ArrayList
<
StatementAccount
>();
//人工充值
BigDecimal
advanceRechargeAmount
=
new
BigDecimal
(
"0"
);
//预付款充值
BigDecimal
depositRechargeAmount
=
new
BigDecimal
(
"0"
);
//保证金充值
if
(
artificialRechargeList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
artificialRechargeList
.
size
();
i
++)
{
KObject
kObject
=
artificialRechargeList
.
get
(
i
);
StatementAccount
statementAccount
=
new
StatementAccount
();
if
(
kObject
.
getString
(
"fundType"
).
equals
(
FundTypeEnum
.
ADVANCE
.
name
()))
{
//预付款
statementAccount
.
setDealType
(
"预付款充值"
);
advanceRechargeAmount
=
advanceRechargeAmount
.
add
(
kObject
.
getBigDecimal
(
"rechargeAmount"
));
}
else
if
(
kObject
.
getString
(
"fundType"
).
equals
(
FundTypeEnum
.
DEPOSIT
.
name
())){
statementAccount
.
setDealType
(
"保证金充值"
);
depositRechargeAmount
=
depositRechargeAmount
.
add
(
kObject
.
getBigDecimal
(
"rechargeAmount"
));
}
statementAccount
.
setDealAmount
(
kObject
.
getBigDecimal
(
"rechargeAmount"
));
statementAccount
.
setDealDate
(
kObject
.
getString
(
"createTime"
));
statementAccounts
.
add
(
statementAccount
);
}
}
map
.
put
(
"advanceRechargeAmount"
,
advanceRechargeAmount
);
map
.
put
(
"depositRechargeAmount"
,
depositRechargeAmount
);
//退费
List
<
KObject
>
financeRefundList
=
statementAccountDao
.
queryStatementAccountByContractId
(
contractId
,
FinanceRefundConstant
.
ENTITY
);
BigDecimal
advanceFinanceRefundAmount
=
new
BigDecimal
(
"0"
);
//预付款退费
BigDecimal
depositFinanceRefundAmount
=
new
BigDecimal
(
"0"
);
//保证金退费
List
<
KObject
>
financeRefundList
=
statementAccountDao
.
queryStatementAccountByContractId
(
jsonObject
,
FinanceRefundConstant
.
ENTITY
);
if
(
financeRefundList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
financeRefundList
.
size
();
i
++)
{
KObject
kObject
=
financeRefundList
.
get
(
i
);
StatementAccount
statementAccount
=
new
StatementAccount
();
if
(
kObject
.
getString
(
"fundType"
).
equals
(
FundTypeEnum
.
ADVANCE
.
name
()))
{
//预付款
statementAccount
.
setDealType
(
"预付款退费"
);
advanceFinanceRefundAmount
=
advanceFinanceRefundAmount
.
add
(
kObject
.
getBigDecimal
(
"actualRefundAmount"
));
//实际退费金额
}
else
if
(
kObject
.
getString
(
"fundType"
).
equals
(
FundTypeEnum
.
DEPOSIT
.
name
())){
statementAccount
.
setDealType
(
"保证金退费"
);
depositFinanceRefundAmount
=
depositFinanceRefundAmount
.
add
(
kObject
.
getBigDecimal
(
"actualRefundAmount"
));
}
statementAccount
.
setDealAmount
(
kObject
.
getBigDecimal
(
"a
pply
RefundAmount"
));
statementAccount
.
setDealAmount
(
kObject
.
getBigDecimal
(
"a
ctual
RefundAmount"
));
statementAccount
.
setDealDate
(
kObject
.
getString
(
"createTime"
));
statementAccounts
.
add
(
statementAccount
);
}
}
map
.
put
(
"advanceFinanceRefundAmount"
,
advanceFinanceRefundAmount
);
map
.
put
(
"depositFinanceRefundAmount"
,
depositFinanceRefundAmount
);
//费用调整
List
<
KObject
>
expenseAdjustList
=
statementAccountDao
.
queryStatementAccountByContractId
(
contractId
,
ExpenseAdjustConstant
.
ENTITY
);
BigDecimal
advanceExpenseAdjustAmount
=
new
BigDecimal
(
"0"
);
//预付款费用调整
BigDecimal
depositExpenseAdjustAmount
=
new
BigDecimal
(
"0"
);
//保证金费用调整
List
<
KObject
>
expenseAdjustList
=
statementAccountDao
.
queryStatementAccountByContractId
(
jsonObject
,
ExpenseAdjustConstant
.
ENTITY
);
if
(
expenseAdjustList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
expenseAdjustList
.
size
();
i
++)
{
KObject
kObject
=
expenseAdjustList
.
get
(
i
);
StatementAccount
statementAccount
=
new
StatementAccount
();
if
(
kObject
.
getString
(
"fundType"
).
equals
(
FundTypeEnum
.
ADVANCE
.
name
()))
{
//预付款
statementAccount
.
setDealType
(
"预付款费用调整"
);
advanceExpenseAdjustAmount
=
advanceExpenseAdjustAmount
.
add
(
kObject
.
getBigDecimal
(
"expenseAdjustAmount"
));
}
else
if
(
kObject
.
getString
(
"fundType"
).
equals
(
FundTypeEnum
.
DEPOSIT
.
name
())){
statementAccount
.
setDealType
(
"保证金费用调整"
);
depositExpenseAdjustAmount
=
depositExpenseAdjustAmount
.
add
(
kObject
.
getBigDecimal
(
"expenseAdjustAmount"
));
}
statementAccount
.
setDealAmount
(
kObject
.
getBigDecimal
(
"expenseAdjustAmount"
));
statementAccount
.
setDealDate
(
kObject
.
getString
(
"createTime"
));
statementAccounts
.
add
(
statementAccount
);
}
}
map
.
put
(
"advanceExpenseAdjustAmount"
,
advanceFinanceRefundAmount
);
map
.
put
(
"depositExpenseAdjustAmount"
,
depositExpenseAdjustAmount
);
//销售
List
<
KObject
>
saleRecordList
=
statementAccountDao
.
queryStatementAccountByContractId
(
contractId
,
SalesRecordConstant
.
ENTITY
);
BigDecimal
salesAmount
=
new
BigDecimal
(
"0"
);
//销售总额
List
<
KObject
>
saleRecordList
=
statementAccountDao
.
queryStatementAccountByContractId
(
jsonObject
,
SalesRecordConstant
.
ENTITY
);
if
(
saleRecordList
.
size
()
>
0
)
{
for
(
int
i
=
0
;
i
<
saleRecordList
.
size
();
i
++)
{
KObject
kObject
=
saleRecordList
.
get
(
i
);
...
...
@@ -86,9 +110,12 @@ public class StatementAccountServiceImpl implements StatementAccountService{
statementAccount
.
setDealAmount
(
kObject
.
getBigDecimal
(
"amount"
));
statementAccount
.
setDealDate
(
kObject
.
getString
(
"createTime"
));
statementAccounts
.
add
(
statementAccount
);
salesAmount
=
salesAmount
.
add
(
kObject
.
getBigDecimal
(
"amount"
));
}
}
return
ResponseObj
.
success
(
"查询成功"
,
statementAccounts
);
map
.
put
(
"salesAmount"
,
salesAmount
);
map
.
put
(
"statementAccounts"
,
statementAccounts
);
return
ResponseObj
.
success
(
"查询成功"
,
map
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ResponseObj
.
error
();
...
...
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/service/StatementAccountService.java
View file @
52922144
...
...
@@ -2,8 +2,10 @@ package com.xyst.dinas.finance.service;
import
java.util.UUID
;
import
org.json.JSONObject
;
public
interface
StatementAccountService
{
Object
queryStatementAccountByContractId
(
UUID
fromString
);
Object
queryStatementAccountByContractId
(
JSONObject
jsonObject
);
}
backend/xyst.dinas.finance/src/main/java/com/xyst/dinas/finance/web/StatementAccountController.java
View file @
52922144
...
...
@@ -28,9 +28,9 @@ public class StatementAccountController {
private
StatementAccountService
statementAccountService
;
@ResponseBody
@RequestMapping
(
value
=
"/
finance/statementAccount/queryStatementAccountByContractId"
,
method
=
RequestMethod
.
GE
T
)
public
Object
queryStatementAccountByContractId
(
@Request
Param
String
contractId
)
{
return
statementAccountService
.
queryStatementAccountByContractId
(
UUID
.
fromString
(
contractId
));
@RequestMapping
(
value
=
"/
sand/user/finance/statementAccount/queryStatementAccountByContractId"
,
method
=
RequestMethod
.
POS
T
)
public
Object
queryStatementAccountByContractId
(
@Request
Body
String
body
)
{
return
statementAccountService
.
queryStatementAccountByContractId
(
new
JSONObject
(
body
));
}
}
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