Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
520709b3
Commit
520709b3
authored
Oct 09, 2023
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
审核完成后,将单据状态变为审核完成
parent
0000deb4
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
87 行增加
和
13 行删除
+87
-13
OrderExceptionEnum.java
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/OrderExceptionEnum.java
+1
-0
CounterSignListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
+37
-7
GlobalEndListener.java
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
+16
-1
OrderMainServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
+5
-4
CommonConstants.java
jyzb-process/src/main/java/com/junmp/junmpProcess/common/CommonConstants.java
+1
-0
StartProcessInstanceDTO.java
jyzb-process/src/main/java/com/junmp/junmpProcess/dto/StartProcessInstanceDTO.java
+1
-0
FlowInstanceServiceImpl.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/impl/FlowInstanceServiceImpl.java
+26
-1
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/exception/enums/OrderExceptionEnum.java
View file @
520709b3
...
...
@@ -12,6 +12,7 @@ public enum OrderExceptionEnum implements IExceptionEnum {
ORDERDETAIL_ISNOT_NULL
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"记账子单据不能为空"
),
ORDERDETAIL_NOT_EXIST
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"子单据不存在"
),
ORDERDETAIL_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"子单据不一致,操作失败"
),
ROLE_ERROR
(
CommonConstant
.
DEFAULT_USER_ERROR_CODE
,
"审核组织机构用户配置异常!请检查日志"
),
;
/**
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/listener/CounterSignListener.java
View file @
520709b3
package
com
.
junmp
.
jyzb
.
listener
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.map.MapUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
...
...
@@ -9,8 +10,14 @@ import com.junmp.junmpProcess.dto.json.*;
import
com.junmp.junmpProcess.exception.WorkFlowException
;
import
com.junmp.junmpProcess.mapper.OrgUserMapper
;
import
com.junmp.junmpProcess.service.Repository.ProcessTemplateService
;
import
com.junmp.jyzb.api.exception.enums.OrderExceptionEnum
;
import
com.junmp.jyzb.entity.SupplierType
;
import
com.junmp.v2.auth.api.bean.login.LoginUser
;
import
com.junmp.v2.auth.api.context.LoginContext
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.message.api.MessageApi
;
import
com.junmp.v2.message.api.bean.req.MessageReq
;
import
com.junmp.v2.message.api.bean.req.MessageSendReq
;
import
com.junmp.v2.sys.api.UserServiceApi
;
import
com.junmp.v2.sys.api.bean.user.dto.RoleUserDto
;
import
com.junmp.v2.sys.api.bean.user.vo.QueryUserInfoVo
;
...
...
@@ -25,10 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
static
com
.
junmp
.
junmpProcess
.
utils
.
BpmnModelUtils
.
getChildNode
;
...
...
@@ -41,6 +45,8 @@ public class CounterSignListener implements ExecutionListener {
@Resource
private
TaskService
taskService
;
@Resource
private
MessageApi
messageApi
;
@Resource
private
RepositoryService
repositoryService
;
@Resource
private
OrgUserMapper
orgUserMapper
;
...
...
@@ -77,7 +83,7 @@ public class CounterSignListener implements ExecutionListener {
}
else
if
(
Type
.
equals
(
"5"
))
//指定角色
else
if
(
Type
.
equals
(
"5"
))
//指定角色
,查找发起人组织机构下的同角色账号
{
List
<
String
>
Roles
=
group
.
getApproverIds
();
if
(
Roles
.
size
()>
0
)
//角色不为空
...
...
@@ -97,7 +103,11 @@ public class CounterSignListener implements ExecutionListener {
{
assigneeList
.
add
(
userId
.
getUserID
());
}
if
(
assigneeList
.
size
()==
0
)
{
// throw new ServiceException(OrderExceptionEnum.ROLE_ERROR);
throw
new
WorkFlowException
(
"组织机构下无该角色账号,请先添加账号!"
);
}
}
...
...
@@ -165,8 +175,28 @@ public class CounterSignListener implements ExecutionListener {
}
if
(
assigneeList
.
size
()!=
0
)
{
execution
.
setVariable
(
variable
,
assigneeList
);
assigneeList
.
forEach
(
userId
->
//为相应的用户推送消息
{
MessageSendReq
sendReq
=
new
MessageSendReq
();
sendReq
.
setReceiveUserIds
(
String
.
valueOf
(
userId
));
sendReq
.
setMsgTitle
(
"BizTypeEnum.YW.getDesc()"
);
sendReq
.
setBizType
(
"BizTypeEnum.YW.getValue()"
);
sendReq
.
setMsgContent
(
"msgContent"
);
sendReq
.
setPriority
(
"0"
);
sendReq
.
setSendTime
(
DateTime
.
now
());
messageApi
.
sendMessage
(
sendReq
);
messageApi
.
queryCount
(
new
MessageReq
());
/*推送发送未读数量*/
MessageReq
req1
=
new
MessageReq
();
req1
.
setReadFlag
(
0
);
req1
.
setReceiveUserId
(
Long
.
valueOf
(
userId
));
Integer
count1
=
messageApi
.
queryCount
(
req1
);
messageApi
.
pushMsgToUser
(
String
.
valueOf
(
userId
),
count1
);
});
}
}
else
{
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/listener/GlobalEndListener.java
View file @
520709b3
...
...
@@ -2,11 +2,16 @@ package com.junmp.jyzb.listener;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.TypeReference
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.junmp.junmpProcess.dto.json.ChildNode
;
import
com.junmp.junmpProcess.utils.RabbitMQUtils2
;
//import com.rabbitmq.client.Channel;
//import com.rabbitmq.client.Connection;
import
com.junmp.jyzb.api.bean.dto.OrderDto
;
import
com.junmp.jyzb.api.bean.query.OrderMainReq
;
import
com.junmp.jyzb.api.bean.req.UpdateOrderReq
;
import
com.junmp.jyzb.entity.OrderDetail
;
import
com.junmp.jyzb.entity.OrderMain
;
import
com.junmp.jyzb.service.OrderMainService
;
import
com.rabbitmq.client.Channel
;
import
com.rabbitmq.client.Connection
;
...
...
@@ -41,6 +46,16 @@ import java.util.Map;
// 获取流程定义ID
String
processDefinitionId
=
event
.
getProcessDefinitionId
();
OrderMainReq
req
=
new
OrderMainReq
();
req
.
setProcessId
(
processInstanceId
);
OrderMain
existOrder
=
orderMainService
.
getOne
(
new
LambdaQueryWrapper
<
OrderMain
>()
.
eq
(
OrderMain:
:
getProcessId
,
req
.
getProcessId
())
);
UpdateOrderReq
updateOrderReq
=
new
UpdateOrderReq
();
updateOrderReq
.
setId
(
existOrder
.
getId
());
updateOrderReq
.
setExamineState
(
"finished"
);
updateOrderReq
.
setOrderState
(
"ready"
);
orderMainService
.
ChangeOrderState
(
updateOrderReq
);
// 获取流程实例关联的变量
Map
<
String
,
Object
>
processVariables
=
getProcessVariables
(
processInstanceId
);
...
...
@@ -48,7 +63,7 @@ import java.util.Map;
{
// 获取单据类型
String
documentType
=
(
String
)
processVariables
.
get
(
"documentType"
);
UpdateOrderReq
updateOrderReq
=
JSONObject
.
parseObject
(
documentType
,
new
TypeReference
<
UpdateOrderReq
>()
{
updateOrderReq
=
JSONObject
.
parseObject
(
documentType
,
new
TypeReference
<
UpdateOrderReq
>()
{
});
updateOrderReq
.
setExamineState
(
"finished"
);
updateOrderReq
.
setOrderState
(
"ready"
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/OrderMainServiceImpl.java
View file @
520709b3
...
...
@@ -25,7 +25,9 @@ import com.junmp.jyzb.entity.*;
import
com.junmp.jyzb.mapper.OrderMainMapper
;
import
com.junmp.jyzb.service.*
;
import
com.junmp.jyzb.utils.DateTimeUtil
;
import
com.junmp.v2.common.bean.response.ApiRes
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
com.junmp.v2.common.util.HttpServletUtil
;
import
com.junmp.v2.db.api.factory.PageFactory
;
...
...
@@ -124,6 +126,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
detailList
.
add
(
detail
);
}
//执行工作流
if
(
req
.
getExamineState
().
equals
(
"working"
))
{
StartProcessInstanceDTO
startProcessInstanceDTO
=
new
StartProcessInstanceDTO
();
...
...
@@ -134,6 +137,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
String
ProcessInstanceId
=
FlowInstanceService
.
startProcessInstanceById
(
startProcessInstanceDTO
);
order
.
setProcessId
(
ProcessInstanceId
);
}
orderDetailService
.
saveBatch
(
detailList
);
//设置总价格和总数量
order
.
setPrice
(
priceTotal
);
...
...
@@ -311,10 +315,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Override
public
Boolean
ChangeOrderState
(
UpdateOrderReq
req
)
{
OrderMain
order
=
orderMainExist
(
req
.
getId
());
if
(!
order
.
getExamineState
().
equals
(
"none"
))
{
throw
new
ServiceException
(
OrderExceptionEnum
.
ORDER_CAN_NOT_UPDATE
);
}
order
.
setExamineState
(
req
.
getExamineState
());
order
.
setOrderState
(
req
.
getOrderState
());
return
this
.
updateById
(
order
);
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/common/CommonConstants.java
View file @
520709b3
...
...
@@ -10,6 +10,7 @@ public interface CommonConstants {
Integer
SC_OK_200
=
200
;
String
FORM_VAR
=
"formData"
;
String
FORM_Trigger
=
"formTrigger"
;
String
PROCESS_STATUS
=
"processStatus"
;
String
START_USER_INFO
=
"startUser"
;
String
ORDER_ID
=
"orderId"
;
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/dto/StartProcessInstanceDTO.java
View file @
520709b3
...
...
@@ -20,4 +20,5 @@ public class StartProcessInstanceDTO {
private
String
orderId
;
private
String
orderType
;
private
String
userId
;
private
String
triggerId
;
}
jyzb-process/src/main/java/com/junmp/junmpProcess/service/impl/FlowInstanceServiceImpl.java
View file @
520709b3
...
...
@@ -6,9 +6,13 @@ import com.alibaba.fastjson.TypeReference;
import
com.junmp.junmpProcess.dto.StartProcessInstanceDTO
;
import
com.junmp.junmpProcess.factory.FlowServiceFactory
;
import
com.junmp.junmpProcess.service.IFlowInstanceService
;
import
com.junmp.jyzb.api.exception.enums.CabinetBoxExceptionEnum
;
import
com.junmp.jyzb.api.exception.enums.OrderExceptionEnum
;
import
com.junmp.v2.auth.api.bean.login.LoginUser
;
import
com.junmp.v2.auth.api.context.LoginContext
;
import
com.junmp.v2.common.bean.response.ApiRes
;
import
com.junmp.v2.common.exception.IExceptionEnum
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.sys.user.entity.SysUser
;
import
com.junmp.v2.sys.user.service.SysUserService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -106,6 +110,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
Authentication
.
setAuthenticatedUserId
(
StartUser
.
getUserId
().
toString
());
Map
<
String
,
Object
>
processVariables
=
new
HashMap
<>();
processVariables
.
put
(
FORM_VAR
,
formData
);
processVariables
.
put
(
FORM_Trigger
,
processInstanceDto
.
getTriggerId
());
//获取触发器信息
processVariables
.
put
(
ORDER_ID
,
processInstanceDto
.
getOrderId
());
processVariables
.
put
(
ORDER_TYPE
,
processInstanceDto
.
getOrderType
());
processVariables
.
put
(
START_USER_INFO
,
JSONObject
.
toJSONString
(
StartUser
));
...
...
@@ -128,6 +133,8 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
// {
// return ApiRes.failure("流程不存在或已挂起");
// }
try
{
ProcessInstance
processInstance
=
processInstanceBuilder
.
processDefinitionId
(
processInstanceDto
.
getProcessDefinitionId
())
...
...
@@ -135,12 +142,30 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
.
variables
(
processVariables
)
.
businessStatus
(
BUSINESS_STATUS_1
)
.
start
();
//手动完成第一个任务
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processInstance
.
getId
()).
singleResult
();
task
.
setAssignee
(
StartUser
.
getUserId
().
toString
());
return
processInstance
.
getProcessInstanceId
();
}
catch
(
Exception
e
)
{
String
fullErrorMessage
=
getFullErrorMessage
(
e
);
// 处理在启动流程实例时发生的异常
throw
new
ServiceException
(
OrderExceptionEnum
.
ROLE_ERROR
);
// throw new ServiceException(fullErrorMessage);
}
//手动完成第一个任务
}
// 递归获取异常信息的方法
private
String
getFullErrorMessage
(
Throwable
throwable
)
{
StringBuilder
errorMessage
=
new
StringBuilder
();
while
(
throwable
!=
null
)
{
errorMessage
.
append
(
throwable
.
getMessage
()).
append
(
"\n"
);
throwable
=
throwable
.
getCause
();
}
return
errorMessage
.
toString
();
}
@Override
public
String
getFormIdByInstanceId
(
String
instanceId
)
{
HistoricActivityInstance
query
=
historyService
.
createHistoricActivityInstanceQuery
()
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论