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
edbca53d
Commit
edbca53d
authored
Apr 06, 2021
by
王衍超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
合同统计查询;
parent
7634b508
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
117 additions
and
6 deletions
+117
-6
WarningSettingServiceImpl.java
...yst/dinas/biz/warn/service/WarningSettingServiceImpl.java
+0
-0
ContractDao.java
...ava/com/xyst/dinas/contract/internal/dao/ContractDao.java
+59
-0
ContractStatisticsQuery.java
.../xyst/dinas/contract/request/ContractStatisticsQuery.java
+48
-0
ContractController.java
.../java/com/xyst/dinas/contract/web/ContractController.java
+10
-6
No files found.
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/service/WarningSettingServiceImpl.java
View file @
edbca53d
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/internal/dao/ContractDao.java
View file @
edbca53d
package
com
.
xyst
.
dinas
.
contract
.
internal
.
dao
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
import
javax.persistence.Tuple
;
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
;
...
...
@@ -13,6 +17,7 @@ import org.springframework.orm.hibernate5.HibernateOperations;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.contract.constant.ContractConstant
;
import
com.xyst.dinas.contract.enumeration.ContractStateEnum
;
import
com.xyst.dinas.contract.request.ContractStatisticsQuery
;
/**
* 合同主子表
*
...
...
@@ -63,4 +68,58 @@ public class ContractDao {
});
}
/**
* 合同统计查询
* @param contractStatisticsQuery
* @return
*/
public
JSONObject
statisticsQuery
(
ContractStatisticsQuery
contractStatisticsQuery
)
{
String
contractName
=
contractStatisticsQuery
.
getContractName
();
String
contractState
=
contractStatisticsQuery
.
getContractState
();
UUID
projectId
=
contractStatisticsQuery
.
getProjectId
();
UUID
purchaseSandUnitId
=
contractStatisticsQuery
.
getPurchaseSandUnitId
();
Date
signDate
=
contractStatisticsQuery
.
getSignDate
();
StringBuilder
hql
=
new
StringBuilder
(
"select "
);
hql
.
append
(
"count(DISTINCT m.contractId), "
);
//合同总数
hql
.
append
(
"sum(case when m.contractState='UN_EXECUTE' then 1 else 0 end), "
);
//未执行
hql
.
append
(
"sum(case when m.contractState='EXECUTING' then 1 else 0 end), "
);
//执行中
hql
.
append
(
"sum(case when m.contractState='COMPLETED' then 1 else 0 end) "
);
//已完成
// hql.append("sum(case when m.contract_state=\"MODIFIED\" then 1 else 0 end) ");//已变更
hql
.
append
(
"from "
).
append
(
ContractConstant
.
ENTITY_CONTRACT
).
append
(
" as m where 1=1 "
);
if
(
contractName
!=
null
)
hql
.
append
(
"and contractName like :contractName "
);
if
(
contractState
!=
null
)
hql
.
append
(
"and contractState =:contractState "
);
if
(
projectId
!=
null
)
hql
.
append
(
"and projectId =:projectId "
);
if
(
purchaseSandUnitId
!=
null
)
hql
.
append
(
"and purchaseSandUnitId =:purchaseSandUnitId "
);
if
(
signDate
!=
null
)
hql
.
append
(
"and signDate =:signDate "
);
return
template
.
execute
(
session
->
{
Query
<
Tuple
>
query
=
session
.
createQuery
(
hql
.
toString
(),
Tuple
.
class
);
if
(
contractName
!=
null
)
query
.
setParameter
(
"contractName"
,
"%"
+
contractName
+
"%"
);
if
(
contractState
!=
null
)
query
.
setParameter
(
"contractState"
,
contractState
);
if
(
projectId
!=
null
)
query
.
setParameter
(
"projectId"
,
projectId
);
if
(
purchaseSandUnitId
!=
null
)
query
.
setParameter
(
"purchaseSandUnitId"
,
purchaseSandUnitId
);
if
(
signDate
!=
null
)
query
.
setParameter
(
"signDate"
,
signDate
);
List
<
Tuple
>
list
=
query
.
list
();
JSONObject
jsonObject
=
new
JSONObject
();
if
(
list
.
isEmpty
())
return
jsonObject
;
Tuple
tuple
=
list
.
get
(
0
);
long
totalCount
=
tuple
.
get
(
0
,
Long
.
class
);
long
unExecuteCount
=
tuple
.
get
(
1
,
Long
.
class
);
long
executingCount
=
tuple
.
get
(
2
,
Long
.
class
);
long
completedCount
=
tuple
.
get
(
3
,
Long
.
class
);
jsonObject
.
put
(
"totalCount"
,
totalCount
);
jsonObject
.
put
(
"unExecuteCount"
,
unExecuteCount
);
jsonObject
.
put
(
"executingCount"
,
executingCount
);
jsonObject
.
put
(
"completedCount"
,
completedCount
);
return
jsonObject
;
});
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/request/ContractStatisticsQuery.java
0 → 100644
View file @
edbca53d
package
com
.
xyst
.
dinas
.
contract
.
request
;
import
java.util.Date
;
import
java.util.UUID
;
public
class
ContractStatisticsQuery
{
private
UUID
projectId
;
private
UUID
purchaseSandUnitId
;
private
String
contractName
;
private
String
contractState
;
private
Date
signDate
;
public
UUID
getProjectId
()
{
return
projectId
;
}
public
void
setProjectId
(
UUID
projectId
)
{
this
.
projectId
=
projectId
;
}
public
UUID
getPurchaseSandUnitId
()
{
return
purchaseSandUnitId
;
}
public
void
setPurchaseSandUnitId
(
UUID
purchaseSandUnitId
)
{
this
.
purchaseSandUnitId
=
purchaseSandUnitId
;
}
public
String
getContractName
()
{
return
contractName
;
}
public
void
setContractName
(
String
contractName
)
{
this
.
contractName
=
contractName
;
}
public
String
getContractState
()
{
return
contractState
;
}
public
void
setContractState
(
String
contractState
)
{
this
.
contractState
=
contractState
;
}
public
Date
getSignDate
()
{
return
signDate
;
}
public
void
setSignDate
(
Date
signDate
)
{
this
.
signDate
=
signDate
;
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/web/ContractController.java
View file @
edbca53d
...
...
@@ -5,6 +5,7 @@ import java.util.List;
import
java.util.UUID
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -25,7 +26,9 @@ import com.xyst.dinas.biz.warn.service.IWarningSettingService;
import
com.xyst.dinas.contract.constant.ContractConstant
;
import
com.xyst.dinas.contract.entity.BaseEntity
;
import
com.xyst.dinas.contract.entity.CommonResult
;
import
com.xyst.dinas.contract.internal.dao.ContractDao
;
import
com.xyst.dinas.contract.internal.dao.ContractInfoDao
;
import
com.xyst.dinas.contract.request.ContractStatisticsQuery
;
import
com.xyst.dinas.contract.request.ProjectListQuery
;
import
com.xyst.dinas.contract.service.ContractService
;
import
com.xyst.dinas.contract.warn.DinasCountWarningCalculate
;
...
...
@@ -39,6 +42,8 @@ public class ContractController {
private
ContractService
contractService
;
@Autowired
private
ContractInfoDao
contractInfoDao
;
@Autowired
private
ContractDao
contractDao
;
@PostMapping
(
"/contractInfo/create"
)
public
UUID
create
(
@RequestBody
String
contractInfo
)
{
...
...
@@ -128,13 +133,12 @@ public class ContractController {
projectListQuery
.
getProjectType
(),
projectListQuery
.
getProjectName
());
}
// 统计查询
// 统计查询
:合同数量, 未执行,执行中,已完成
@PostMapping
(
"/contract/statistics"
)
public
Object
statisticsQuery
(
@RequestBody
BaseEntity
baseEntity
)
{
// TODO
// 合同数量, 未执行,执行中,已完成
return
baseEntity
;
public
String
statisticsQuery
(
@RequestBody
ContractStatisticsQuery
contractStatisticsQuery
)
{
//
JSONObject
statisticsQuery
=
contractDao
.
statisticsQuery
(
contractStatisticsQuery
);
return
statisticsQuery
.
toString
();
}
@Autowired
...
...
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