Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit f8066a69
由
zshaohui
编写于
2022-12-12 16:54:10 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.任务取消时,屏蔽库位
2.喂料页面展示修改
1 个父辈
99378dd1
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
46 行增加
和
16 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderDto.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
src/main/java/com/neotel/smfcore/custom/lizhen/report/inner/InnerReportController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
f8066a6
...
...
@@ -409,9 +409,13 @@ public class LiteOrderCache {
}
List
<
DataLog
>
allTasksByCid
=
taskService
.
getAllTasksByCid
(
storage
.
getCid
());
for
(
DataLog
task
:
allTasksByCid
)
{
if
(!
task
.
isFinished
()
&&
!
task
.
isToBox
()
/*if (!task.isFinished()
&& !task.isCancel()
&& !task.isToBox()
&& task.isCheckOutTask()
&&
StringUtils
.
isNotBlank
(
task
.
getSourceId
())
&&
!
task
.
isCancel
())
{
&& StringUtils.isNotBlank(task.getSourceId())
&& !task.isLabeled())*/
if
(
task
.
isCheckOutTask
()
&&
StringUtils
.
isNotBlank
(
task
.
getSourceId
())
&&
(
task
.
isExecuting
()
||
task
.
isWait
())){
hasOutTask
=
true
;
break
;
}
...
...
src/main/java/com/neotel/smfcore/core/order/rest/bean/dto/OrderDto.java
查看文件 @
f8066a6
...
...
@@ -89,4 +89,7 @@ public class OrderDto implements Serializable {
@ApiModelProperty
(
"工单线别"
)
private
String
line
=
""
;
@ApiModelProperty
(
"工单优先级"
)
private
int
priority
=
0
;
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
f8066a6
...
...
@@ -7,6 +7,7 @@ import com.google.common.collect.Maps;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.PointUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.bean.PlateSizeBean
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
...
...
@@ -618,7 +619,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
}
if
(
StringUtils
.
isNotBlank
(
logo
)){
Pattern
pattern
=
Pattern
.
compile
(
"^.*"
+
logo
+
".*$"
,
Pattern
.
CASE_INSENSITIVE
);
Pattern
pattern
=
Pattern
.
compile
(
QueryHelp
.
escapeExprSpecialWord
(
logo
)
,
Pattern
.
CASE_INSENSITIVE
);
c
.
and
(
"posName"
).
regex
(
pattern
);
}
...
...
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
f8066a6
...
...
@@ -17,6 +17,7 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.message.util.DeviceMessageUtil
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
...
...
@@ -255,6 +256,22 @@ public class TaskService {
task
.
setUpdateDate
(
new
Date
());
updateFinishedTask
(
task
);
log
.
info
(
"任务["
+
task
.
getId
()
+
"] posName["
+
task
.
getPosName
()
+
"] Reel Id["
+
task
.
getBarcode
()
+
"]取消成功"
);
//同时进行库位屏蔽
if
(
task
.
isPutInTask
()
&&
!
task
.
isFinished
()){
String
posName
=
task
.
getPosName
();
if
(
StringUtils
.
isNotBlank
(
posName
)){
StoragePos
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
!=
null
){
pos
.
setEnabled
(
false
);
storagePosManager
.
save
(
pos
);
log
.
info
(
"任务取消,屏蔽库位:库位号["
+
pos
.
getId
()
+
"]["
+
pos
.
getPosName
()
+
"]barcode["
+
task
.
getBarcode
()
+
"]"
);
DeviceMessageUtil
.
addEnabledPosMessage
(
pos
,
SecurityUtils
.
getCurrentUsername
());
}
}
//解除绑定
ReelLockPosUtil
.
removeReelLockPosInfo
(
task
.
getBarcode
());
}
return
true
;
}
return
false
;
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
查看文件 @
f8066a6
...
...
@@ -483,6 +483,11 @@ public class InnerBoxRestController {
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"工单信息"
,
orderItemId
});
}
//判断是否已经补过料
if
(
orderItem
.
getOutNum
()
>
0
){
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.task.hasEnd"
,
"任务已完成"
);
}
//判断料号是否一致
String
partNumber
=
codeBean
.
getBarcode
().
getPartNumber
();
if
(!
orderItem
.
getPn
().
equals
(
partNumber
))
{
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/report/inner/InnerReportController.java
查看文件 @
f8066a6
...
...
@@ -53,7 +53,7 @@ public class InnerReportController {
@ApiOperation
(
"喂料"
)
@RequestMapping
(
"/feeding"
)
@AnonymousAccess
//
@AnonymousAccess
public
PageData
feeding
(
ReportQueryCondition
queryCondition
,
Pageable
pageable
)
{
Query
q
=
QueryHelp
.
getQuery
(
queryCondition
);
//查询不是关闭状态的订单,新建的,尾料已完成的
...
...
@@ -63,37 +63,37 @@ public class InnerReportController {
Criteria
c
=
Criteria
.
where
(
"closed"
).
is
(
false
).
orOperator
(
orCriterias
);
PageData
<
LiteOrder
>
pageData
=
liteOrderManager
.
findByPage
(
q
.
addCriteria
(
c
),
pageable
);
List
<
LiteOrder
>
liteOrders
=
pageData
.
getContent
();
liteOrders
=
liteOrders
.
stream
().
sorted
(
Comparator
.
comparing
(
LiteOrder
::
getPriority
).
reversed
()
.
thenComparing
(
LiteOrder
::
getCreateDate
)
).
collect
(
Collectors
.
toList
());
liteOrders
=
liteOrders
.
stream
().
sorted
(
Comparator
.
comparing
(
LiteOrder
::
getPriority
).
reversed
()).
collect
(
Collectors
.
toList
());
PageData
resultPageData
=
new
PageData
();
resultPageData
.
setTotalElements
(
pageData
.
getTotalElements
());
resultPageData
.
setContent
(
liteOrders
);
resultPageData
.
setContent
(
orderMapper
.
toDto
(
liteOrders
)
);
return
resultPageData
;
}
@ApiOperation
(
"根据工单id获取工单详情"
)
@RequestMapping
(
"/getItemsByOrderId"
)
@AnonymousAccess
public
ResultBean
getItemsByOrderId
(
String
orderId
){
//
@AnonymousAccess
public
ResultBean
getItemsByOrderId
(
String
orderId
)
{
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
orderId
);
List
<
LiteOrderItem
>
orderItems
=
liteOrderItemManager
.
findOrderItems
(
orderId
);
if
(
LITEORDER_STATUS
.
TAILS_FINISHED
==
liteOrder
.
getStatus
()){
List
<
LiteOrderItem
>
newOrderItems
=
new
ArrayList
<>();
for
(
LiteOrderItem
orderItem
:
orderItems
)
{
if
(
orderItem
.
getOutNum
()
==
0
)
{
List
<
LiteOrderItem
>
newOrderItems
=
new
ArrayList
<>();
for
(
LiteOrderItem
orderItem
:
orderItems
)
{
if
(
orderItem
.
getOutNum
()
==
0
)
{
if
(
LITEORDER_STATUS
.
TAILS_FINISHED
==
liteOrder
.
getStatus
()
)
{
orderItem
.
setLack
(
true
);
newOrderItems
.
add
(
orderItem
);
}
newOrderItems
.
add
(
orderItem
);
}
orderItems
=
newOrderItems
;
}
orderItems
=
newOrderItems
;
//根据缺料排序
orderItems
=
orderItems
.
stream
().
sorted
(
Comparator
.
comparing
(
LiteOrderItem
::
isLack
).
reversed
()).
collect
(
Collectors
.
toList
());
orderItems
=
orderItems
.
stream
().
sorted
(
Comparator
.
comparing
(
LiteOrderItem
:
:
isLack
).
reversed
()).
collect
(
Collectors
.
toList
());
return
ResultBean
.
newOkResult
(
orderItemMapper
.
toDto
(
orderItems
));
}
@ApiOperation
(
"线别下拉"
)
@RequestMapping
(
"linePullDown"
)
@AnonymousAccess
//
@AnonymousAccess
public
ResultBean
linePullDown
()
{
//得到每一个楼层的线体
String
f2Line
=
dataCache
.
getCache
(
"F2Line"
).
toString
();
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论