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
c9974ab1
Commit
c9974ab1
authored
Jun 23, 2021
by
焦凯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码
parent
25197c5f
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
210 additions
and
8 deletions
+210
-8
ContractWorkFlowEvent.java
.../beecode/inz/workflow/listener/ContractWorkFlowEvent.java
+3
-3
TaskEventListenerImpl.java
.../beecode/inz/workflow/listener/TaskEventListenerImpl.java
+2
-2
ContractServiceImpl.java
.../dinas/contract/internal/service/ContractServiceImpl.java
+74
-0
ContractProcessEventListener.java
...dinas/contract/listener/ContractProcessEventListener.java
+3
-0
ContractTaskEventListenerHandle.java
...as/contract/listener/ContractTaskEventListenerHandle.java
+119
-0
ContractUpdateProcessListener.java
...inas/contract/listener/ContractUpdateProcessListener.java
+3
-0
ContractService.java
...java/com/xyst/dinas/contract/service/ContractService.java
+6
-3
No files found.
backend/inz.workflow/src/main/java/com/beecode/inz/workflow/listener/
RT
WorkFlowEvent.java
→
backend/inz.workflow/src/main/java/com/beecode/inz/workflow/listener/
Contract
WorkFlowEvent.java
View file @
c9974ab1
...
...
@@ -2,7 +2,7 @@ package com.beecode.inz.workflow.listener;
import
org.springframework.context.ApplicationEvent
;
public
class
RT
WorkFlowEvent
extends
ApplicationEvent
{
public
class
Contract
WorkFlowEvent
extends
ApplicationEvent
{
private
String
type
;
...
...
@@ -11,11 +11,11 @@ public class RTWorkFlowEvent extends ApplicationEvent{
*/
private
static
final
long
serialVersionUID
=
1L
;
public
RT
WorkFlowEvent
(
Object
source
)
{
public
Contract
WorkFlowEvent
(
Object
source
)
{
super
(
source
);
}
public
RT
WorkFlowEvent
(
Object
source
,
String
type
)
{
public
Contract
WorkFlowEvent
(
Object
source
,
String
type
)
{
super
(
source
);
this
.
type
=
type
;
}
...
...
backend/inz.workflow/src/main/java/com/beecode/inz/workflow/listener/TaskEventListenerImpl.java
View file @
c9974ab1
...
...
@@ -60,7 +60,7 @@ public class TaskEventListenerImpl implements TaskEventListener{
@Override
public
void
afterTaskStartedEvent
(
TaskEvent
event
)
{
Amino
.
getApplicationContext
().
publishEvent
(
new
RT
WorkFlowEvent
(
event
,
"after_started"
));
Amino
.
getApplicationContext
().
publishEvent
(
new
Contract
WorkFlowEvent
(
event
,
"after_started"
));
}
@Override
...
...
@@ -71,7 +71,7 @@ public class TaskEventListenerImpl implements TaskEventListener{
@Override
public
void
afterTaskCompletedEvent
(
TaskEvent
event
)
{
Amino
.
getApplicationContext
().
publishEvent
(
new
RT
WorkFlowEvent
(
event
,
"after_completed"
));
// Amino.getApplicationContext().publishEvent(new Contract
WorkFlowEvent(event,"after_completed"));
}
@Override
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/internal/service/ContractServiceImpl.java
View file @
c9974ab1
package
com
.
xyst
.
dinas
.
contract
.
internal
.
service
;
import
java.math.BigDecimal
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -19,12 +21,21 @@ import org.springframework.transaction.annotation.Transactional;
import
com.beecode.amino.core.Amino
;
import
com.beecode.bap.log.LogConstants
;
import
com.beecode.bap.log.service.LogService
;
import
com.beecode.bap.staff.Staff
;
import
com.beecode.bap.staff.service.StaffService
;
import
com.beecode.bap.workflow.constants.BizProcessConstant
;
import
com.beecode.bcp.core.context.AminoContextHolder
;
import
com.beecode.bcp.task.assignment.Actor
;
import
com.beecode.bcp.type.KClass
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.basis.config.constants.CommonConstants
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
import
com.beecode.inz.common.BaseConstants
;
import
com.beecode.inz.message.RemPartRelationConstants
;
import
com.beecode.inz.message.RemindConstants
;
import
com.beecode.inz.message.enumeration.ParterType
;
import
com.beecode.inz.message.service.RemindService
;
import
com.beecode.inz.workflow.service.InzWorkflowService
;
import
com.xyst.dinas.biz.dao.DinasOrganizationDao
;
import
com.xyst.dinas.biz.warn.WarnSettingEntity
;
...
...
@@ -73,6 +84,12 @@ public class ContractServiceImpl implements ContractService {
@Autowired
private
LogService
logService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
RemindService
remindService
;
@Override
@Transactional
public
UUID
create
(
KObject
kObject
)
{
...
...
@@ -451,4 +468,61 @@ public class ContractServiceImpl implements ContractService {
return
ResponseObj
.
error
();
}
}
@Override
@Transactional
public
void
remindToCreatorApproved
(
String
result
,
KObject
contractKObj
)
{
try
{
UUID
contractId
=
contractKObj
.
getUuid
(
CommonConstants
.
ID
);
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
JSONObject
remObject
=
new
JSONObject
();
remObject
.
put
(
RemindConstants
.
CREATE_TIME
,
format
.
format
(
new
Date
()));
if
(
result
.
equals
(
"agree"
)){
remObject
.
put
(
RemindConstants
.
REMIND_CONTENT
,
contractKObj
.
getString
(
ContractConstant
.
CONTRACT_NAME
)+
"已审核通过。"
);
}
else
if
(
result
.
equals
(
"reject"
)){
remObject
.
put
(
RemindConstants
.
REMIND_CONTENT
,
contractKObj
.
getString
(
ContractConstant
.
CONTRACT_NAME
)+
"审核不通过,请处理!"
);
}
remObject
.
put
(
RemindConstants
.
REMIND_TIME
,
format
.
format
(
new
Date
()));
remObject
.
put
(
RemindConstants
.
DATA
,
contractId
);
remObject
.
put
(
RemindConstants
.
LOOK_NAME
,
"合同审核提醒"
);
remObject
.
put
(
RemindConstants
.
LOOK_TYPE
,
"Contract"
);
remObject
.
put
(
"_type"
,
ContractConstant
.
ENTITY_CONTRACT
);
JSONObject
businessInfo
=
new
JSONObject
();
// businessInfo.put("biztypeName", "company-info");
// businessInfo.put("triggerAction", "create");
businessInfo
.
put
(
"bizDataId"
,
contractId
);
remObject
.
put
(
"businessInfo"
,
businessInfo
);
String
remindId
=
UUID
.
randomUUID
().
toString
();
remObject
.
put
(
RemindConstants
.
ID
,
remindId
);
List
<
KObject
>
sysadminStaffs
=
staffService
.
getByUsername
(
"sysadmin"
);
KObject
sysadminStaff
=
sysadminStaffs
.
size
()>=
1
?
sysadminStaffs
.
get
(
0
):
null
;
KObject
remindKObj
=(
KObject
)
JSONObjectUtils
.
toObject
(
remObject
.
toString
());
remindKObj
.
set
(
RemindConstants
.
SENDER
,
sysadminStaff
);
remindKObj
.
validate
();
KObject
creator
=
contractKObj
.
get
(
CommonConstants
.
CREATOR
);
List
<
KObject
>
listRes
=
new
ArrayList
<
KObject
>();
JSONObject
part
=
new
JSONObject
();
part
.
put
(
RemPartRelationConstants
.
PARTICIPATE_TYPE
,
ParterType
.
PERSON
.
getPartnerType
());
part
.
put
(
"_type"
,
com
.
beecode
.
inz
.
message
.
CommonConstants
.
REM_PART_RELATION_ENTITTY
);
part
.
put
(
RemPartRelationConstants
.
REMIND_ID
,
remindId
);
part
.
put
(
RemPartRelationConstants
.
ID
,
UUID
.
randomUUID
());
KObject
user
=
creator
.
get
(
Staff
.
USER
);
String
userId
=
user
.
getString
(
"id"
);
part
.
put
(
RemPartRelationConstants
.
PARTICIPATE_ID
,
userId
);
KObject
entity
=(
KObject
)
JSONObjectUtils
.
toObject
(
part
.
toString
());
listRes
.
add
(
entity
);
entity
.
validate
();
remindService
.
add
(
remindKObj
,
listRes
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"send remind error when contract workflow task need handle"
);
e
.
printStackTrace
();
throw
new
RuntimeException
(
e
);
}
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/listener/ContractProcessEventListener.java
View file @
c9974ab1
...
...
@@ -35,6 +35,9 @@ public class ContractProcessEventListener implements InzBizProcessEventListener
//自动新增合同预警条目
if
(
event
.
getInzBizProcess
().
getWorkflowState
()
==
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()){
contractService
.
afterApprovedForInsert
(
event
.
getInzBizProcess
().
getBizDataObject
());
contractService
.
remindToCreatorApproved
(
"agree"
,
event
.
getInzBizProcess
().
getBizDataObject
());
}
else
if
(
event
.
getInzBizProcess
().
getWorkflowState
()
==
BizProcessState
.
DONE_WITH_REJECT
.
getValue
()){
contractService
.
remindToCreatorApproved
(
"reject"
,
event
.
getInzBizProcess
().
getBizDataObject
());
}
// }else if(event.getInzBizProcess().getTriggerAction().equals("CHANGE")){
// if(event.getInzBizProcess().getWorkflowState() == BizProcessState.DONE_WITH_AGREE.getValue()){
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/listener/ContractTaskEventListenerHandle.java
0 → 100644
View file @
c9974ab1
package
com
.
xyst
.
dinas
.
contract
.
listener
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
import
org.json.JSONObject
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.ApplicationListener
;
import
com.beecode.bap.staff.Staff
;
import
com.beecode.bap.staff.service.StaffService
;
import
com.beecode.bap.workflow.constants.BizProcessConstant
;
import
com.beecode.bcp.task.assignment.Actor
;
import
com.beecode.bcp.task.event.TaskEvent
;
import
com.beecode.bcp.task.service.ActorService
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.bcp.type.json.JSONObjectUtils
;
import
com.beecode.inz.message.CommonConstants
;
import
com.beecode.inz.message.RemPartRelationConstants
;
import
com.beecode.inz.message.RemindConstants
;
import
com.beecode.inz.message.enumeration.ParterType
;
import
com.beecode.inz.message.service.RemindService
;
import
com.beecode.inz.workflow.listener.ContractWorkFlowEvent
;
import
com.xyst.dinas.contract.constant.ContractConstant
;
import
com.xyst.dinas.contract.internal.dao.ContractDao
;
public
class
ContractTaskEventListenerHandle
implements
ApplicationListener
<
ContractWorkFlowEvent
>{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ContractTaskEventListenerHandle
.
class
);
@Autowired
private
ContractDao
contractDao
;
@Autowired
private
ActorService
actorService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
RemindService
remindService
;
@Override
public
void
onApplicationEvent
(
ContractWorkFlowEvent
event
)
{
String
type
=
event
.
getType
();
TaskEvent
taskEvent
=
(
TaskEvent
)
event
.
getSource
();
if
(
type
.
equals
(
"after_started"
)){
generateTaskAfterStartedEvent
(
taskEvent
);
}
}
private
void
generateTaskAfterStartedEvent
(
TaskEvent
taskEvent
){
try
{
KObject
taskKobj
=
taskEvent
.
getTaskObject
();
UUID
dataId
=
taskKobj
.
getUuid
(
BizProcessConstant
.
BIZ_DATA_ID
);
UUID
taskId
=
taskKobj
.
getUuid
(
"id"
);
if
(
null
==
dataId
){
return
;
//工作流参数中没有找到提交审核的数据的id,不知道该怎么处理,先直接返回
}
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
KObject
contractKObj
=
contractDao
.
load
(
dataId
);
JSONObject
remObject
=
new
JSONObject
();
remObject
.
put
(
RemindConstants
.
CREATE_TIME
,
format
.
format
(
new
Date
()));
remObject
.
put
(
RemindConstants
.
REMIND_CONTENT
,
contractKObj
.
getString
(
ContractConstant
.
CONTRACT_NAME
)+
"待审批,请处理!"
);
remObject
.
put
(
RemindConstants
.
REMIND_TIME
,
format
.
format
(
new
Date
()));
remObject
.
put
(
RemindConstants
.
DATA
,
dataId
);
remObject
.
put
(
RemindConstants
.
LOOK_NAME
,
"合同待审提醒"
);
remObject
.
put
(
RemindConstants
.
LOOK_TYPE
,
"Contract"
);
remObject
.
put
(
"_type"
,
ContractConstant
.
ENTITY_CONTRACT
);
JSONObject
businessInfo
=
new
JSONObject
();
// businessInfo.put("biztypeName", "company-info");
// businessInfo.put("triggerAction", "create");
businessInfo
.
put
(
"bizDataId"
,
dataId
);
remObject
.
put
(
"businessInfo"
,
businessInfo
);
String
remindId
=
UUID
.
randomUUID
().
toString
();
remObject
.
put
(
RemindConstants
.
ID
,
remindId
);
List
<
KObject
>
sysadminStaffs
=
staffService
.
getByUsername
(
"sysadmin"
);
KObject
sysadminStaff
=
sysadminStaffs
.
size
()>=
1
?
sysadminStaffs
.
get
(
0
):
null
;
KObject
remindKObj
=(
KObject
)
JSONObjectUtils
.
toObject
(
remObject
.
toString
());
remindKObj
.
set
(
RemindConstants
.
SENDER
,
sysadminStaff
);
remindKObj
.
validate
();
List
<
KObject
>
actors
=
actorService
.
getActorsByTask
(
taskId
);
List
<
KObject
>
listRes
=
new
ArrayList
<
KObject
>();
for
(
KObject
actor
:
actors
){
JSONObject
part
=
new
JSONObject
();
UUID
actorId
=
actor
.
getUuid
(
Actor
.
ACTOR_ID
);
part
.
put
(
RemPartRelationConstants
.
PARTICIPATE_TYPE
,
ParterType
.
PERSON
.
getPartnerType
());
part
.
put
(
"_type"
,
CommonConstants
.
REM_PART_RELATION_ENTITTY
);
part
.
put
(
RemPartRelationConstants
.
REMIND_ID
,
remindId
);
part
.
put
(
RemPartRelationConstants
.
ID
,
UUID
.
randomUUID
());
KObject
staff
=
staffService
.
getById
(
actorId
);
KObject
user
=
staff
.
get
(
Staff
.
USER
);
String
userId
=
user
.
getString
(
"id"
);
part
.
put
(
RemPartRelationConstants
.
PARTICIPATE_ID
,
userId
);
KObject
entity
=(
KObject
)
JSONObjectUtils
.
toObject
(
part
.
toString
());
listRes
.
add
(
entity
);
entity
.
validate
();
}
remindService
.
add
(
remindKObj
,
listRes
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"send remind error when contract workflow task need handle"
);
e
.
printStackTrace
();
throw
new
RuntimeException
(
e
);
}
}
}
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/listener/ContractUpdateProcessListener.java
View file @
c9974ab1
...
...
@@ -33,6 +33,9 @@ public class ContractUpdateProcessListener implements InzBizProcessEventListener
//自动新增合同预警条目
if
(
event
.
getInzBizProcess
().
getWorkflowState
()
==
BizProcessState
.
DONE_WITH_AGREE
.
getValue
()){
contractService
.
afterApprovedForUpdate
(
event
.
getInzBizProcess
().
getBizDataObject
());
contractService
.
remindToCreatorApproved
(
"agree"
,
event
.
getInzBizProcess
().
getBizDataObject
());
}
else
if
(
event
.
getInzBizProcess
().
getWorkflowState
()
==
BizProcessState
.
DONE_WITH_REJECT
.
getValue
()){
contractService
.
remindToCreatorApproved
(
"reject"
,
event
.
getInzBizProcess
().
getBizDataObject
());
}
}
...
...
backend/xyst.dinas.contract/src/main/java/com/xyst/dinas/contract/service/ContractService.java
View file @
c9974ab1
...
...
@@ -3,7 +3,6 @@ package com.xyst.dinas.contract.service;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.UUID
;
import
org.json.JSONArray
;
...
...
@@ -11,7 +10,6 @@ import org.json.JSONObject;
import
org.springframework.lang.Nullable
;
import
com.beecode.bcp.type.KObject
;
import
com.beecode.inz.basis.team.pojo.ResponseObj
;
public
interface
ContractService
{
...
...
@@ -118,5 +116,10 @@ public interface ContractService {
Object
updateContractState
(
JSONObject
jsonObject
);
/**
* 审批完成后给创建人发消息的接口
* @param String result 审批结果
* @param KObject contract 对应的合同
*/
void
remindToCreatorApproved
(
String
result
,
KObject
contract
);
}
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