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
83faf830
Commit
83faf830
authored
Jul 28, 2023
by
shenweidong
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
2c21ca29
e79c4c38
全部展开
显示空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
302 行增加
和
109 行删除
+302
-109
.gitignore
.gitignore
+0
-1
CabinetBoxReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetBoxReq.java
+8
-0
CabinetReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetReq.java
+6
-0
CabinetDto.java
jyzb-biz/src/main/java/com/junmp/jyzb/Dto/CabinetDto.java
+93
-0
CabinetController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/CabinetController.java
+18
-15
Cabinet.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Cabinet.java
+0
-2
Policeman.java
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Policeman.java
+1
-1
CabinetMapper.java
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/CabinetMapper.java
+3
-0
CabinetService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/CabinetService.java
+5
-3
CabinetServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/CabinetServiceImpl.java
+32
-15
CabinetMapper.xml
jyzb-biz/src/main/resources/mapper/CabinetMapper.xml
+25
-4
WorkFlowConstants.java
jyzb-process/src/main/java/com/junmp/junmpProcess/common/WorkFlowConstants.java
+1
-1
BpmnController.java
jyzb-process/src/main/java/com/junmp/junmpProcess/controller/BpmnController.java
+15
-5
CounterSignListener.java
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/CounterSignListener.java
+12
-3
GlobalEndListener.java
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/GlobalEndListener.java
+1
-0
ProcessListener.java
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/ProcessListener.java
+1
-0
TaskCreatedListener.java
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/TaskCreatedListener.java
+43
-43
OrgUserMapper.java
jyzb-process/src/main/java/com/junmp/junmpProcess/mapper/OrgUserMapper.java
+1
-1
WorkProcessService.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/WorkProcessService.java
+11
-8
WorkProcessServiceImpl.java
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
+0
-0
BpmnConvert.java
jyzb-process/src/main/java/com/junmp/junmpProcess/utils/BpmnConvert.java
+25
-6
BpmnModelUtils.java
jyzb-process/src/main/java/com/junmp/junmpProcess/utils/BpmnModelUtils.java
+0
-0
OrgUserMapper.xml
jyzb-process/src/main/resources/mapper/OrgUserMapper.xml
+1
-1
没有找到文件。
.gitignore
View file @
83faf830
...
...
@@ -61,4 +61,3 @@ Thumbs.db
/jyzb-boot/pom.xml
/.idea/encodings.xml
/jyzb-api/jyzb-api.iml
/jyzb-api/jyzb-api.iml
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetBoxReq.java
View file @
83faf830
...
...
@@ -47,5 +47,12 @@ public class CabinetBoxReq extends BaseRequest {
@ApiModelProperty
(
value
=
"使用日志存储位置信息"
)
private
String
logMap
;
/**
* 警员id
*/
@ApiModelProperty
(
value
=
"警员id"
)
private
String
policeId
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/req/CabinetReq.java
View file @
83faf830
...
...
@@ -76,6 +76,12 @@ public class CabinetReq extends BaseRequest {
@ApiModelProperty
(
value
=
"更新人员"
)
private
String
updateUser
;
/**
* 是否包含本级及下级,true为包含,false为不包含,只显示本级
*/
@ApiModelProperty
(
value
=
"本机及下级"
)
private
String
includeLowerLevel
;
// /**
// * 单警柜与箱门一对多关系
// */
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/Dto/CabinetDto.java
0 → 100644
View file @
83faf830
package
com
.
junmp
.
jyzb
.
Dto
;
import
com.junmp.jyzb.entity.CabinetBox
;
import
com.junmp.v2.common.bean.request.BaseRequest
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
javax.validation.constraints.NotNull
;
import
java.util.Date
;
import
java.util.List
;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
CabinetDto
extends
BaseRequest
{
/**
* 单警柜ID
*/
@NotNull
(
message
=
"单警柜ID主键不能为空"
,
groups
=
{
edit
.
class
,
delete
.
class
,
detail
.
class
})
@ApiModelProperty
(
value
=
"单警柜ID"
)
private
String
id
;
/**
* 单警柜编号
*/
@NotNull
(
message
=
"单警柜编号不能为空"
,
groups
=
{
edit
.
class
,
delete
.
class
,
detail
.
class
})
@ApiModelProperty
(
value
=
"单警柜编号"
)
private
String
cabinetNum
;
/**
* 箱数
*/
@ApiModelProperty
(
value
=
"箱数"
)
private
Integer
num
;
/**
* 单警柜名称
*/
@NotNull
(
message
=
"单警柜名称不能为空"
,
groups
=
{
edit
.
class
,
delete
.
class
,
detail
.
class
})
@ApiModelProperty
(
value
=
"单警柜名称"
)
private
String
name
;
/**
* 组织机构号
*/
@NotNull
(
message
=
"组织机构号不能为空"
,
groups
=
{
edit
.
class
,
delete
.
class
,
detail
.
class
})
@ApiModelProperty
(
value
=
"组织机构号"
)
private
String
orgId
;
/**
* 位置信息
*/
@ApiModelProperty
(
value
=
"位置信息"
)
private
String
location
;
/**
* 单警柜当前状态,0正常,1异常
*/
@ApiModelProperty
(
value
=
"单警柜当前状态,0正常,1异常"
)
private
Integer
state
;
/**
* 创建时间
*/
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
/**
* 更新时间
*/
@ApiModelProperty
(
value
=
"更新时间"
)
private
Date
updateTime
;
/**
* 更新人员
*/
@ApiModelProperty
(
value
=
"更新人员"
)
private
String
updateUser
;
/**
* 是否包含本级及下级,true为包含,false为不包含,只显示本级
*/
@ApiModelProperty
(
value
=
"本机及下级"
)
private
String
includeLowerLevel
;
/**
* 单警柜与箱门一对多关系
*/
private
List
<
CabinetBox
>
list
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/controller/CabinetController.java
View file @
83faf830
package
com
.
junmp
.
jyzb
.
controller
;
import
com.junmp.jyzb.Dto.CabinetDto
;
import
com.junmp.jyzb.api.bean.req.CabinetBoxReq
;
import
com.junmp.jyzb.api.bean.req.CabinetReq
;
import
com.junmp.jyzb.entity.Cabinet
;
...
...
@@ -46,14 +47,14 @@ public class CabinetController {
}
@PostMapping
(
"/DeleteCabinet"
)
@ApiOperation
(
"删除单警柜
信息
"
)
@ApiOperation
(
"删除单警柜"
)
public
ResponseResult
deleteCabinet
(
@RequestBody
Map
<
String
,
Object
>
msg
)
{
ResponseResult
returnMsg
=
cabinetService
.
deleteCabinet
(
msg
);
return
returnMsg
;
}
@PostMapping
(
"/ShowCabinet"
)
@ApiOperation
(
"查询单警柜
列表
"
)
@ApiOperation
(
"查询单警柜"
)
public
ResponseResult
showCabinet
(
@RequestBody
Map
<
String
,
Object
>
msg
){
ResponseResult
returnMsg
=
cabinetService
.
getAllCabinet
(
msg
);
return
returnMsg
;
...
...
@@ -88,7 +89,7 @@ public class CabinetController {
}
@PostMapping
(
"/AddCabinetInfo"
)
@ApiOperation
(
"添加单警柜"
)
@ApiOperation
(
"添加单警柜
信息(新)
"
)
public
ApiRes
<
Boolean
>
addCabinetInfo
(
@RequestBody
CabinetReq
req
){
boolean
result
=
cabinetService
.
addCabinetInfo
(
req
);
if
(!
result
){
...
...
@@ -98,37 +99,39 @@ public class CabinetController {
}
@PostMapping
(
"/DeleteCabinetInfo"
)
@ApiOperation
(
"删除单警柜信息"
)
@ApiOperation
(
"删除单警柜信息
(新)
"
)
public
ApiRes
<
Boolean
>
deleteCabinetInfo
(
@RequestBody
CabinetReq
req
)
{
return
ApiRes
.
success
(
cabinetService
.
deleteCabinetInfo
(
req
));
}
@PostMapping
(
"/ShowCabinetList"
)
@ApiOperation
(
"查询单警柜列表"
)
public
ApiRes
<
List
<
Cabinet
>>
showCabinetList
(
@RequestBody
CabinetReq
req
,
@RequestBody
String
includeLowerLevel
){
List
<
Cabinet
>
allCabinetList
=
cabinetService
.
getAllCabinetList
(
req
,
includeLowerLevel
);
@ApiOperation
(
"查询单警柜列表
(新)
"
)
public
ApiRes
<
List
<
Cabinet
>>
showCabinetList
(
@RequestBody
CabinetReq
req
){
List
<
Cabinet
>
allCabinetList
=
cabinetService
.
getAllCabinetList
(
req
);
if
(
allCabinetList
.
size
()<=
0
){
return
ApiRes
.
failure
(
"查询失败,列表为null"
);
}
return
ApiRes
.
success
(
cabinetService
.
getAllCabinetList
(
req
,
includeLowerLevel
)
);
return
ApiRes
.
success
(
allCabinetList
);
}
//通过单警柜id查询单个箱门及其箱门信息
@PostMapping
(
"/ShowOneCabinet"
)
@ApiOperation
(
"查询单个单警柜及其箱门信息"
)
public
ApiRes
<
Cabinet
>
showOneCabinet
(
@RequestBody
CabinetReq
req
){
@ApiOperation
(
"查询单个单警柜及其箱门信息
(新)
"
)
public
ApiRes
<
Cabinet
Dto
>
showOneCabinet
(
@RequestBody
CabinetReq
req
){
return
ApiRes
.
success
(
cabinetService
.
showOneCabinet
(
req
));
}
@PostMapping
(
"/getCabinetBoxList"
)
@ApiOperation
(
"通过单警柜id获取箱门列表"
)
@ApiOperation
(
"通过单警柜id获取箱门列表
(新)
"
)
public
ApiRes
<
List
<
CabinetBox
>>
getCabinetBoxList
(
@RequestBody
CabinetReq
req
){
return
ApiRes
.
success
(
cabinetBoxService
.
getCabinetBoxList
(
req
));
}
@PostMapping
(
"/UpdateCabinetInfo"
)
@ApiOperation
(
"修改单警柜信息"
)
@ApiOperation
(
"修改单警柜信息
(新)
"
)
public
ApiRes
<
Boolean
>
updateCabinetInfo
(
@RequestBody
CabinetReq
req
)
{
boolean
result
=
cabinetService
.
updateCabinetInfo
(
req
);
if
(!
result
){
...
...
@@ -138,9 +141,9 @@ public class CabinetController {
}
@PostMapping
(
"/boxBindPolice"
)
@ApiOperation
(
"箱门绑定人员"
)
public
ApiRes
<
Boolean
>
boxBindPolice
(
@RequestBody
CabinetBoxReq
req
,
@RequestBody
String
policeId
)
{
boolean
result
=
cabinetService
.
boxBindPolice
(
req
,
policeId
);
@ApiOperation
(
"箱门绑定人员
(新)
"
)
public
ApiRes
<
Boolean
>
boxBindPolice
(
@RequestBody
CabinetBoxReq
req
)
{
boolean
result
=
cabinetService
.
boxBindPolice
(
req
);
if
(!
result
){
return
ApiRes
.
failure
(
"操作失败"
);
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Cabinet.java
View file @
83faf830
...
...
@@ -124,7 +124,6 @@ public class Cabinet implements Serializable {
@ApiModelProperty
(
value
=
"箱数"
)
private
Integer
num
;
private
List
<
CabinetBox
>
list
;
private
static
final
long
serialVersionUID
=
1L
;
}
\ No newline at end of file
jyzb-biz/src/main/java/com/junmp/jyzb/entity/Policeman.java
View file @
83faf830
...
...
@@ -28,7 +28,7 @@ public class Policeman implements Serializable {
@TableField
(
value
=
"name"
)
private
String
name
;
@TableField
(
value
=
"cabinet_box_id"
)
@TableField
(
value
=
"cabinet_box_id"
,
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
cabinetBoxId
;
@TableField
(
value
=
"org_id_int"
)
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/mapper/CabinetMapper.java
View file @
83faf830
package
com
.
junmp
.
jyzb
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.junmp.jyzb.Dto.CabinetDto
;
import
com.junmp.jyzb.entity.Cabinet
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -14,6 +15,7 @@ public interface CabinetMapper extends BaseMapper<Cabinet> {
public
int
addCabinet
(
Cabinet
cabinet
);
public
List
<
Cabinet
>
getAllCabinet
();
public
List
<
Cabinet
>
getAllCabinetList
();
Map
<
String
,
Object
>
getOneCabinet
(
String
id
);
...
...
@@ -35,6 +37,7 @@ public interface CabinetMapper extends BaseMapper<Cabinet> {
String
getCabinetNumById
(
String
id
);
List
<
Cabinet
>
getAllCabinetByOrgList
(
List
<
String
>
allOrgId
);
List
<
CabinetDto
>
getAllCabinetByOrgList111
(
List
<
String
>
allOrgId
);
void
setCabinetSumInventory
(
@Param
(
"updateId"
)
String
id
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/CabinetService.java
View file @
83faf830
package
com
.
junmp
.
jyzb
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.junmp.jyzb.Dto.CabinetDto
;
import
com.junmp.jyzb.api.bean.req.CabinetBoxReq
;
import
com.junmp.jyzb.api.bean.req.CabinetReq
;
import
com.junmp.jyzb.entity.Cabinet
;
...
...
@@ -50,7 +51,8 @@ public interface CabinetService extends IService<Cabinet> {
* @param req
* @return
*/
List
<
Cabinet
>
getAllCabinetList
(
CabinetReq
req
,
String
includeLowerLevel
);
List
<
Cabinet
>
getAllCabinetList
(
CabinetReq
req
);
/**
...
...
@@ -58,7 +60,7 @@ public interface CabinetService extends IService<Cabinet> {
* @param req
* @return
*/
Cabinet
showOneCabinet
(
CabinetReq
req
);
Cabinet
Dto
showOneCabinet
(
CabinetReq
req
);
/**
* 修改单警柜信息
...
...
@@ -72,7 +74,7 @@ public interface CabinetService extends IService<Cabinet> {
* @param req
* @return
*/
boolean
boxBindPolice
(
CabinetBoxReq
req
,
String
policeId
);
boolean
boxBindPolice
(
CabinetBoxReq
req
);
/**
* 根据组织机构获取单警柜及箱号信息
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/CabinetServiceImpl.java
View file @
83faf830
...
...
@@ -3,6 +3,7 @@ package com.junmp.jyzb.service.impl;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.junmp.jyzb.Dto.CabinetDto
;
import
com.junmp.jyzb.api.bean.req.CabinetBoxReq
;
import
com.junmp.jyzb.api.bean.req.CabinetReq
;
import
com.junmp.jyzb.entity.Cabinet
;
...
...
@@ -17,10 +18,8 @@ import com.junmp.jyzb.service.CabinetService;
import
com.junmp.jyzb.service.PolicemanService
;
import
com.junmp.jyzb.service.PubOrgService
;
import
com.junmp.jyzb.utils.*
;
import
com.junmp.v2.common.constant.CommonConstant
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -342,6 +341,11 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
allCabinet
=
cabinetMapper
.
getAllCabinetByOrgList
(
allOrgId
);
return
allCabinet
;
}
private
List
<
CabinetDto
>
getAllCabinetByOrg111
(
List
<
String
>
allOrgId
)
{
List
<
CabinetDto
>
allCabinet
=
new
ArrayList
<>();
allCabinet
=
cabinetMapper
.
getAllCabinetByOrgList111
(
allOrgId
);
return
allCabinet
;
}
@Override
public
List
<
String
>
getAllCabinetId
(
Map
<
String
,
Object
>
msg
)
{
...
...
@@ -489,6 +493,13 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getId
()),
CabinetBox:
:
getCabinetId
,
req
.
getId
());
List
<
CabinetBox
>
list
=
cabinetBoxService
.
list
(
eq
);
for
(
CabinetBox
cabinetBox:
list
)
{
//删除箱门信息的同时需要去判断箱门是否绑定警员,如果有,则解除绑定
Policeman
one
=
policemanService
.
getOne
(
new
LambdaQueryWrapper
<
Policeman
>()
.
eq
(
ObjectUtil
.
isNotEmpty
(
cabinetBox
.
getId
()),
Policeman:
:
getCabinetBoxId
,
cabinetBox
.
getId
()));
if
(!
ObjectUtil
.
isNull
(
one
)){
one
.
setCabinetBoxId
(
null
);
policemanService
.
updateById
(
one
);
}
cabinetBoxService
.
removeById
(
cabinetBox
.
getId
());
}
//删除单警柜id
...
...
@@ -499,20 +510,20 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
* 获取单警柜列表
*通过机构id进行查询
* @param req 单警柜信息
* @param
i
ncludeLowerLevel true:查询本级及下级 false:查询本级
* @param
req getI
ncludeLowerLevel true:查询本级及下级 false:查询本级
* @return
*/
@Override
public
List
<
Cabinet
>
getAllCabinetList
(
CabinetReq
req
,
String
includeLowerLevel
)
{
public
List
<
Cabinet
>
getAllCabinetList
(
CabinetReq
req
)
{
List
<
Cabinet
>
cabinets
=
new
ArrayList
<>();
//如果组织机构时浙江省公安厅
if
(
req
.
getOrgId
().
equals
(
"1369509498032808905"
)
&&
includeLowerLevel
.
equals
(
"true"
))
{
if
(
req
.
getOrgId
().
equals
(
"1369509498032808905"
)
&&
req
.
getIncludeLowerLevel
()
.
equals
(
"true"
))
{
cabinets
=
cabinetMapper
.
getAllCabinet
();
return
cabinets
;
}
//分两种情况,如果说是本级及下级(全部)所有的单警柜信息,则incluLowerLevel为true,如果是查询本级的单警柜信息则为false
if
(
includeLowerLevel
.
equals
(
"true"
)
||
includeLowerLevel
.
equals
(
"false"
))
{
List
<
String
>
allOrgId
=
getAllOrgId
(
req
,
includeLowerLevel
);
if
(
req
.
getIncludeLowerLevel
().
equals
(
"true"
)
||
req
.
getIncludeLowerLevel
()
.
equals
(
"false"
))
{
List
<
String
>
allOrgId
=
getAllOrgId
(
req
,
req
.
getIncludeLowerLevel
()
);
if
(
allOrgId
.
isEmpty
())
{
//抛出组织机构不存在异常
throw
new
ServiceException
(
CabinetExceptionEnum
.
PUBORG_NOT_EXIST
);
...
...
@@ -525,24 +536,30 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
}
}
/**
* 通过单警柜id查询单个单警柜及其箱门信息
* @param req
* @return
*/
@Override
public
Cabinet
showOneCabinet
(
CabinetReq
req
)
{
public
CabinetDto
showOneCabinet
(
CabinetReq
req
)
{
//查询单警柜信息
LambdaQueryWrapper
<
Cabinet
>
eq
=
CabinetWrapper
(
req
)
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getId
()),
Cabinet:
:
getId
,
req
.
getId
());
Cabinet
one
=
getOne
(
eq
);
if
(
ObjectUtil
.
isNull
(
one
)){
throw
new
ServiceException
(
CabinetExceptionEnum
.
CABINET_ISNOT_EXISTS
);
}
//查询单警柜的箱门信息
LambdaQueryWrapper
<
CabinetBox
>
eq1
=
CabinetboxWrapper
(
req
)
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
get
OrgId
()),
CabinetBox:
:
getCabinetId
,
req
.
getOrg
Id
());
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
get
Id
()),
CabinetBox:
:
getCabinetId
,
req
.
get
Id
());
List
<
CabinetBox
>
list
=
cabinetBoxService
.
list
(
eq1
);
one
.
setList
(
list
);
return
one
;
//将单警柜的信息和它的箱门信息返回
CabinetDto
cabinetDto
=
new
CabinetDto
();
BeanPlusUtil
.
copyProperties
(
one
,
cabinetDto
);
cabinetDto
.
setList
(
list
);
return
cabinetDto
;
}
/**
...
...
@@ -601,7 +618,7 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
* @return
*/
@Override
public
boolean
boxBindPolice
(
CabinetBoxReq
req
,
String
policeId
)
{
public
boolean
boxBindPolice
(
CabinetBoxReq
req
)
{
//通过箱门id查询出箱门信息
CabinetBox
one
=
cabinetBoxService
.
getOne
(
new
LambdaQueryWrapper
<
CabinetBox
>()
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getId
()),
CabinetBox:
:
getId
,
req
.
getId
()));
...
...
@@ -621,18 +638,18 @@ public class CabinetServiceImpl extends ServiceImpl<CabinetMapper, Cabinet> impl
long
orgId
=
one1
.
getOrgId
();
//通过警员id获取警员所在的机构id
Policeman
one2
=
policemanService
.
getOne
(
new
LambdaQueryWrapper
<
Policeman
>()
.
eq
(
ObjectUtil
.
isNotEmpty
(
policeId
),
Policeman:
:
getId
,
policeId
));
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getPoliceId
()),
Policeman:
:
getId
,
req
.
getPoliceId
()
));
if
(
ObjectUtil
.
isEmpty
(
one2
)){
//警员不存在异常
throw
new
ServiceException
(
PolicemanExceptionEnum
.
POLICEMAN_NOT_EXIST
);
}
Long
orgId1
=
one2
.
getOrgId
();
//判断两个机构id是否相同,相同则可以绑定,不相同则绑定失败
if
(!
orgId1
.
equals
(
orgId
)){
if
(!
(
orgId1
==
orgId
)){
return
false
;
}
one2
.
setCabinetBoxId
(
one
.
getId
());
return
policemanService
.
save
(
one2
);
return
policemanService
.
updateById
(
one2
);
}
@Override
...
...
jyzb-biz/src/main/resources/mapper/CabinetMapper.xml
View file @
83faf830
...
...
@@ -19,10 +19,10 @@
<result
property=
"createUser"
column=
"create_user"
/>
<result
property=
"updateUser"
column=
"update_user"
/>
<collection
property=
"list"
ofType=
"com.junmp.jyzb.entity.CabinetBox"
column=
"cabinet_id"
select=
"com.junmp.jyzb.mapper.CabinetBoxMapper.selectById"
>
<!-- <collection property="list" ofType="com.junmp.jyzb.entity.CabinetBox" column="cabinet_id"-->
<!-- select="com.junmp.jyzb.mapper.CabinetBoxMapper.selectById">--
>
</collection
>
<!-- </collection>--
>
</resultMap>
...
...
@@ -64,7 +64,7 @@
where p.id =#{id}
</update>
<select
id=
"getAllCabinet"
result
Type=
"com.junmp.jyzb.entity.Cabinet"
>
<select
id=
"getAllCabinet"
result
Map=
"BaseCabinetResultMap"
>
select
c.id,
c.cabinet_num as cabinetNum,
...
...
@@ -155,6 +155,27 @@
#{item}
</foreach>
</select>
<select
id=
"getAllCabinetByOrgList111"
resultType=
"com.junmp.jyzb.Dto.CabinetDto"
>
select
c.id,
c.cabinet_num as cabinetNum,
c.name,
o.org_id as orgId,
o.org_name as orgName,
c.location,
c.state,
c.update_time as updateTime,
c.sum as sum,
c.in_sum as inSum,
c.out_sum as outSum
from base_cabinet c
left join pub_org o on c.org_id_int =o.org_id
where c.org_id_int in
<foreach
item=
"item"
collection=
"list"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</select>
<update
id=
"setCabinetSumInventory"
>
UPDATE base_cabinet AS c
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/common/WorkFlowConstants.java
View file @
83faf830
...
...
@@ -5,7 +5,7 @@ package com.junmp.junmpProcess.common;
* @create 2022-10-10 17:40
*/
public
interface
WorkFlowConstants
{
String
PROCESS_PREFIX
=
"
Flowable
"
;
String
PROCESS_PREFIX
=
"
Process_
"
;
String
START_EVENT_ID
=
"startEventNode"
;
String
END_EVENT_ID
=
"endEventNode"
;
String
EXPRESSION_CLASS
=
"exUtils."
;
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/controller/BpmnController.java
View file @
83faf830
...
...
@@ -121,11 +121,11 @@ public class BpmnController {
public
ApiRes
<
Boolean
>
createForm
(
@RequestBody
FormReq
formReq
)
{
return
ApiRes
.
success
(
WorkProcessService
.
createNewForm
(
formReq
));
}
//
@ApiOperation("终止流程")
//
@PostMapping("StopProcessInstanceById")
//
public ApiRes<Boolean> stopProcessInstanceById(@RequestBody HandleDataDTO handleDataDTO) {
// return ApiRes.success(WorkProcessService.suspendOrActivateProcessDefinitionById(req)
);
//
}
@ApiOperation
(
"终止流程"
)
@PostMapping
(
"StopProcessInstanceById"
)
public
ApiRes
<
Boolean
>
stopProcessInstanceById
(
@RequestBody
HandleDataDTO
handleDataDTO
)
{
return
WorkProcessService
.
stopProcessInstanceById
(
handleDataDTO
);
}
@ApiOperation
(
"挂起流程实例"
)
@PostMapping
(
"SuspendOrActivateDefinition"
)
public
ApiRes
<
Boolean
>
SuspendOrActivateDefinition
(
@RequestBody
SuspendOrActivateDefinitionReq
req
)
{
...
...
@@ -136,6 +136,11 @@ public class BpmnController {
public
ApiRes
<
Boolean
>
start
(
@RequestBody
StartProcessInstanceDTO
startProcessInstanceDTO
)
{
return
WorkProcessService
.
start
(
startProcessInstanceDTO
);
}
@ApiOperation
(
"通过流程定义查看详情"
)
@PostMapping
(
"instanceInfo"
)
public
ApiRes
<
HandleDataVO
>
instanceInfo
(
@RequestBody
HandleDataDTO
handleDataDTO
)
{
return
WorkProcessService
.
instanceInfo
(
handleDataDTO
);
}
@ApiOperation
(
"查看我发起的流程"
)
@PostMapping
(
"applyList"
)
public
ApiRes
<
PageResult
<
HistoryProcessInstanceVO
>>
applyList
(
@RequestBody
ApplyDTO
ApplyDTO
)
{
...
...
@@ -151,6 +156,11 @@ public class BpmnController {
public
ResponseResult
agree
(
@RequestBody
HandleDataDTO
handleDataDTO
){
return
WorkProcessService
.
agree
(
handleDataDTO
);
}
@ApiOperation
(
"查看我的已办"
)
@PostMapping
(
"doneList"
)
public
ApiRes
<
PageResult
<
TaskVO
>>
doneList
(
@RequestBody
TaskDTO
taskDTO
){
return
ApiRes
.
success
(
WorkProcessService
.
doneList
(
taskDTO
));
}
@ApiOperation
(
"撤销按钮"
)
@PostMapping
(
"revoke"
)
public
ResponseResult
revoke
(
@RequestBody
HandleDataDTO
handleDataDTO
){
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/CounterSignListener.java
View file @
83faf830
...
...
@@ -17,6 +17,7 @@ import com.junmp.v2.sys.api.bean.user.vo.QueryUserInfoVo;
import
org.flowable.bpmn.model.Process
;
import
org.flowable.bpmn.model.UserTask
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.TaskService
;
import
org.flowable.engine.delegate.DelegateExecution
;
import
org.flowable.engine.delegate.ExecutionListener
;
import
com.junmp.junmpProcess.enums.AssigneeTypeEnums
;
...
...
@@ -38,12 +39,15 @@ import static com.junmp.junmpProcess.utils.BpmnModelUtils.getChildNode;
@Component
public
class
CounterSignListener
implements
ExecutionListener
{
@Resource
private
TaskService
taskService
;
@Resource
private
RepositoryService
repositoryService
;
@Resource
private
OrgUserMapper
orgUserMapper
;
@Override
public
void
notify
(
DelegateExecution
execution
)
{
String
currentActivityId
=
execution
.
getCurrentActivityId
();
Process
mainProcess
=
repositoryService
.
getBpmnModel
(
execution
.
getProcessDefinitionId
()).
getMainProcess
();
UserTask
userTask
=
(
UserTask
)
mainProcess
.
getFlowElement
(
currentActivityId
);
String
flowJson
=
mainProcess
.
getAttributeValue
(
"http://flowable.org/bpmn"
,
"Junmp"
);
...
...
@@ -65,6 +69,7 @@ public class CounterSignListener implements ExecutionListener {
String
Type
=
group
.
getApproverType
();
if
(
Type
.
equals
(
"1"
))
//指定人员,不处理
{
List
<
String
>
assignedUser
=
group
.
getApproverIds
();
for
(
String
userInfo
:
assignedUser
)
{
assigneeList
.
add
(
userInfo
);
...
...
@@ -136,7 +141,7 @@ public class CounterSignListener implements ExecutionListener {
else
if
(
Type
.
equals
(
"5"
))
//上级审批
{
LoginUser
StartUser
=
LoginContext
.
getContext
().
getLoginUser
();
List
<
UserListDTO
>
userList
=
orgUserMapper
.
QueryUserParentOrg
(
StartUser
.
getUserId
().
toString
());
List
<
UserListDTO
>
userList
=
orgUserMapper
.
QueryUser
With
ParentOrg
(
StartUser
.
getUserId
().
toString
());
if
(
userList
.
size
()<=
0
)
//没有上级则本身已是上级
{
...
...
@@ -147,14 +152,18 @@ public class CounterSignListener implements ExecutionListener {
{
for
(
UserListDTO
userId
:
userList
)
{
assigneeList
.
add
(
userId
.
getUserID
());
assigneeList
.
add
(
"1"
);
// assigneeList.add(userId.getUserID());
}
}
}
if
(
assigneeList
.
size
()!=
0
)
{
execution
.
setVariable
(
variable
,
assigneeList
);}
{
execution
.
setVariable
(
variable
,
assigneeList
);
}
}
else
{
}
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/GlobalEndListener.java
View file @
83faf830
...
...
@@ -32,6 +32,7 @@ public class GlobalEndListener extends AbstractFlowableEngineEventListener {
//流程结束后工作在这里写
//得到流程定义id
String
processDefinitionId
=
event
.
getProcessDefinitionId
();
//得到流程实例id
String
processInstanceId
=
event
.
getProcessInstanceId
();
/**
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/ProcessListener.java
View file @
83faf830
...
...
@@ -21,6 +21,7 @@ public class ProcessListener implements ExecutionListener {
@Override
public
void
notify
(
DelegateExecution
execution
)
{
execution
.
setVariable
(
PROCESS_STATUS
,
BUSINESS_STATUS_4
);
}
}
jyzb-process/src/main/java/com/junmp/junmpProcess/listener/TaskCreatedListener.java
View file @
83faf830
//
package com.junmp.junmpProcess.listener;
//
//
import org.flowable.engine.RepositoryService;
//
import org.flowable.engine.RuntimeService;
//
import org.flowable.engine.TaskService;
//
import org.flowable.engine.delegate.TaskListener;
//
import org.flowable.task.service.delegate.DelegateTask;
//
import com.junmp.junmpProcess.utils.SpringContextHolder;
//
import org.springframework.stereotype.Component;
//
//
import javax.annotation.Resource;
//
/
//
**
//
* @author LoveMyOrange
//
* @create 2022-10-15 14:51
//
*/
//
@Component
//
public class TaskCreatedListener implements TaskListener {
//
@Resource
//
private TaskService taskService;
//
@Resource
//
private RepositoryService repositoryService;
//
//
@Override
//
public void notify(DelegateTask delegateTask) {
//
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
//
if ("root".equalsIgnoreCase(taskDefinitionKey)) {
//
taskService.complete(delegateTask.getId());
//
} else {
//
if ("100000".equals(delegateTask.getAssignee())) {
//
Object autoRefuse = delegateTask.getVariable("autoRefuse");
//
if (autoRefuse == null) {
//
taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), "opinion", "审批人为空,自动通过");
//
taskService.complete(delegateTask.getId());
//
} else {
//
taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), "opinion", "审批人为空,自动驳回");
//
RuntimeService runtimeService = SpringContextHolder.getBean(RuntimeService.class);
//
runtimeService.deleteProcessInstance(delegateTask.getProcessInstanceId(), "审批人为空,自动驳回");
//
}
//
}
//
}
//
}
//
}
package
com
.
junmp
.
junmpProcess
.
listener
;
import
org.flowable.engine.RepositoryService
;
import
org.flowable.engine.RuntimeService
;
import
org.flowable.engine.TaskService
;
import
org.flowable.engine.delegate.TaskListener
;
import
org.flowable.task.service.delegate.DelegateTask
;
import
com.junmp.junmpProcess.utils.SpringContextHolder
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
/**
* @author LoveMyOrange
* @create 2022-10-15 14:51
*/
@Component
public
class
TaskCreatedListener
implements
TaskListener
{
@Resource
private
TaskService
taskService
;
@Resource
private
RepositoryService
repositoryService
;
@Override
public
void
notify
(
DelegateTask
delegateTask
)
{
String
taskDefinitionKey
=
delegateTask
.
getTaskDefinitionKey
();
if
(
"root"
.
equalsIgnoreCase
(
taskDefinitionKey
))
{
taskService
.
complete
(
delegateTask
.
getId
());
}
else
{
if
(
"100000"
.
equals
(
delegateTask
.
getAssignee
()))
{
Object
autoRefuse
=
delegateTask
.
getVariable
(
"autoRefuse"
);
if
(
autoRefuse
==
null
)
{
taskService
.
addComment
(
delegateTask
.
getId
(),
delegateTask
.
getProcessInstanceId
(),
"opinion"
,
"审批人为空,自动通过"
);
taskService
.
complete
(
delegateTask
.
getId
());
}
else
{
taskService
.
addComment
(
delegateTask
.
getId
(),
delegateTask
.
getProcessInstanceId
(),
"opinion"
,
"审批人为空,自动驳回"
);
RuntimeService
runtimeService
=
SpringContextHolder
.
getBean
(
RuntimeService
.
class
);
runtimeService
.
deleteProcessInstance
(
delegateTask
.
getProcessInstanceId
(),
"审批人为空,自动驳回"
);
}
}
}
}
}
jyzb-process/src/main/java/com/junmp/junmpProcess/mapper/OrgUserMapper.java
View file @
83faf830
...
...
@@ -23,5 +23,5 @@ public interface OrgUserMapper {
*/
public
List
<
UserListDTO
>
QueryUserByRoleIdAndOrg
(
String
roleId
,
String
orgId
);
public
List
<
UserListDTO
>
QueryUserParentOrg
(
String
userId
);
public
List
<
UserListDTO
>
QueryUser
With
ParentOrg
(
String
userId
);
}
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/WorkProcessService.java
View file @
83faf830
...
...
@@ -29,12 +29,12 @@ public interface WorkProcessService {
*/
Boolean
createNewForm
(
FormReq
processVO
)
;
//
/**
// * 挂起流程定义
//
*
//
* @return
//
*/
// Boolean stopProcessInstanceById(SuspendOrActivateDefinitionReq req
) ;
/**
* 终止流程实例
*
* @return
*/
ApiRes
<
Boolean
>
stopProcessInstanceById
(
HandleDataDTO
handleDataDTO
)
;
/**
* 挂起流程定义
...
...
@@ -101,6 +101,9 @@ public interface WorkProcessService {
*/
ApiRes
<
Boolean
>
start
(
StartProcessInstanceDTO
startProcessInstanceDTO
);
/**
* 查看我发起的流程
*
...
...
@@ -120,7 +123,7 @@ public interface WorkProcessService {
*
* @return
*/
Result
<
Page
<
TaskVO
>
>
doneList
(
@RequestBody
TaskDTO
taskDTO
);
PageResult
<
TaskVO
>
doneList
(
@RequestBody
TaskDTO
taskDTO
);
/**
* 同意
...
...
@@ -205,7 +208,7 @@ public interface WorkProcessService {
*
* @return
*/
Result
<
HandleDataVO
>
instanceInfo
(
HandleDataDTO
HandleDataDTO
);
ApiRes
<
HandleDataVO
>
instanceInfo
(
HandleDataDTO
HandleDataDTO
);
// /**
// * 上传文件
// * @return
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/service/Bussiness/impl/WorkProcessServiceImpl.java
View file @
83faf830
差异被折叠。
点击展开。
jyzb-process/src/main/java/com/junmp/junmpProcess/utils/BpmnConvert.java
View file @
83faf830
...
...
@@ -11,6 +11,7 @@ import org.flowable.bpmn.model.*;
import
org.flowable.bpmn.model.Process
;
import
org.flowable.engine.TaskService
;
import
org.flowable.engine.delegate.ExecutionListener
;
import
org.flowable.engine.delegate.TaskListener
;
import
org.flowable.task.service.impl.persistence.entity.TaskEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -62,7 +63,7 @@ public class BpmnConvert {
process
.
addFlowElement
(
endEvent
);
// 三.递归绘制节点
drawNode
(
"
root
"
,
process
,
processNode
,
formNode
,
"_start"
,
"_end"
,
null
);
drawNode
(
"
0
"
,
process
,
processNode
,
formNode
,
"_start"
,
"_end"
,
null
);
// 四.自动布局
new
BpmnAutoLayout
(
bpmnModel
).
execute
();
// 五.转xml
...
...
@@ -119,8 +120,9 @@ public class BpmnConvert {
* @return Inout
*/
private
static
Inout
drawBzNode
(
Process
process
,
JsonNode
node
,
JsonNode
formJson
,
String
typeNode
)
{
// String id= "Node_"+UUID.randomUUID();
String
id
=
"Node_"
+
node
.
get
(
"id"
).
asText
();
// String id= "Node_"+UUID.randomUUID();
String
id
=
"root"
;
//创建发起人结点
UserTask
task
=
new
UserTask
();
//设置结点ID
...
...
@@ -129,11 +131,23 @@ public class BpmnConvert {
task
.
setName
(
node
.
get
(
"name"
).
asText
());
//通过将 ${initiator} 作为指派人的值,可以将用户任务分配给流程的发起人。当流程实例启动时,${initiator} 会被替换为实际的发起人信息。
//需要注意的是,在使用表达式时,需要确保流程引擎的配置中启用了表达式语言(例如使用 Flowable 的默认配置,会启用表达式语言)。
task
.
setAssignee
(
"${initiator}"
);
//
task.setAssignee("${initiator}");
List
<
FormProperty
>
formProperties
=
formJsonToFormProperty
(
formJson
);
task
.
setFormProperties
(
formProperties
);
ArrayList
<
FlowableListener
>
taskListeners
=
new
ArrayList
<>();
FlowableListener
taskListener
=
new
FlowableListener
();
// 事件类型,
taskListener
.
setEvent
(
TaskListener
.
EVENTNAME_CREATE
);
// 监听器类型
taskListener
.
setImplementationType
(
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
// 设置实现了,这里设置监听器的类型是delegateExpression,这样可以在实现类注入Spring bean.
taskListener
.
setImplementation
(
"${taskCreatedListener}"
);
taskListeners
.
add
(
taskListener
);
task
.
setTaskListeners
(
taskListeners
);
//添加连线
process
.
addFlowElement
(
task
);
return
new
Inout
(
id
,
id
);
}
...
...
@@ -175,11 +189,11 @@ public class BpmnConvert {
multiInstanceLoopCharacteristics
.
setInputDataItem
(
userTask
.
getId
()+
"assigneeList"
);
// 迭代集合
multiInstanceLoopCharacteristics
.
setElementVariable
(
"assigneeName"
);
//
并
行
//
串
行
multiInstanceLoopCharacteristics
.
setSequential
(
false
);
multiInstanceLoopCharacteristics
.
setCompletionCondition
(
"${nrOfCompletedInstances/nrOfInstances > 0}"
);
userTask
.
setAssignee
(
"${assigneeName}"
);
//
设置多实例属性
//
设置多实例属性
userTask
.
setLoopCharacteristics
(
multiInstanceLoopCharacteristics
);
process
.
addFlowElement
(
userTask
);
return
new
Inout
(
id
,
id
);
...
...
@@ -197,7 +211,12 @@ public class BpmnConvert {
listener
.
setEvent
(
ExecutionListener
.
EVENTNAME_START
);
//监听任务启动
listener
.
setImplementationType
(
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
listener
.
setImplementation
(
"${counterSignListener}"
);
//启动角色分配监听事件
FlowableListener
flowableListener
=
new
FlowableListener
();
flowableListener
.
setEvent
(
ExecutionListener
.
EVENTNAME_END
);
flowableListener
.
setImplementationType
(
ImplementationType
.
IMPLEMENTATION_TYPE_DELEGATEEXPRESSION
);
flowableListener
.
setImplementation
(
"${processListener}"
);
taskListeners
.
add
(
listener
);
taskListeners
.
add
(
flowableListener
);
return
taskListeners
;
}
...
...
jyzb-process/src/main/java/com/junmp/junmpProcess/utils/BpmnModelUtils.java
View file @
83faf830
差异被折叠。
点击展开。
jyzb-process/src/main/resources/mapper/OrgUserMapper.xml
View file @
83faf830
...
...
@@ -21,7 +21,7 @@
GROUP BY su.user_id,su.real_name
</select>
<select
id=
"QueryUserParentOrg"
resultMap=
"UserListDTO"
>
<select
id=
"QueryUser
With
ParentOrg"
resultMap=
"UserListDTO"
>
SELECT
CASE
WHEN userorg2.org_id = -1 THEN mainUser.user_id
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论