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
d81dc53e
Commit
d81dc53e
authored
Apr 07, 2021
by
王衍超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整代码;
parent
7b11f93d
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
128 additions
and
69 deletions
+128
-69
ContractConfiguration.java
...com/xyst/dinas/contract/config/ContractConfiguration.java
+11
-0
ContractServiceImpl.java
.../dinas/contract/internal/service/ContractServiceImpl.java
+19
-42
ContractProcessEventListener.java
...dinas/contract/listener/ContractProcessEventListener.java
+1
-1
ContractUpdateProcessListener.java
...inas/contract/listener/ContractUpdateProcessListener.java
+1
-1
ContractService.java
...java/com/xyst/dinas/contract/service/ContractService.java
+19
-20
ContractExpireCheckTask.java
...com/xyst/dinas/contract/task/ContractExpireCheckTask.java
+28
-0
ContractExpireCheckTaskRegister.java
.../dinas/contract/task/ContractExpireCheckTaskRegister.java
+44
-0
ContractController.java
.../java/com/xyst/dinas/contract/web/ContractController.java
+5
-5
No files found.
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/config/ContractConfiguration.java
View file @
d81dc53e
...
...
@@ -21,6 +21,8 @@ import com.xyst.dinas.contract.query.processor.ContractPerformWarningProcessor;
import
com.xyst.dinas.contract.query.processor.ContractWarnSettingProcessor
;
import
com.xyst.dinas.contract.service.ContractService
;
import
com.xyst.dinas.contract.service.ContractWarnService
;
import
com.xyst.dinas.contract.task.ContractExpireCheckTask
;
import
com.xyst.dinas.contract.task.ContractExpireCheckTaskRegister
;
import
com.xyst.dinas.contract.web.ContractController
;
/**
* 开启自动配置,无需手动注册Bean
...
...
@@ -116,4 +118,13 @@ public class ContractConfiguration {
public
ContractProcessEventListener
createContractProcessEventListener
()
{
return
new
ContractProcessEventListener
();
}
@Bean
public
ContractExpireCheckTaskRegister
contractExpireCheckTaskRegister
()
{
return
new
ContractExpireCheckTaskRegister
();
}
@Bean
public
ContractExpireCheckTask
contractExpireCheckTask
()
{
return
new
ContractExpireCheckTask
();
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/internal/service/ContractServiceImpl.java
View file @
d81dc53e
...
...
@@ -115,16 +115,15 @@ public class ContractServiceImpl implements ContractService {
@Transactional
@Override
public
void
submitFlow
(
UUID
id
)
{
public
void
submitFlow
ForInsert
(
UUID
id
)
{
KObject
kobject
=
contractDao
.
load
(
id
);
if
(
needSubmitFlow
(
ContractConstant
.
BIZ_TYPE
,
kobject
))
{
inzWorkflowService
.
startWorkflow
(
"SUBMIT"
,
ContractConstant
.
BIZ_TYPE
,
kobject
.
getString
(
ContractConstant
.
CONTRACT_NAME
),
kobject
);
}
else
{
after
SubmitApproved
(
kobject
);
after
ApprovedForInsert
(
kobject
);
}
}
//变更合同的工作流
@Override
@Transactional
public
void
submitFlowForUpdate
(
UUID
id
)
{
...
...
@@ -132,7 +131,7 @@ public class ContractServiceImpl implements ContractService {
if
(
needSubmitFlow
(
ContractConstant
.
BIZ_TYPE_UPDATE
,
kobject
))
{
inzWorkflowService
.
startWorkflow
(
"SUBMIT"
,
ContractConstant
.
BIZ_TYPE_UPDATE
,
kobject
.
getString
(
ContractConstant
.
CONTRACT_NAME
),
kobject
);
}
else
{
after
ChangeApproved
(
kobject
);
after
ApprovedForUpdate
(
kobject
);
}
}
...
...
@@ -153,21 +152,6 @@ public class ContractServiceImpl implements ContractService {
return
contractInfoDao
.
getProjectListByPurSandId
(
purchaseSandId
,
projectType
,
projectName
);
}
public
void
bill
()
{
String
billDefineName
=
ContractConstant
.
ENTITY_CONTRACT
;
// BillDefine billDefine =
// Amino.getApplicationMetadataContext().getBean(billDefineName,
// BillDefine.class);
// Bill equipmentBill = billService.createBill(billDefine);
// BillData equipmentBillData = equipmentBill.getData();
}
// @Override
// public KObject queryContractById(UUID id) {
// KObject kobject = contractInfoDao.load(id);
// return kobject;
// }
@Override
public
KObject
getLastContractByInfoId
(
UUID
infoId
)
{
...
...
@@ -195,7 +179,7 @@ public class ContractServiceImpl implements ContractService {
}
@Override
public
void
after
SubmitApproved
(
KObject
contract
)
{
public
void
after
ApprovedForInsert
(
KObject
contract
)
{
KObject
contractInfo
=
contractInfoDao
.
load
(
contract
.
getUuid
(
"contractId"
));
contractInfo
.
set
(
ContractConstant
.
CONTRACT_STATE
,
ContractStateEnum
.
EXECUTING
.
name
());
contractInfoDao
.
update
(
contractInfo
);
...
...
@@ -205,15 +189,13 @@ public class ContractServiceImpl implements ContractService {
contractInfoDao
.
update
(
contract
);
//合同审批通过后,自动新增砂石余量预警设置
UUID
contractId
=
contract
.
getUuid
(
"id"
);
String
billType
=
"合同"
;
String
contractBaseInfo
=
getContractBaseInfo
(
contract
);
List
<
KObject
>
detials
=
contract
.
get
(
"contractDetails"
).
toList
();
//
for
(
KObject
detail
:
detials
)
{
String
dinasTypeName
=
detail
.
get
(
"dinasType"
).
getString
(
"dinasTypeName"
);
String
billType
=
"合同"
;
WarnSettingEntity
warnSetting
=
new
WarnSettingEntity
();
warnSetting
.
setBillType
(
billType
);
warnSetting
.
setBillId
(
contractId
);
...
...
@@ -221,12 +203,20 @@ public class ContractServiceImpl implements ContractService {
warnSetting
.
setOpen
(
true
);
warnSetting
.
setMemo
(
contractBaseInfo
);
warningSettingService
.
insertWarnSetting
(
warnSetting
);
}
//自动新增一条合同到期预警设置
String
target
=
"到期提醒(天)"
;
WarnSettingEntity
expireWarnSetting
=
new
WarnSettingEntity
();
expireWarnSetting
.
setBillType
(
billType
);
expireWarnSetting
.
setBillId
(
contractId
);
expireWarnSetting
.
setTarget
(
target
);
expireWarnSetting
.
setOpen
(
true
);
expireWarnSetting
.
setMemo
(
contractBaseInfo
);
warningSettingService
.
insertWarnSetting
(
expireWarnSetting
);
}
@Override
public
void
after
ChangeApproved
(
KObject
contract
)
{
public
void
after
ApprovedForUpdate
(
KObject
contract
)
{
List
<
KObject
>
executingContracts
=
contractDao
.
getExecutingContractByContractInfoId
(
contract
.
getUuid
(
"contractId"
));
if
(
executingContracts
.
size
()
!=
1
){
//不该出现的情况,需要查明
...
...
@@ -249,22 +239,8 @@ public class ContractServiceImpl implements ContractService {
contractInfoDao
.
update
(
contractInfo
);
//合同审批通过后,自动新增砂石余量预警设置---变更需要新旧对比,原有的不动,少了的种类废弃预警设置(按理说不可能有),多了的种类新建设置
//TODO
// UUID contractId = contract.getUuid("id");
// List<KObject> detials = contract.get("contractDetail").toList();
// //
// for (KObject detail : detials) {
// String dinasTypeName = detail.get("dinasType").getString("dinasTypeName");
//
// String billType = "合同";
// WarnSettingEntity warnSetting = new WarnSettingEntity();
// warnSetting.setBillType(billType);
// warnSetting.setBillId(contractId);
// warnSetting.setTarget(dinasTypeName);
// warnSetting.setOpen(true);
// warningSettingService.insertWarnSetting(warnSetting);
//
// }
}
private
String
getContractBaseInfo
(
KObject
contract
)
{
...
...
@@ -272,11 +248,12 @@ public class ContractServiceImpl implements ContractService {
KObject
project
=
contract
.
get
(
"project"
);
String
projectName
=
project
.
getString
(
"projectName"
);
KObject
regionCompany
=
contract
.
get
(
"regionCompany"
);
UUID
regionalCompanyId
=
regionCompany
!=
null
?
regionCompany
.
getUuid
(
"id"
):
UUID
.
fromString
(
"00000000-0000-0000-0000-000000000000"
);
UUID
emptyUUID
=
UUID
.
fromString
(
"00000000-0000-0000-0000-000000000000"
);
UUID
regionalCompanyId
=
regionCompany
!=
null
?
regionCompany
.
getUuid
(
"id"
):
emptyUUID
;
String
purchaseSandUnitName
=
contract
.
get
(
"purchaseSandUnit"
).
getString
(
"name"
);
String
contractName
=
contract
.
getString
(
"contractName"
);
KObject
station
=
contract
.
get
(
"station"
);
UUID
stationId
=
station
!=
null
?
station
.
getUuid
(
"id"
):
UUID
.
fromString
(
"00000000-0000-0000-0000-000000000000"
);
UUID
stationId
=
station
!=
null
?
station
.
getUuid
(
"id"
):
emptyUUID
;
//
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"contractName"
,
contractName
);
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/listener/ContractProcessEventListener.java
View file @
d81dc53e
...
...
@@ -33,7 +33,7 @@ public class ContractProcessEventListener implements InzBizProcessEventListener
public
void
afterProcessCompleted
(
InzBizProcessEvent
event
)
{
//自动新增合同预警条目
if
(
event
.
getInzBizProcess
().
getWorkflowState
()
==
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()){
contractService
.
after
SubmitApproved
(
event
.
getInzBizProcess
().
getBizDataObject
());
contractService
.
after
ApprovedForInsert
(
event
.
getInzBizProcess
().
getBizDataObject
());
}
}
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/listener/ContractUpdateProcessListener.java
View file @
d81dc53e
...
...
@@ -32,7 +32,7 @@ public class ContractUpdateProcessListener implements InzBizProcessEventListener
public
void
afterProcessCompleted
(
InzBizProcessEvent
event
)
{
//自动新增合同预警条目
if
(
event
.
getInzBizProcess
().
getWorkflowState
()
==
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()){
contractService
.
after
ChangeApproved
(
event
.
getInzBizProcess
().
getBizDataObject
());
contractService
.
after
ApprovedForUpdate
(
event
.
getInzBizProcess
().
getBizDataObject
());
}
}
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/service/ContractService.java
View file @
d81dc53e
...
...
@@ -33,17 +33,6 @@ public interface ContractService {
*/
List
<
KObject
>
getChangeHistory
(
UUID
id
);
/**
* 新增合同工作流
* @param id
*/
void
submitFlow
(
UUID
id
);
/**
* 变更合同工作流
* @param id
*/
void
submitFlowForUpdate
(
UUID
id
);
/**
* 根据购砂单位ID 查询所有合同列表里的项目ID列表
...
...
@@ -55,21 +44,31 @@ public interface ContractService {
*/
JSONArray
getProjectListByPurSandId
(
UUID
purchaseSandId
,
UUID
projectType
,
String
projectName
);
Object
queryWarnSettingById
(
UUID
id
);
// KObject queryContractById(UUID id
);
Object
queryWarnSettingStaffByContractId
(
String
fromString
);
/**
*
审批通过后的回调-提交
* @param
object
*
新增合同-提交工作流
* @param
id
*/
void
afterSubmitApproved
(
KObject
object
);
void
submitFlowForInsert
(
UUID
id
);
/**
*
审批通过后的回调-变更
* @param
object
*
变更合同-提交工作流
* @param
id
*/
void
afterChangeApproved
(
KObject
object
);
void
submitFlowForUpdate
(
UUID
id
);
Object
queryWarnSettingById
(
UUID
id
);
/**
* 新增合同- 审批通过后的回调
* @param object afterApprovedForInsert
*/
void
afterApprovedForInsert
(
KObject
object
);
/**
* 变更合同- 审批通过后的回调
* @param object afterApprovedForUpdate
*/
void
afterApprovedForUpdate
(
KObject
object
);
Object
queryWarnSettingStaffByContractId
(
String
fromString
);
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/task/ContractExpireCheckTask.java
0 → 100644
View file @
d81dc53e
package
com
.
xyst
.
dinas
.
contract
.
task
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bap.scheduler.core.Task
;
import
com.beecode.bap.scheduler.core.TaskContext
;
/**
* 合同过期检查任务
*
* @author Jackpot
* @date 2021年4月7日
*/
public
class
ContractExpireCheckTask
implements
Task
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
@Override
public
void
execute
(
TaskContext
arg0
)
{
// Amino.getApplicationContext().getBean(getClass());
System
.
out
.
println
(
"ContractExpireCheckTask.execute...."
);
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/task/ContractExpireCheckTaskRegister.java
0 → 100644
View file @
d81dc53e
package
com
.
xyst
.
dinas
.
contract
.
task
;
import
java.util.Optional
;
import
javax.annotation.PostConstruct
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.beecode.amino.metadata.context.ApplicationMetadataContext
;
import
com.beecode.amino.metadata.runtime.ServiceInitializer
;
import
com.beecode.bap.scheduler.entity.ScheduleDetail
;
import
com.beecode.bap.scheduler.entity.TaskDetail
;
import
com.beecode.bap.scheduler.service.ScheduleService
;
public
class
ContractExpireCheckTaskRegister
implements
ServiceInitializer
{
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
@Autowired
private
ScheduleService
scheduleService
;
//任务名
private
final
String
EXPIRE_REMIND_TASK_NAME
=
"ContractExpireCheckTask"
;
@Override
public
void
init
(
ApplicationMetadataContext
arg0
)
{
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
,
"*/10 * * * * ?"
);
logger
.
info
(
"合同到期提醒任务初始化成功!"
);
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/web/ContractController.java
View file @
d81dc53e
...
...
@@ -90,12 +90,12 @@ public class ContractController {
public
Object
submitFlow
(
@RequestBody
BaseEntity
baseEntity
)
{
UUID
id
=
UUID
.
fromString
(
baseEntity
.
getId
());
try
{
contractService
.
submitFlow
(
id
);
contractService
.
submitFlow
ForInsert
(
id
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ResponseObj
.
error
(
"提交审核
提交
失败"
,
e
.
getMessage
());
return
ResponseObj
.
error
(
"提交审核失败"
,
e
.
getMessage
());
}
return
ResponseObj
.
success
(
"提交审核
提交
成功"
);
return
ResponseObj
.
success
(
"提交审核成功"
);
}
@PostMapping
(
"/contract/update/submitFlow"
)
...
...
@@ -105,9 +105,9 @@ public class ContractController {
contractService
.
submitFlowForUpdate
(
id
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
ResponseObj
.
error
(
"变更审核
提交
失败"
,
e
.
getMessage
());
return
ResponseObj
.
error
(
"变更审核失败"
,
e
.
getMessage
());
}
return
ResponseObj
.
success
(
"变更审核
提交
成功"
);
return
ResponseObj
.
success
(
"变更审核成功"
);
}
@PostMapping
(
"/contract/load/last"
)
...
...
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