Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
f3078bdf
提交
f3078bdf
authored
7月 21, 2021
作者:
zhoushaopan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[配发]加taskId
上级
4cee7bba
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
87 行增加
和
46 行删除
+87
-46
AllotBillController.java
...tykj/dev/device/allot/controller/AllotBillController.java
+82
-46
AllotBill.java
...va/com/tykj/dev/device/allot/subject/domin/AllotBill.java
+5
-0
没有找到文件。
dev-allot/src/main/java/com/tykj/dev/device/allot/controller/AllotBillController.java
浏览文件 @
f3078bdf
...
...
@@ -126,6 +126,9 @@ public class AllotBillController {
@Autowired
private
PackingLibraryService
packingLibraryService
;
@Autowired
private
PackingController
packingController
;
@ApiOperation
(
value
=
"导入二维码获取配发装备"
,
notes
=
"可以通过这个接口导入二维码获取配发装备"
)
@PostMapping
(
value
=
"/load"
)
public
ResponseEntity
loadDevice
(
@RequestBody
RfidVo
rfidVo
)
{
...
...
@@ -150,7 +153,7 @@ public class AllotBillController {
@ApiOperation
(
value
=
"发起配发业务"
,
notes
=
"可以通过这个接口发起配发任务"
)
@PostMapping
(
value
=
"/addAllotBill"
)
//
@Transactional(rollbackFor = Exception.class)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseEntity
addAllotBill
(
@RequestBody
@Validated
AllotBillSaveVo
allotBillSaveVo
)
{
//判断发起配发的装备的生命状态
if
(
allotBillSaveVo
.
getAllotCheckDetail
()
!=
null
&&
allotBillSaveVo
.
getAllotCheckDetail
().
length
()
>
0
)
{
...
...
@@ -258,10 +261,9 @@ public class AllotBillController {
Map
<
Integer
,
Integer
>
changeMap
=
new
HashMap
<>();
Map
<
String
,
PackingLibrary
>
packingLibraryHashMap
=
new
HashMap
<>();
long
s1
=
System
.
currentTimeMillis
();
get
(
strings
,
allotBillSaveVo
,
packingLibraryHashMap
);
log
.
info
(
"------{}"
,
System
.
currentTimeMillis
()-
s1
);
long
s2
=
System
.
currentTimeMillis
();
if
(
unitsService
.
findbyName
(
allotBillSaveVo
.
getSendUnit
()).
getLevel
()
==
1
)
{
createPacking
(
strings
,
allotBillSaveVo
,
packingLibraryHashMap
);
}
for
(
String
s
:
strings
)
{
//最后一位原来为装备扫码结果,已弃用
...
...
@@ -275,8 +277,8 @@ public class AllotBillController {
Integer
matchingRange
=
allotBillSaveVo
.
getMatchingRange
();
Integer
matchingRange1
=
deviceLibraryEntity
.
getMatchingRange
();
if
(
matchingRange
==
1
||
matchingRange
==
2
||
matchingRange
==
3
){
allotmentEquipment
(
id
,
changeMap
,
deviceLibraryEntity
,
packingLibraryHashMap
,
matchingRange1
,
fileVoList
,
saveEntity
);
if
(
matchingRange
==
1
||
matchingRange
==
2
||
matchingRange
==
3
)
{
allotmentEquipment
(
id
,
changeMap
,
deviceLibraryEntity
,
packingLibraryHashMap
,
matchingRange
,
fileVoList
,
saveEntity
);
}
//横向配发
// else if (matchingRange == 3) {
...
...
@@ -312,8 +314,6 @@ public class AllotBillController {
}
}
log
.
info
(
"------{}"
,
System
.
currentTimeMillis
()-
s2
);
//添加出库白名单
inputOutputDeviceService
.
addWhiteDevices
(
ids
,
userUtils
.
getCurrentUnitId
(),
1
);
//发送阅知信息
...
...
@@ -325,12 +325,12 @@ public class AllotBillController {
.
collect
(
Collectors
.
toList
()));
}
//给被选签发人推阅知
if
(
allotBillSaveVo
.
getSendUserbId
()
!=
null
)
{
List
<
Integer
>
idList1
=
new
ArrayList
<>();
idList1
.
add
(
allotBillSaveVo
.
getSendUserbId
());
MessageBto
messageBto
=
new
MessageBto
(
saveEntity
.
getId
(),
saveEntity
.
getBusinessType
(),
"被选为签发人"
,
idList1
,
1
);
messageService
.
add
(
messageBto
);
}
//
if (allotBillSaveVo.getSendUserbId() != null) {
//
List<Integer> idList1 = new ArrayList<>();
//
idList1.add(allotBillSaveVo.getSendUserbId());
//
MessageBto messageBto = new MessageBto(saveEntity.getId(), saveEntity.getBusinessType(), "被选为签发人", idList1, 1);
//
messageService.add(messageBto);
//
}
//给同单位专管员和收件单位专管员推阅知
MessageBto
messageBto
=
new
MessageBto
(
saveEntity
.
getId
(),
saveEntity
.
getBusinessType
(),
"对"
+
userPublicService
.
getAreaNameByUnitName
(
allotBillEntity
.
getReceiveUnit
())
+
"发起配发"
,
idList
,
1
);
messageService
.
add
(
messageBto
);
...
...
@@ -348,6 +348,8 @@ public class AllotBillController {
//set单据集合
allotBill
.
setSendFileList
(
FilesUtil
.
stringFileToList
(
allotBill
.
getSendFiles
()));
allotBill
.
setReplyFileList
(
FilesUtil
.
stringFileToList
(
allotBill
.
getReplyFiles
()));
//
allotBill
.
setTaskId
(
saveEntity
.
getId
());
//输出配发单给前端
return
ResponseEntity
.
ok
(
new
ResultObj
(
allotBill
,
"发起成功"
));
}
...
...
@@ -690,6 +692,7 @@ public class AllotBillController {
List
<
StatusEnum
>
statusEnums
=
new
ArrayList
<>();
statusEnums
.
add
(
StatusEnum
.
WAIT_UPLOAD_CROSS_FILE
);
//待上传横向配发单
statusEnums
.
add
(
StatusEnum
.
WAIT_UPLOAD_ALLOT_FILE
);
//待上传纵向配发单
statusEnums
.
add
(
StatusEnum
.
ALLOTING
);
TaskDisposeUtil
.
isNotSubmit
(
taskBto
.
getBillStatus
(),
statusEnums
);
//获取账单
AllotBill
allotBill
=
allotBillService
.
getOne
(
taskBto
.
getBillId
());
...
...
@@ -776,6 +779,7 @@ public class AllotBillController {
@ApiOperation
(
value
=
"配发撤回"
,
notes
=
"根据任务id撤回配发"
)
@GetMapping
(
"/revokeTask/taskId"
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResponseEntity
revokeTask
(
Integer
taskId
)
{
//根据任务id查询子任务 发件方是子任务 收件方是主任务
...
...
@@ -788,29 +792,56 @@ public class AllotBillController {
String
title
=
taskBto
.
getTitle
();
AllotBill
allotBill
=
allotBillService
.
getOne
(
billId
);
Integer
currentUserId
=
userUtils
.
getCurrentUserId
();
List
<
Integer
>
idList
=
userPublicService
.
findOtherUser
(
currentUserId
);
//找到收件方的阅知
MessageBto
messageBto1
=
messageService
.
findByTaskId
(
parentTaskId
).
parse2Bto
();
//纵向配发阅知要发给收件单位的人
if
(
allotBill
.
getAllotType
()
==
1
)
{
idList
.
addAll
(
userDao
.
findAllByUnitsId
(
userPublicService
.
findUnitIdByName
(
allotBill
.
getReceiveUnit
())).
stream
()
.
map
(
User:
:
getUserId
)
.
collect
(
Collectors
.
toList
()));
}
//给同单位专管员和收件单位专管员推阅知
messageBto1
.
setContent
(
title
.
substring
(
0
,
4
)+
"撤回"
+
title
.
substring
(
4
));
MessageBto
messageBto
=
new
MessageBto
(-
1
,
parentTask
.
getBusinessType
(),
messageBto1
.
getContent
(),
idList
,
1
);
BeanUtils
.
copyProperties
(
messageBto1
,
messageBto
);
messageBto
.
setTaskId
(-
1
);
messageService
.
add
(
messageBto
);
myWebSocket
.
sendMessage1
();
//将任务都完结
taskService
.
moveToRevoke
(
taskBto
);
taskService
.
moveToRevoke
(
parentTask
);
if
(
allotBill
.
getAllotCheckDetail
()
!=
null
)
{
List
<
Integer
>
ids
=
StringSplitUtil
.
split
(
allotBill
.
getAllotCheckDetail
());
List
<
DeviceLibrary
>
deviceLibraryList
=
new
ArrayList
<>();
for
(
Integer
id
:
ids
)
{
//通过id装备
//所有的装备
List
<
DeviceLibrary
>
deviceLibraryList
;
//所有的装备日志
List
<
DeviceLogDto
>
deviceLogDtos
=
new
ArrayList
<>();
ids
.
forEach
(
id
->
{
DeviceLibrary
deviceLibrary
=
deviceLibraryService
.
getOne
(
id
);
deviceLibrary
.
setLifeStatus
(
2
);
deviceLibraryService
.
update
(
deviceLibrary
);
deviceLibraryList
.
add
(
deviceLibrary
);
}
//添加装备日志
DeviceLogDto
deviceLogDto
=
new
DeviceLogDto
(
id
,
"对"
+
deviceLibrary
.
getName
()
+
"配发撤回"
,
null
,
null
,
null
);
deviceLogDtos
.
add
(
deviceLogDto
);
});
//设置装备为在库
deviceLibraryService
.
updateLifeStatus2
(
2
,
ids
);
deviceLibraryList
=
deviceLibraryService
.
findByIds
(
ids
);
//添加日志
deviceLogService
.
addAllLog
(
deviceLogDtos
);
allotBill
.
setDeviceLibraries
(
deviceLibraryList
);
allotBillService
.
delete
(
allotBill
.
getId
());
}
//将任务都完结
taskService
.
moveToArchive
(
taskBto
);
taskService
.
moveToArchive
(
parentTask
);
return
ResponseEntity
.
ok
(
title
+
"的任务撤回成功"
);
}
return
ResponseEntity
.
ok
(
messageBto
);
}
//递归取出最大目录
public
PackingLibrary
getPackingLibrary
(
PackingLibrary
packingLibrary
)
{
Integer
partParentId
=
packingLibrary
.
getPartParentId
();
PackingLibrary
one
=
packingLibraryService
.
getOne
(
partParentId
);
...
...
@@ -829,6 +860,7 @@ public class AllotBillController {
newPackingLibrary
.
setId
(
null
);
newPackingLibrary
.
setPartParentId
(
newId
);
newPackingLibrary
.
setMatchingRange
(
matchingRange
);
packingLibrary
.
setPackingStatus
(
2
);
packingLibraryService
.
addAllotPacking
(
newPackingLibrary
);
packingLibraryMap
.
put
(
newPackingLibrary
.
getModel
()
+
newPackingLibrary
.
getName
()
+
newPackingLibrary
.
getMatchingRange
(),
newPackingLibrary
);
List
<
PackingLibrary
>
packingLibraryList
=
packingLibraryService
.
getAllByPartPackingId
(
packingLibrary
.
getId
());
...
...
@@ -841,7 +873,7 @@ public class AllotBillController {
}
public
void
get
(
String
[]
strings
,
AllotBillSaveVo
allotBillSaveVo
,
Map
<
String
,
PackingLibrary
>
packingLibraryHashMap
)
{
public
void
createPacking
(
String
[]
strings
,
AllotBillSaveVo
allotBillSaveVo
,
Map
<
String
,
PackingLibrary
>
packingLibraryHashMap
)
{
for
(
String
s
:
strings
)
{
//最后一位原来为装备扫码结果,已弃用
if
(
s
.
length
()
>=
2
)
{
...
...
@@ -852,19 +884,16 @@ public class AllotBillController {
DeviceLibrary
deviceLibraryEntity
=
deviceLibraryService
.
getOne
(
id
);
Integer
matchingRange
=
allotBillSaveVo
.
getMatchingRange
();
//装备的配用范围
Integer
matchingRange1
=
deviceLibraryEntity
.
getMatchingRange
();
// if (matchingRange == 1 || matchingRange == 2 || matchingRange == 3){
// isMatching(1, matchingRange1, deviceLibraryEntity, packingLibraryHashMap);
// }
if
(
matchingRange
==
1
)
{
if
(
matchingRange
==
1
)
{
isMatching
(
1
,
matchingRange1
,
deviceLibraryEntity
,
packingLibraryHashMap
);
}
if
(
matchingRange
==
2
)
{
if
(
matchingRange
==
2
)
{
isMatching
(
2
,
matchingRange1
,
deviceLibraryEntity
,
packingLibraryHashMap
);
}
if
(
matchingRange
==
3
)
{
if
(
matchingRange
==
3
)
{
isMatching
(
3
,
matchingRange1
,
deviceLibraryEntity
,
packingLibraryHashMap
);
}
}
...
...
@@ -880,18 +909,26 @@ public class AllotBillController {
PackingLibrary
devLibrary
=
getPackingLibrary
(
packingLibrary
);
List
<
PackingLibrary
>
packingLibraries
=
packingLibraryService
.
findSamePacking1
(
devLibrary
.
getPartParentId
(),
matchingRange
,
devLibrary
.
getType
(),
packingLibrary
.
getStyle
(),
devLibrary
.
getName
(),
packingLibrary
.
getSecretLevel
(),
devLibrary
.
getInvisibleRange
());
if
(
packingLibraries
!=
null
)
{
if
(
packingLibraries
!=
null
)
{
List
<
PackingLibrary
>
collect
=
packingLibraries
.
stream
().
sorted
(
Comparator
.
comparing
(
PackingLibrary:
:
getCreateTime
).
reversed
()).
collect
(
Collectors
.
toList
());
packingLibrary1
=
collect
.
get
(
0
);
}
}
else
{
packingLibrary1
=
packingLibraryService
.
findSamePacking
(
packingLibrary
.
getPartParentId
(),
matchingRange
,
packingLibrary
.
getType
(),
packingLibrary
.
getStyle
(),
packingLibrary
.
getName
(),
packingLibrary
.
getSecretLevel
(),
packingLibrary
.
getInvisibleRange
());
packingLibrary1
=
packingLibraryService
.
findSamePacking
InPackingStatus
(
packingLibrary
.
getPartParentId
(),
matchingRange
,
packingLibrary
.
getType
(),
packingLibrary
.
getStyle
(),
packingLibrary
.
getName
(),
packingLibrary
.
getSecretLevel
(),
packingLibrary
.
getInvisibleRange
());
}
//不存在直接抛出异常
if
(
packingLibrary1
==
null
)
{
PackingLibrary
library
=
getPackingLibrary
(
packingLibrary
);
getPackingLibrary2
(
library
,
library
.
getPartParentId
(),
matchingRange
,
packingLibraryHashMap
);
PackingLibrary
library
=
getPackingLibrary
(
packingLibrary
);
getPackingLibrary2
(
library
,
library
.
getPartParentId
(),
matchingRange
,
packingLibraryHashMap
);
}
else
{
if
(
packingLibrary1
.
getPackingStatus
()
==
4
||
packingLibrary1
.
getPackingStatus
()
==
3
){
//撤回列装
List
<
Integer
>
ids
=
new
ArrayList
<>();
ids
.
add
(
packingLibrary1
.
getId
());
packingController
.
remove
(
ids
);
}
packingLibraryHashMap
.
put
(
packingLibrary1
.
getModel
()
+
packingLibrary1
.
getName
()
+
matchingRange
,
packingLibrary1
);
}
}
...
...
@@ -903,22 +940,22 @@ public class AllotBillController {
}
}
public
void
allotmentEquipment
(
Integer
id
,
Map
<
Integer
,
Integer
>
changeMap
,
DeviceLibrary
deviceLibraryEntity
,
Map
<
String
,
PackingLibrary
>
packingLibraryHashMap
,
Integer
matchingRange
,
List
<
FileVo
>
fileVoList
,
TaskBto
saveEntity
)
{
public
void
allotmentEquipment
(
Integer
id
,
Map
<
Integer
,
Integer
>
changeMap
,
DeviceLibrary
deviceLibraryEntity
,
Map
<
String
,
PackingLibrary
>
packingLibraryHashMap
,
Integer
matchingRange
,
List
<
FileVo
>
fileVoList
,
TaskBto
saveEntity
)
{
//如果当前装备的配用范围不是省以下纵向
if
(
deviceLibraryEntity
.
getMatchingRange
()
!=
matchingRange
)
{
//判断changeMap是否存在该列装的转换信息
//判断是否存在省以下纵向的相同列装装备
PackingLibrary
packingLibrary1
=
packingLibraryHashMap
.
get
(
deviceLibraryEntity
.
getModel
()
+
deviceLibraryEntity
.
getName
()
+
1
);
PackingLibrary
packingLibrary1
=
packingLibraryHashMap
.
get
(
deviceLibraryEntity
.
getModel
()
+
deviceLibraryEntity
.
getName
()
+
matchingRange
);
//不存在直接抛出异常
if
(
packingLibrary1
!=
null
)
{
changeMap
.
put
(
deviceLibraryEntity
.
getPackingId
(),
packingLibrary1
.
getId
());
deviceLibraryEntity
.
setPackingId
(
packingLibrary1
.
getId
());
deviceLibraryEntity
.
setMatchingRange
(
matchingRange
);
}
else
{
log
.
info
(
"[配发] 没有在packingLibraryHashMap找到key:{}的列装"
,
deviceLibraryEntity
.
getModel
()
+
deviceLibraryEntity
.
getName
()
+
1
);
log
.
info
(
"[配发] 没有在packingLibraryHashMap找到key:{}的列装"
,
deviceLibraryEntity
.
getModel
()
+
deviceLibraryEntity
.
getName
()
+
matchingRange
);
}
//存装备日志
DeviceLogDto
deviceLogDto
=
new
DeviceLogDto
(
id
,
"
纵向
配发将所属列装由"
+
deviceLibraryEntity
.
getMatchingRangeName
()
+
"的列装改为"
+
configCache
.
getMatchingRangeMap
().
get
(
1
)
+
"的列装"
,
fileVoList
,
saveEntity
.
getId
(),
null
);
DeviceLogDto
deviceLogDto
=
new
DeviceLogDto
(
id
,
"配发将所属列装由"
+
deviceLibraryEntity
.
getMatchingRangeName
()
+
"的列装改为"
+
configCache
.
getMatchingRangeMap
().
get
(
1
)
+
"的列装"
,
fileVoList
,
saveEntity
.
getId
(),
null
);
deviceLogService
.
addLog
(
deviceLogDto
);
...
...
@@ -926,5 +963,4 @@ public class AllotBillController {
}
}
dev-allot/src/main/java/com/tykj/dev/device/allot/subject/domin/AllotBill.java
浏览文件 @
f3078bdf
...
...
@@ -284,4 +284,9 @@ public class AllotBill {
@ApiModelProperty
(
value
=
"收件方签收单集合"
)
@Transient
private
List
<
FileRet
>
receiveFileList
=
new
ArrayList
<>();
@ApiModelProperty
(
value
=
"任务id"
)
@Transient
private
Integer
taskId
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论