Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
4570bdb0
提交
4570bdb0
authored
9月 27, 2021
作者:
Matrix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(核查模块): 增加了关于托管单位的核查处理
- 发起核查的时候不显示被托管的单位 - 被托管的单位的装备算在省本级里
上级
a6691d99
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
66 行增加
和
27 行删除
+66
-27
DeviceCheckController.java
...device/confirmcheck/controller/DeviceCheckController.java
+45
-22
ObjTransUtil.java
.../com/tykj/dev/device/confirmcheck/utils/ObjTransUtil.java
+5
-5
UnitsDao.java
...n/java/com/tykj/dev/device/user/subject/dao/UnitsDao.java
+2
-0
Units.java
...n/java/com/tykj/dev/device/user/subject/entity/Units.java
+14
-0
没有找到文件。
dev-confirmcheck/src/main/java/com/tykj/dev/device/confirmcheck/controller/DeviceCheckController.java
浏览文件 @
4570bdb0
...
...
@@ -142,14 +142,18 @@ public class DeviceCheckController {
}
/**
* @return level = 0 ,1 ,2 的单位
* 查询默认的可以被核查单位的清单(省本直,省直属,市局),同时过滤掉那些已经被代管的单位
*
* @return type = 2 and level in (1,2) ,filter escrow = 1 的单位
*/
@GetMapping
(
"/unit"
)
@ApiOperation
(
value
=
"查询默认的可以被核查单位的清单(省本直,省直属,市局)"
)
@ApiOperation
(
value
=
"查询默认的可以被核查单位的清单(省本直,省直属,市局)
,同时过滤掉那些已经被代管的单位
"
)
public
ResponseEntity
findDefaultUnits
()
{
return
ResponseEntity
.
ok
(
new
ResultObj
<>(
unitsRepo
.
findAllByTypeInOrLevelIn
(
Lists
.
newArrayList
(
2
),
Lists
.
newArrayList
(
1
,
2
))));
List
<
Units
>
units
=
unitsRepo
.
findAllByTypeInOrLevelIn
(
Lists
.
newArrayList
(
2
),
Lists
.
newArrayList
(
1
,
2
))
.
stream
().
filter
(
Units:
:
isNotEscrow
)
.
collect
(
toList
());
// 需要去除掉被托管的单位
return
ResponseEntity
.
ok
(
new
ResultObj
<>(
units
));
}
/**
...
...
@@ -253,9 +257,9 @@ public class DeviceCheckController {
public
ResponseEntity
msgLink
(
@RequestParam
Integer
taskId
)
{
// 如果是businessType = 7 走unionLink 否则走detail接口
Task
task
=
taskRepo
.
findById
(
taskId
).
orElseThrow
(()
->
new
ApiException
(
String
.
format
(
"没有找到taskId = %d 的任务"
,
taskId
)));
if
(
task
.
getBusinessType
().
equals
(
CONFIRM_CHECK_STAT
.
id
)){
if
(
task
.
getBusinessType
().
equals
(
CONFIRM_CHECK_STAT
.
id
))
{
return
unionLink
(
7
,
task
.
getBillId
());
}
else
if
(
task
.
getBusinessType
().
equals
(
CONFIRM_CHECK_DETAIL
.
id
))
{
}
else
if
(
task
.
getBusinessType
().
equals
(
CONFIRM_CHECK_DETAIL
.
id
))
{
return
findDetail
(
task
.
getBillId
());
}
...
...
@@ -346,6 +350,22 @@ public class DeviceCheckController {
devNotInLib
.
addAll
(
specialLib
.
get
(
false
));
}
}
// 代管 - 如果当前自查为省本级自查,则需要将被代管的装备加入到省本级
Units
unit
=
unitsRepo
.
findByName
(
checkUnit
);
boolean
isProv
=
unit
.
getLevel
()
==
1
&&
unit
.
getType
()
==
1
;
if
(
isProv
)
{
//获得所有的需要被代管的单位的在库与非在库装备,添加到省本级的在库与非在库中去
List
<
Units
>
escrowUnits
=
unitsRepo
.
findByTypeAndEscrow
(
2
,
1
);
for
(
Units
eu
:
escrowUnits
)
{
log
.
info
(
"[核查模块] 正在将 {} 单位的装备托管代理到 {} 单位"
,
checkUnit
,
eu
.
getName
());
Map
<
Boolean
,
List
<
DeviceLibrary
>>
libMap
=
getDevLibMap
(
eu
.
getName
(),
allDevices
);
devInLib
.
addAll
(
libMap
.
get
(
true
));
devNotInLib
.
addAll
(
libMap
.
get
(
false
));
}
}
detail
.
updateDevice
(
devInLib
,
devNotInLib
);
//更新应查装备数量
...
...
@@ -399,7 +419,7 @@ public class DeviceCheckController {
.
orElseThrow
(()
->
new
ApiException
(
"[核查模块]没有找到对应billId的统计任务,您给的billId = "
+
billId
));
// key = stat id ,value = LinkVo
if
(
rootTask
.
getBillStatus
().
equals
(
REVOKEALLOTTASK
.
id
))
{
if
(
rootTask
.
getBillStatus
().
equals
(
CHECK_SHUT_DOWN
.
id
))
{
// 拿之前保存的缓存
linkVo
=
linkRepo
.
findByStatId
(
billId
)
.
orElseThrow
(()
->
new
ApiException
(
String
.
format
(
"没有找到stat id = %d 的统计缓存,请检查数据"
,
billId
)))
...
...
@@ -1419,14 +1439,17 @@ public class DeviceCheckController {
/**
* 获得指定单位的在库装备与非在库装备
* lifeStatus 10 = 已销毁 11 = 丢失
*
* @param checkUnit 单位名
* @param allDevices 装备列表
* @return true -> 在库装备,false -> 非在库装备
* @see DeviceLibrary#lifeStatus
*/
@NotNull
private
Map
<
Boolean
,
List
<
DeviceLibrary
>>
getDevLibMap
(
String
checkUnit
,
List
<
DeviceLibrary
>
allDevices
)
{
//在库 = A and B & not B 去除掉ls = 10 的装备 把ls = 11 的装备加入到非在库
// 在库装备 = 所在在本单位 (过滤掉生命状态为10(已销毁)的装备)
// 非在库装备 = 所属是本单位,但是所在不在本单位里 + 原本是在库装备但是生命状态是11(丢失)的装备
Map
<
Boolean
,
List
<
DeviceLibrary
>>
locationMap
=
allDevices
.
stream
()
.
collect
(
partitioningBy
(
d
->
d
.
getLocationUnit
().
equals
(
checkUnit
)));
...
...
@@ -1707,13 +1730,13 @@ public class DeviceCheckController {
/**
* 尝试自动完结检查任务(市/省的)
* 1. 当且仅当该检查任务的状态等于@link{CHECK_EXAM_STAT_1}时且其下的所有子任务均为完结状态,自动推进
* 1. 当且仅当该检查任务的状态等于@link{CHECK_EXAM_STAT_1}时
并且该检查是三级结构里的核查(即父Id !=0 )
且其下的所有子任务均为完结状态,自动推进
*
* @param exam的taskId
*/
private
void
advanceExamTask
(
Integer
examTaskId
)
{
TaskBto
parentTask
=
taskService
.
findByTaskId
(
examTaskId
);
if
(
parentTask
.
getBillStatus
().
equals
(
CHECK_EXAM_STAT_1
.
id
)
&&
taskService
.
TaskTreeIsOver
(
examTaskId
))
{
if
(
parentTask
.
getBillStatus
().
equals
(
CHECK_EXAM_STAT_1
.
id
)
&&
parentTask
.
getParentTaskId
()
!=
0
&&
taskService
.
TaskTreeIsOver
(
examTaskId
))
{
log
.
info
(
"[核查模块] 检测到task id = {}的检查任务已经可以自动推进了,自动推进至下一步"
,
examTaskId
);
statConfirm
(
parentTask
.
getBillId
());
}
...
...
@@ -2062,17 +2085,17 @@ public class DeviceCheckController {
boolean
over
=
taskService
.
TaskTreeIsOver
(
fatherTaskId
);
// 如果汇总完毕则将父级的统计任务推进
if
(
over
)
{
log
.
info
(
"[核查模块] 父节点 = {} 的所有子任务均已经完结,推动父节点的任务"
,
fatherTaskId
);
TaskBto
fatherTask
=
taskService
.
get
(
fatherTaskId
);
//如果上一个id是-1 则证明是所有人的跟踪统计,即自动核查,那么下一步推进到所有人的跟踪,否则设置为-2,即维持跟踪者id
//Integer lastUserId = fatherTask.getLastUserId() == -1 ? -1 : -2;
//TaskBto newFatherTask = taskService.moveToNext(fatherTask, lastUserId);
// 将父级的统计任务变为待办
fatherTask
.
getInvolveUserIdList
().
add
(
0
);
fatherTask
.
setCurrentPoint
(
fatherTask
.
getCurrentPoint
()
+
1
);
taskService
.
update
(
fatherTask
);
}
//
if (over) {
//
log.info("[核查模块] 父节点 = {} 的所有子任务均已经完结,推动父节点的任务", fatherTaskId);
//
TaskBto fatherTask = taskService.get(fatherTaskId);
//
//如果上一个id是-1 则证明是所有人的跟踪统计,即自动核查,那么下一步推进到所有人的跟踪,否则设置为-2,即维持跟踪者id
//
//Integer lastUserId = fatherTask.getLastUserId() == -1 ? -1 : -2;
//
//TaskBto newFatherTask = taskService.moveToNext(fatherTask, lastUserId);
//
// 将父级的统计任务变为待办
//
fatherTask.getInvolveUserIdList().add(0);
//
fatherTask.setCurrentPoint(fatherTask.getCurrentPoint() + 1);
//
taskService.update(fatherTask);
//
}
log
.
info
(
"[核查模块] 数据汇总完毕"
);
}
...
...
dev-confirmcheck/src/main/java/com/tykj/dev/device/confirmcheck/utils/ObjTransUtil.java
浏览文件 @
4570bdb0
...
...
@@ -42,8 +42,7 @@ import java.util.*;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
static
com
.
tykj
.
dev
.
misc
.
base
.
StatusEnum
.
END
;
import
static
com
.
tykj
.
dev
.
misc
.
base
.
StatusEnum
.
REVOKEALLOTTASK
;
import
static
com
.
tykj
.
dev
.
misc
.
base
.
StatusEnum
.*;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
import
static
java
.
util
.
stream
.
Collectors
.
toMap
;
...
...
@@ -156,20 +155,21 @@ public class ObjTransUtil {
long
total
=
childTask
.
size
();
long
done
=
childTask
.
stream
()
.
filter
(
task
->
task
.
getBillStatus
().
equals
(
END
.
id
)
||
task
.
getBillStatus
().
equals
(
REVOKEALLOTTASK
.
id
))
.
filter
(
task
->
task
.
getBillStatus
().
equals
(
END
.
id
)
||
task
.
getBillStatus
().
equals
(
CHECK_SHUT_DOWN
.
id
))
.
count
();
//如果是检查统计的话那么还要看一下他的父节点是不是已经完成了
String
completion
;
if
(
done
==
total
)
{
if
(
stat
.
getCheckType
()
==
CheckType
.
CT_EXAM
&&
!
fatherTask
.
getBillStatus
().
equals
(
9999
))
{
boolean
examFinish
=
fatherTask
.
getBillStatus
().
equals
(
END
.
id
)
||
fatherTask
.
getBillStatus
().
equals
(
CHECK_SHUT_DOWN
.
id
);
if
(
stat
.
getCheckType
()
==
CheckType
.
CT_EXAM
&&
!
examFinish
)
{
completion
=
"核查完成待办结"
;
}
else
{
if
(
flag
)
{
completion
=
"核查完成待确认"
;
}
else
{
// confirmTaskidDone 为true 代表此时等待最后的father任务 为false代表 flag = false 且isDone为false 代表整个节点里没有确认节点直接完结
if
(
fatherTask
.
getBillStatus
().
equals
(
END
.
id
)
||
fatherTask
.
getBillStatus
().
equals
(
REVOKEALLOTTASK
.
id
))
{
if
(
fatherTask
.
getBillStatus
().
equals
(
END
.
id
)
||
fatherTask
.
getBillStatus
().
equals
(
CHECK_SHUT_DOWN
.
id
))
{
completion
=
"核查完成"
;
}
else
{
completion
=
"核查完成待办结"
;
...
...
dev-user/src/main/java/com/tykj/dev/device/user/subject/dao/UnitsDao.java
浏览文件 @
4570bdb0
...
...
@@ -48,4 +48,6 @@ public interface UnitsDao extends JpaRepository<Units, Integer>, JpaSpecificatio
List
<
Units
>
findAllByType
(
Integer
type
);
List
<
Units
>
findByTypeAndEscrow
(
int
type
,
int
escrow
);
}
dev-user/src/main/java/com/tykj/dev/device/user/subject/entity/Units.java
浏览文件 @
4570bdb0
...
...
@@ -134,4 +134,18 @@ public class Units {
public
LeftNavigation
toLeftNavigation
(){
return
new
LeftNavigation
(
unitId
,
name
,
null
,
UUID
.
randomUUID
().
toString
(),
2
,
showOrder
,
null
);
}
/**
* @return true = 是代管单位,false = 不是代管单位
*/
public
boolean
isEscrow
(){
return
escrow
==
1
;
}
/**
* @return true = 不是代管单位,false = 是代管单位
*/
public
boolean
isNotEscrow
(){
return
escrow
==
0
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论