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
db2cd8b2
Commit
db2cd8b2
authored
Apr 08, 2021
by
王衍超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
合同预警完善;
parent
9ab9d937
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
204 additions
and
100 deletions
+204
-100
BaseBusinessWarn.java
...c/main/java/com/xyst/dinas/biz/warn/BaseBusinessWarn.java
+30
-16
IWarningCalculate.java
.../main/java/com/xyst/dinas/biz/warn/IWarningCalculate.java
+2
-1
WarnSettingConstant.java
...ain/java/com/xyst/dinas/biz/warn/WarnSettingConstant.java
+9
-2
WarnTest.java
...s.biz/src/main/java/com/xyst/dinas/biz/warn/WarnTest.java
+0
-22
WarnSettingDao.java
...main/java/com/xyst/dinas/biz/warn/dao/WarnSettingDao.java
+68
-32
IWarningSettingService.java
...m/xyst/dinas/biz/warn/service/IWarningSettingService.java
+9
-0
WarningService.java
.../java/com/xyst/dinas/biz/warn/service/WarningService.java
+0
-13
WarningSettingServiceImpl.java
...yst/dinas/biz/warn/service/WarningSettingServiceImpl.java
+26
-0
WarnSettingController.java
...in/java/com/xyst/dinas/biz/web/WarnSettingController.java
+6
-6
ContractExpireCheckTask.java
...com/xyst/dinas/contract/task/ContractExpireCheckTask.java
+3
-1
ContractExpireCheckTaskRegister.java
.../dinas/contract/task/ContractExpireCheckTaskRegister.java
+12
-3
DinasCountWarningCalculate.java
.../xyst/dinas/contract/warn/DinasCountWarningCalculate.java
+11
-0
ContractController.java
.../java/com/xyst/dinas/contract/web/ContractController.java
+28
-4
No files found.
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/BaseBusinessWarn.java
View file @
db2cd8b2
...
...
@@ -43,6 +43,9 @@ public class BaseBusinessWarn {
/** 指标*/
protected
String
target
;
/** 预警设置ID*/
protected
UUID
warnSettingId
;
private
IWarningCalculate
warningCalculate
;
private
IWarningSettingService
warningSettingService
;
...
...
@@ -56,11 +59,20 @@ public class BaseBusinessWarn {
private
StaffDAO
staffDAO
;
public
BaseBusinessWarn
(
@NonNull
UUID
warnSettingId
)
{
Assert
.
notNull
(
warnSettingId
,
"The warnSettingId must not be null!"
);
this
.
warnSettingId
=
warnSettingId
;
init
();
}
public
BaseBusinessWarn
(
@NonNull
String
billType
,
@Nullable
UUID
billId
,
@Nullable
String
target
)
{
Assert
.
notNull
(
billType
,
"The billType must not be null!"
);
this
.
billType
=
billType
;
this
.
billId
=
billId
;
this
.
target
=
target
;
init
();
}
private
void
init
()
{
remindService
=
getRemindService
();
staffService
=
getStaffService
();
warningSettingService
=
getWarningSettingService
();
...
...
@@ -68,8 +80,10 @@ public class BaseBusinessWarn {
}
/** 预警设置*/
protected
WarnSetting
getWarnSetting
()
{
public
WarnSetting
getWarnSetting
()
{
if
(
warnSettingId
!=
null
)
{
return
warningSettingService
.
getWarnSetting
(
warnSettingId
);
}
return
warningSettingService
.
getWarnSetting
(
billType
,
billId
,
target
);
}
...
...
@@ -91,34 +105,34 @@ public class BaseBusinessWarn {
boolean
isWarning
=
false
;
WarnSetting
warnSetting
=
getWarnSetting
();
if
(
warnSetting
==
null
||
!
warnSetting
.
isOpen
())
return
false
;
if
(
warnSetting
==
null
)
return
false
;
//|| !warnSetting.isOpen()
Assert
.
notNull
(
warningCalculate
,
"The warningCalculate must not be null!"
);
//计算业务实际的值, 与预警设置中的值做比较, 计算是否预警
isWarning
=
warningCalculate
.
isWarning
(
warnSetting
);
if
(!
isWarning
)
isNotice
=
false
;
UUID
warnSettingId
=
warnSetting
.
getSettingId
();
// if(!isWarning) isNotice= false;
//记录预警日志
UUID
warnSettingId
=
warnSetting
.
getSettingId
();
WarnExeRecord
warnExeRecord
=
warningSettingService
.
queryWarnExeRecord
(
warnSettingId
);
//1.当前没有执行中的预警记录
if
(
warnExeRecord
==
null
)
{
//新增预警执行信息
if
(!
isWarning
)
return
false
;
//1.1 没有触发预警, 则不做任何操作;
//1.2 新增预警执行信息
warnExeRecord
=
createWarnExeRecord
(
warnSetting
);
warningSettingService
.
insertWarnExe
(
warnExeRecord
);
}
else
{
//修改预警执行信息
//
2.当前存在执行中的预警记录,则
修改预警执行信息
Date
currentTime
=
new
Date
();
warnExeRecord
.
setRecentlyTime
(
currentTime
);
if
(!
isWarning
)
{
if
(!
isWarning
)
{
//2.1 如果没有处罚预警,则结束该预警记录
warnExeRecord
.
setEndTime
(
currentTime
);
}
warningSettingService
.
updateWarnExe
(
warnExeRecord
);
}
String
[]
noticePerson
=
warnSetting
.
getPersonnel
();
String
message
=
"message"
;
String
message
=
warningCalculate
.
warnMessage
()
;
try
{
if
(
is
Notice
)
if
(
is
Warning
)
notice
(
noticePerson
,
message
,
warnSetting
.
getBillId
());
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -155,11 +169,11 @@ public class BaseBusinessWarn {
UUID
remindId
=
UUID
.
randomUUID
();
remObject
.
put
(
"id"
,
remindId
);
remObject
.
put
(
"createTime"
,
currentTimeStr
);
remObject
.
put
(
"remind
Content"
,
"合同预警通知"
);
remObject
.
put
(
"remindTime"
,
currentTimeStr
);
remObject
.
put
(
"remind
Time"
,
currentTimeStr
);
remObject
.
put
(
"remindContent"
,
message
);
//消息
remObject
.
put
(
"data"
,
billId
);
//param.getString("id")
remObject
.
put
(
"lookName"
,
"
contractY"
);
remObject
.
put
(
"data"
,
billId
);
remObject
.
put
(
"lookName"
,
"
"
);
//标题
remObject
.
put
(
"lookType"
,
"Contract"
);
remObject
.
put
(
"_type"
,
CommonConstants
.
REMIND_ENTITY
);
remObject
.
put
(
"isToCustomer"
,
false
);
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/IWarningCalculate.java
View file @
db2cd8b2
...
...
@@ -5,11 +5,12 @@ package com.xyst.dinas.biz.warn;
* @author Jackpot
* @date 2021年3月30日
*/
@FunctionalInterface
//
@FunctionalInterface
public
interface
IWarningCalculate
{
boolean
isWarning
(
WarnSetting
warnSetting
);
String
warnMessage
();
//boolean isRepeat();重复执行
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/WarnSettingConstant.java
View file @
db2cd8b2
...
...
@@ -5,9 +5,16 @@ public class WarnSettingConstant {
/** 实体名:预警设置 */
public
static
final
String
ENTITY_WARNSETTING
=
"com.xyst.dinas.biz.datamodel.WarnSetting"
;
/************************************/
/** 实体名:预警执行记录 */
public
static
final
String
ENTITY_WARNINGEXE
=
"com.xyst.dinas.biz.datamodel.WarningExe"
;
/** 项目 */
public
static
final
String
PROJECT
=
"project"
;
/** 预警结束时间 */
public
static
final
String
END_TIME
=
"endTime"
;
/** 最近预警时间 */
public
static
final
String
RECENTLY_TIME
=
"recentlyTime"
;
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/WarnTest.java
deleted
100644 → 0
View file @
9ab9d937
package
com
.
xyst
.
dinas
.
biz
.
warn
;
import
java.util.UUID
;
public
class
WarnTest
{
public
void
warnTest
()
{
String
billType
=
"contract"
;
UUID
billId
=
null
;
String
target
=
"青砂"
;
int
count
=
10000
;
//青砂余量
// BaseBusinessWarn contractBusinessWarn = new BaseBusinessWarn(billType, billId,target);
// DinasCountWarningCalculate dinasCountWarningCalculate = new DinasCountWarningCalculate(count);
// contractBusinessWarn.setWarningCalculate(dinasCountWarningCalculate);
// contractBusinessWarn.warn();
}
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/dao/WarnSettingDao.java
View file @
db2cd8b2
package
com
.
xyst
.
dinas
.
biz
.
warn
.
dao
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
...
...
@@ -18,7 +19,6 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import
org.springframework.orm.hibernate5.HibernateOperations
;
import
org.springframework.stereotype.Repository
;
import
com.beecode.amino.common.Convert
;
import
com.beecode.bcp.type.KObject
;
import
com.xyst.dinas.biz.warn.WarnExeRecord
;
import
com.xyst.dinas.biz.warn.WarnSetting
;
...
...
@@ -47,9 +47,23 @@ public class WarnSettingDao {
return
(
KObject
)
template
.
get
(
WarnSettingConstant
.
ENTITY_WARNINGEXE
,
id
);
}
/**
* 将一条预警执行记录改为结束状态
* @param warnRecord
*/
public
void
endWarnRecordState
(
KObject
warnRecord
)
{
if
(
warnRecord
==
null
)
return
;
LocalDateTime
now
=
LocalDateTime
.
now
();
warnRecord
.
set
(
WarnSettingConstant
.
END_TIME
,
now
);
warnRecord
.
set
(
WarnSettingConstant
.
RECENTLY_TIME
,
now
);
update
(
warnRecord
);
}
public
WarnSetting
getWarnSetting
(
UUID
warnSettingId
)
{
KObject
warnSetting
=
queryWarnSettingById
(
warnSettingId
);
return
warnSettingToEntity
(
warnSetting
);
}
public
WarnSetting
getWarnSetting
(
String
billType
,
UUID
billId
,
String
target
)
{
...
...
@@ -66,33 +80,55 @@ public class WarnSettingDao {
if
(
billId
!=
null
)
query
.
setParameter
(
"billId"
,
billId
);
if
(
target
!=
null
)
query
.
setParameter
(
"target"
,
target
);
KObject
singleResult
=
query
.
getSingleResult
();
UUID
settingId
=
singleResult
.
getUuid
(
"id"
);
UUID
billId2
=
singleResult
.
getUuid
(
"billId"
);
String
target2
=
singleResult
.
getString
(
"target"
);
String
max
=
singleResult
.
getString
(
"max"
);
String
min
=
singleResult
.
getString
(
"min"
);
String
personnel
=
singleResult
.
getString
(
"personnel"
);
boolean
isOpen
=
singleResult
.
getBoolean
(
"isOpen"
);
String
memo
=
singleResult
.
getString
(
"memo"
);
WarnSettingEntity
warnSettingEntity
=
new
WarnSettingEntity
();
warnSettingEntity
.
setBillType
(
billType
);
warnSettingEntity
.
setBillId
(
billId2
);
warnSettingEntity
.
setTarget
(
target2
);
warnSettingEntity
.
setSettingId
(
settingId
);
warnSettingEntity
.
setMin
(
min
);
warnSettingEntity
.
setMax
(
max
);
warnSettingEntity
.
setOpen
(
isOpen
);
warnSettingEntity
.
setMemo
(
memo
);
String
[]
personnelArray
=
personnel
!=
null
&&
!
personnel
.
isEmpty
()?
personnel
.
split
(
","
):
null
;
warnSettingEntity
.
setPersonnel
(
personnelArray
);
return
warnSettingEntity
;
return
warnSettingToEntity
(
singleResult
);
});
}
private
WarnSetting
warnSettingToEntity
(
KObject
singleResult
)
{
if
(
singleResult
==
null
)
return
null
;
UUID
settingId
=
singleResult
.
getUuid
(
"id"
);
UUID
billId
=
singleResult
.
getUuid
(
"billId"
);
String
billType
=
singleResult
.
getString
(
"billType"
);
String
target
=
singleResult
.
getString
(
"target"
);
String
max
=
singleResult
.
getString
(
"max"
);
String
min
=
singleResult
.
getString
(
"min"
);
String
personnel
=
singleResult
.
getString
(
"personnel"
);
boolean
isOpen
=
singleResult
.
getBoolean
(
"isOpen"
);
String
memo
=
singleResult
.
getString
(
"memo"
);
WarnSettingEntity
warnSettingEntity
=
new
WarnSettingEntity
();
warnSettingEntity
.
setBillType
(
billType
);
warnSettingEntity
.
setBillId
(
billId
);
warnSettingEntity
.
setTarget
(
target
);
warnSettingEntity
.
setSettingId
(
settingId
);
warnSettingEntity
.
setMin
(
min
);
warnSettingEntity
.
setMax
(
max
);
warnSettingEntity
.
setOpen
(
isOpen
);
warnSettingEntity
.
setMemo
(
memo
);
String
[]
personnelArray
=
personnel
!=
null
&&
!
personnel
.
isEmpty
()?
personnel
.
split
(
","
):
null
;
warnSettingEntity
.
setPersonnel
(
personnelArray
);
return
warnSettingEntity
;
}
/**
* 通过预警设置ID查询一条未结束的预警执行记录
* @param warnSettingId
* @return
*/
public
KObject
queryWarnExeRecordBySettingId
(
UUID
warnSettingId
)
{
String
QUERY_HQL
=
"from "
+
WarnSettingConstant
.
ENTITY_WARNINGEXE
+
" where endTime is null and warnSetting.id =:warnSettingId"
;
return
template
.
execute
(
session
->
{
Query
<
KObject
>
query
=
session
.
createQuery
(
QUERY_HQL
,
KObject
.
class
);
query
.
setParameter
(
"warnSettingId"
,
warnSettingId
);
List
<
KObject
>
resultList
=
query
.
getResultList
();
if
(
resultList
.
isEmpty
())
return
null
;
return
resultList
.
get
(
0
);
});
}
public
WarnExeRecord
queryWarnExeRecord
(
UUID
warnSettingId
)
{
...
...
@@ -100,20 +136,19 @@ public class WarnSettingDao {
return
template
.
execute
(
session
->
{
Query
<
KObject
>
query
=
session
.
createQuery
(
QUERY_HQL
,
KObject
.
class
);
//KObject
Query
<
KObject
>
query
=
session
.
createQuery
(
QUERY_HQL
,
KObject
.
class
);
query
.
setParameter
(
"warnSettingId"
,
warnSettingId
);
List
<
KObject
>
resultList
=
query
.
getResultList
();
if
(
resultList
.
isEmpty
())
{
return
null
;
}
KObject
singleResult
=
query
.
getSingleResult
();
if
(
resultList
.
isEmpty
())
return
null
;
KObject
singleResult
=
resultList
.
get
(
0
);
Date
stratTime
=
singleResult
.
getDate
(
"st
ra
tTime"
);
Date
stratTime
=
singleResult
.
getDate
(
"st
ar
tTime"
);
Date
endTime
=
singleResult
.
getDate
(
"endTime"
);
Date
recentlyTime
=
singleResult
.
getDate
(
"recentlyTime"
);
String
max
=
singleResult
.
getString
(
"max"
);
String
min
=
singleResult
.
getString
(
"min"
);
String
message
=
singleResult
.
getString
(
"message"
);
String
memo
=
singleResult
.
getString
(
"memo"
);
String
target
=
singleResult
.
getString
(
"target"
);
UUID
billId
=
singleResult
.
getUuid
(
"billId"
);
UUID
id
=
singleResult
.
getUuid
(
"id"
);
...
...
@@ -127,6 +162,7 @@ public class WarnSettingDao {
warnExeRecord
.
setMax
(
max
);
warnExeRecord
.
setMin
(
min
);
warnExeRecord
.
setMessage
(
message
);
warnExeRecord
.
setMemo
(
memo
);
warnExeRecord
.
setTarget
(
target
);
warnExeRecord
.
setBillId
(
billId
);
warnExeRecord
.
setWarnState
(
"warnState"
);
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/service/IWarningSettingService.java
View file @
db2cd8b2
...
...
@@ -20,6 +20,8 @@ public interface IWarningSettingService {
*/
public
UUID
insertWarnSetting
(
WarnSetting
warnSetting
)
;
WarnSetting
getWarnSetting
(
@NonNull
UUID
warnSettingId
);
WarnSetting
getWarnSetting
(
@NonNull
String
billType
,
@Nullable
UUID
billId
,
@Nullable
String
target
);
/**
* 根据ID查询一条预警设置
...
...
@@ -42,6 +44,13 @@ public interface IWarningSettingService {
public
void
updateWarnExe
(
WarnExeRecord
warnExeRecord
);
/**
* 结束一条预警设置的预警执行记录
* @param warnSettingId
*/
void
endWarnStateBySettingId
(
UUID
warnSettingId
);
/**
* 查询未结束的预警执行记录
* @param warnSettingId
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/service/WarningService.java
deleted
100644 → 0
View file @
9ab9d937
package
com
.
xyst
.
dinas
.
biz
.
warn
.
service
;
/**
* 预警服务
*
* @author Jackpot
* @date 2021年4月1日
*/
public
class
WarningService
{
}
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/warn/service/WarningSettingServiceImpl.java
View file @
db2cd8b2
...
...
@@ -50,10 +50,30 @@ public class WarningSettingServiceImpl implements IWarningSettingService{
KClass
type
=
Amino
.
getApplicationMetadataContext
().
getBean
(
WarnSettingConstant
.
ENTITY_WARNINGEXE
,
KClass
.
class
);
JsonNode
json
=
JSONObjectUtils
.
toJson
(
warnExeRecord
);
KObject
object
=
JSONObjectUtils
.
toObject
(
json
,
type
);
object
.
set
(
"startTime"
,
warnExeRecord
.
getStratTime
());
object
.
set
(
"recentlyTime"
,
warnExeRecord
.
getRecentlyTime
());
UUID
warnSettingId
=
warnExeRecord
.
getWarnSettingId
();
KObject
warnSettingObj
=
warnSettingDao
.
queryWarnSettingById
(
warnSettingId
);
object
.
set
(
"warnSetting"
,
warnSettingObj
);
return
warnSettingDao
.
create
(
object
);
}
/**
* 结束一条预警设置的预警执行记录
* @param warnSettingId
*/
public
void
endWarnStateBySettingId
(
UUID
warnSettingId
)
{
KObject
warnExeRecord
=
warnSettingDao
.
queryWarnExeRecordBySettingId
(
warnSettingId
);
warnSettingDao
.
endWarnRecordState
(
warnExeRecord
);
}
@Override
public
WarnSetting
getWarnSetting
(
UUID
warnSettingId
)
{
return
warnSettingDao
.
getWarnSetting
(
warnSettingId
);
}
@Override
public
WarnSetting
getWarnSetting
(
String
billType
,
UUID
billId
,
String
target
)
{
return
warnSettingDao
.
getWarnSetting
(
billType
,
billId
,
target
);
}
...
...
@@ -73,6 +93,12 @@ public class WarningSettingServiceImpl implements IWarningSettingService{
KClass
type
=
Amino
.
getApplicationMetadataContext
().
getBean
(
WarnSettingConstant
.
ENTITY_WARNINGEXE
,
KClass
.
class
);
JsonNode
json
=
JSONObjectUtils
.
toJson
(
warnExeRecord
);
KObject
object
=
JSONObjectUtils
.
toObject
(
json
,
type
);
object
.
set
(
"startTime"
,
warnExeRecord
.
getStratTime
());
object
.
set
(
"endTime"
,
warnExeRecord
.
getEndTime
());
object
.
set
(
"recentlyTime"
,
warnExeRecord
.
getRecentlyTime
());
UUID
warnSettingId
=
warnExeRecord
.
getWarnSettingId
();
KObject
warnSettingObj
=
warnSettingDao
.
queryWarnSettingById
(
warnSettingId
);
object
.
set
(
"warnSetting"
,
warnSettingObj
);
warnSettingDao
.
update
(
object
);
}
...
...
backend/xyst.dinas.biz/src/main/java/com/xyst/dinas/biz/web/WarnSettingController.java
View file @
db2cd8b2
...
...
@@ -28,12 +28,12 @@ public class WarnSettingController {
private
IWarningSettingService
warningSettingService
;
//更新预警设置
@PostMapping
(
"/warnsetting/update"
)
public
String
updateWarnSettingPerson
(
@RequestBody
UpdateWarnSetting
warnSetting
)
{
warningSettingService
.
updateWarnSetting
(
warnSetting
);
return
"success"
;
}
//
@PostMapping("/warnsetting/update")
//
public String updateWarnSettingPerson(@RequestBody UpdateWarnSetting warnSetting) {
//
//
warningSettingService.updateWarnSetting(warnSetting);
//
return "success";
//
}
//查询一条预警设置
@GetMapping
(
"/warnsetting/{id}"
)
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/task/ContractExpireCheckTask.java
View file @
db2cd8b2
...
...
@@ -19,8 +19,10 @@ public class ContractExpireCheckTask implements Task{
@Override
public
void
execute
(
TaskContext
arg0
)
{
logger
.
info
(
"合同过期检查任务开始执行..."
);
// Amino.getApplicationContext().getBean(getClass());
System
.
out
.
println
(
"ContractExpireCheckTask.execute...."
);
}
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/task/ContractExpireCheckTaskRegister.java
View file @
db2cd8b2
...
...
@@ -26,19 +26,28 @@ public class ContractExpireCheckTaskRegister implements ServiceInitializer{
@Override
public
void
init
(
ApplicationMetadataContext
arg0
)
{
}
public
void
crateScheduleTask
(){
Optional
<
ScheduleDetail
>
Optional
=
scheduleService
.
findByName
(
EXPIRE_REMIND_TASK_NAME
);
if
(
Optional
.
isPresent
())
{
// 如果该租户的库中存在这个轮询任务那么就不再去注册了
scheduleService
.
removeTask
(
EXPIRE_REMIND_TASK_NAME
);
}
TaskDetail
TaskDetail
=
new
TaskDetail
(
EXPIRE_REMIND_TASK_NAME
,
ContractExpireCheckTask
.
class
.
getName
());
// 每天凌晨12点执行调度,如测试可修改为每十五秒:*/15 * * * * ?(表达式由至少6个由空格分隔的时间元素,从左至右可分为秒,分,时,日,月,星期)
//
scheduleService.scheduleTask(TaskDetail, "0 0 0 * * ?");
scheduleService
.
scheduleTask
(
TaskDetail
,
"0 0 0 * * ?"
);
// 测试调度时进行调用
scheduleService
.
scheduleTask
(
TaskDetail
,
"*/10 * * * * ?"
);
//
scheduleService.scheduleTask(TaskDetail, "*/10 * * * * ?");
logger
.
info
(
"合同到期提醒任务初始化成功!"
);
}
@PostConstruct
public
void
init
()
{
crateScheduleTask
();
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/warn/DinasCountWarningCalculate.java
View file @
db2cd8b2
...
...
@@ -14,6 +14,8 @@ public class DinasCountWarningCalculate implements IWarningCalculate{
//砂石余量
private
int
dinsaCount
;
private
String
warnMessage
;
/**
* 砂石余量预警计算器
* @param dinsaCount 砂石余量
...
...
@@ -27,8 +29,11 @@ public class DinasCountWarningCalculate implements IWarningCalculate{
public
boolean
isWarning
(
WarnSetting
warnSetting
)
{
String
min
=
warnSetting
.
getMin
();
String
target
=
warnSetting
.
getTarget
();
if
(
min
==
null
||
min
.
trim
().
length
()==
0
)
return
false
;
//业务数据与设置的阀值做比较,计算是否预警
if
(
dinsaCount
<=
Integer
.
valueOf
(
min
))
{
warnMessage
=
"["
+
target
+
"]"
+
"的当前余量为"
+
dinsaCount
+
",已不足"
+
min
+
"吨!"
;
return
true
;
}
return
false
;
...
...
@@ -42,4 +47,10 @@ public class DinasCountWarningCalculate implements IWarningCalculate{
public
void
setDinsaCount
(
int
dinsaCount
)
{
this
.
dinsaCount
=
dinsaCount
;
}
@Override
public
String
warnMessage
()
{
return
warnMessage
;
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/web/ContractController.java
View file @
db2cd8b2
...
...
@@ -21,7 +21,9 @@ import com.beecode.bcp.type.KObject;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.xlib.runtime.Assert
;
import
com.xyst.dinas.biz.request.UpdateWarnSetting
;
import
com.xyst.dinas.biz.warn.BaseBusinessWarn
;
import
com.xyst.dinas.biz.warn.WarnSetting
;
import
com.xyst.dinas.biz.warn.service.IWarningSettingService
;
import
com.xyst.dinas.contract.constant.ContractConstant
;
import
com.xyst.dinas.contract.entity.BaseEntity
;
...
...
@@ -149,10 +151,9 @@ public class ContractController {
// 合同审批通过后,自动新增砂石余量预警设置
String
billType
=
"合同"
;
UUID
contractId
=
UUID
.
fromString
(
"598A9B1B-34C7-4BFB-A846-40EDEF357752"
);
String
target
=
"清砂"
;
int
count
=
100
;
// 青砂余量
UUID
contractId
=
UUID
.
fromString
(
"b399f4a5-e446-439c-9601-177aad94b675"
);
String
target
=
"细砂2"
;
int
count
=
100
;
// 某种砂石余量
BaseBusinessWarn
contractBusinessWarn
=
new
BaseBusinessWarn
(
billType
,
contractId
,
target
);
DinasCountWarningCalculate
dinasCountWarningCalculate
=
new
DinasCountWarningCalculate
(
count
);
...
...
@@ -168,6 +169,29 @@ public class ContractController {
return
contractService
.
queryWarnSettingById
(
id
);
}
//更新预警设置
@PostMapping
(
"/warnsetting/update"
)
// /contract
public
ResponseObj
updateWarnSettingPerson
(
@RequestBody
UpdateWarnSetting
updateWarnSetting
)
{
UUID
settingId
=
updateWarnSetting
.
getId
();
BaseBusinessWarn
contractBusinessWarn
=
new
BaseBusinessWarn
(
settingId
);
WarnSetting
warnSetting
=
contractBusinessWarn
.
getWarnSetting
();
String
minOld
=
warnSetting
.
getMin
()!=
null
?
warnSetting
.
getMin
():
""
;
String
min
=
updateWarnSetting
.
getMin
()!=
null
?
updateWarnSetting
.
getMin
():
""
;
warningSettingService
.
updateWarnSetting
(
updateWarnSetting
);
if
(
minOld
.
equals
(
min
))
{
return
ResponseObj
.
success
(
"预警设置更新成功"
);
}
int
count
=
100
;
//查询合同中该砂石的余量
DinasCountWarningCalculate
dinasCountWarningCalculate
=
new
DinasCountWarningCalculate
(
count
);
contractBusinessWarn
.
setWarningCalculate
(
dinasCountWarningCalculate
);
contractBusinessWarn
.
warn
();
return
ResponseObj
.
success
(
"预警设置更新成功"
);
}
/**
* @Description: 根据合同查询预警设置中所有人员
* @param id
...
...
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