Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 07e55839
由
LN
编写于
2022-04-02 09:51:35 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
工单状态重定义
1 个父辈
89fad21a
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
167 行增加
和
140 行删除
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/enums/LITEORDER_STATUS.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
src/main/resources/messages.properties
src/main/java/com/neotel/smfcore/common/init/DataInitManager.java
查看文件 @
07e5583
...
...
@@ -207,8 +207,8 @@ public class DataInitManager {
Menu
inOrderMenu
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"inList"
,
"入库单"
,
1
,
"inList"
,
"system/inList/index"
,
""
,
0
,
"headIcon"
);
// Menu putinMenu= new Menu(new ArrayList<Menu>(), 1, "putIn", "物料入库", 1, "putIn", "system/putIn/index", "", 0, "headIcon");
Menu
zhuanruMenu
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"dumpWarehousing"
,
"转储入库"
,
1
,
"dumpWarehousing"
,
"system/dumpWarehousing/index"
,
""
,
0
,
"
headIcon
"
);
Menu
singleMenu
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"singleDiskWarehousing"
,
"单盘入库"
,
1
,
"singleDiskWarehousing"
,
"system/singleDiskWarehousing/index"
,
""
,
0
,
"
headIcon
"
);
Menu
zhuanruMenu
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"dumpWarehousing"
,
"转储入库"
,
1
,
"dumpWarehousing"
,
"system/dumpWarehousing/index"
,
""
,
0
,
"
dumpWarehousing
"
);
Menu
singleMenu
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"singleDiskWarehousing"
,
"单盘入库"
,
1
,
"singleDiskWarehousing"
,
"system/singleDiskWarehousing/index"
,
""
,
0
,
"
singleDiskWarehousing
"
);
Menu
sluggishMaterials
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"sluggishMaterials"
,
"呆滞物料"
,
1
,
"sluggishMaterials"
,
"system/sluggishMaterials/index"
,
""
,
0
,
"sMaterial"
);
Menu
safetyInventory
=
new
Menu
(
new
ArrayList
<
Menu
>(),
1
,
"safetyInventory"
,
"安全库存"
,
1
,
"safetyInventory"
,
"system/safetyInventory/index"
,
""
,
0
,
"safeInventory"
);
...
...
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
查看文件 @
07e5583
...
...
@@ -166,24 +166,27 @@ public class SingleInController {
Barcode
barcode
=
resolveBarcode
(
code
);
//唯一码校验接口
ResponseParam
param
=
HikApi
.
riCheckApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
(),
""
,
""
);
if
(
ObjectUtil
.
isNotEmpty
(
param
))
{
if
(
param
.
getCode
().
equals
(
HikApi
.
CODE_OK
))
{
//唯一码验证成功
}
else
{
throw
new
ValidateException
(
"smfcore.riCheckApi.error"
,
"唯一码["
+
barcode
.
getBarcode
()
+
"]验证失败:"
+
param
.
getCode
()
+
"="
+
param
.
getMessage
()
+
""
,
new
String
[]{
param
.
getCode
(),
param
.
getMessage
()});
}
}
//判断如果是退料入库,需要获取数量
if
(
inType
.
equals
(
4
))
{
//判断如果是退料入库,需要获取数量
if
(
inType
.
equals
(
4
))
{
int
num
=
HikApi
.
returnMaterialApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
());
if
(
num
>
0
)
{
barcode
.
setAmount
(
num
);
barcodeManager
.
saveBarcode
(
barcode
);
log
.
info
(
"退料入库,二维码 "
+
barcode
.
getBarcode
()
+
" 从接口获得新数量:"
+
num
+
",并更新"
);
}
else
{
throw
new
ValidateException
(
"smfcore.returnMaterialApi.error"
,
"退料入库:["
+
barcode
.
getBarcode
()
+
"]获取数量失败"
);
}
}
else
{
//唯一码校验接口
ResponseParam
param
=
HikApi
.
riCheckApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
(),
""
,
""
);
if
(
ObjectUtil
.
isNotEmpty
(
param
))
{
if
(
param
.
getCode
().
equals
(
HikApi
.
CODE_OK
))
{
//唯一码验证成功
}
else
{
throw
new
ValidateException
(
"smfcore.riCheckApi.error"
,
"唯一码["
+
barcode
.
getBarcode
()
+
"]验证失败:"
+
param
.
getCode
()
+
"="
+
param
.
getMessage
()
+
""
,
new
String
[]{
param
.
getCode
(),
param
.
getMessage
()});
}
}
}
...
...
@@ -194,8 +197,7 @@ public class SingleInController {
String
msl
=
barcode
.
getMsl
();
try
{
//需要模拟一个库位
//创建入库任务,暂不指定库位
DataLog
dataLog
=
new
DataLog
();
dataLog
.
setBarcode
(
reelId
);
dataLog
.
setPartNumber
(
pn
);
...
...
@@ -218,7 +220,7 @@ public class SingleInController {
dataLog
.
setStorageName
(
storage
.
getName
());
}
}
log
.
info
(
"用户["
+
loginUser
+
"]创建料架["
+
storage
.
getName
()+
"]的入库任务:barcode["
+
barcode
.
getBarcode
()+
"],cid["
+
storage
.
getCid
()+
"],inType["
+
inType
+
"]"
);
log
.
info
(
"用户["
+
loginUser
+
"]创建料架["
+
storage
.
getName
()
+
"]的入库任务:barcode["
+
barcode
.
getBarcode
()
+
"],cid["
+
storage
.
getCid
()
+
"],inType["
+
inType
+
"]"
);
try
{
taskService
.
addTaskToExecute
(
dataLog
);
}
catch
(
Exception
e
)
{
...
...
@@ -233,9 +235,6 @@ public class SingleInController {
return
ResultBean
.
newOkResult
(
""
);
}
private
Barcode
resolveBarcode
(
String
code
)
{
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
code
);
if
(
barcode
==
null
)
{
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
07e5583
...
...
@@ -56,8 +56,7 @@ public class LiteOrderCache implements ITaskListener {
@Autowired
private
IStoragePosManager
storagePosManager
;
@Autowired
private
IBarcodeManager
barcodeManager
;
/**
* 正在执行的liteOrderMap, key 为orderNo,value 为order
...
...
@@ -163,58 +162,58 @@ public class LiteOrderCache implements ITaskListener {
}
}
public
ResultBean
checkOutOrder
(
LiteOrder
liteOrder
)
throws
ValidateException
{
ORDER_COLOR
nextColor
=
getNextColor
();
if
(
nextColor
==
null
)
{
log
.
info
(
"执行工单["
+
liteOrder
.
getOrderNo
()
+
"] 时,已达最大可执行工单数"
);
throw
new
ValidateException
(
"order.out.maxOrder"
,
"已达最大可执行工单数"
);
}
//其他出库模式一次性全部生成任务
List
<
StoragePos
>
lockPosList
=
storagePosManager
.
findLockPos
(
liteOrder
.
getOrderNo
());
if
(
lockPosList
==
null
){
throw
new
ValidateException
(
"smfcore.notFindPos"
,
"未找到锁定库位"
);
}
int
taskReelCount
=
0
;
for
(
StoragePos
lockPos
:
lockPosList
)
{
Storage
storage
=
dataCache
.
getStorageById
(
lockPos
.
getStorageId
());
Barcode
barcode
=
lockPos
.
getBarcode
();
DataLog
task
=
new
DataLog
(
storage
,
barcode
,
lockPos
);
task
.
setSourceId
(
liteOrder
.
getId
());
task
.
setSourceName
(
liteOrder
.
getOrderNo
());
task
.
setSubSourceId
(
barcode
.
getLockName
());
task
.
setSubSourceInfo
(
barcode
.
getLockName
());
task
.
setType
(
OP
.
CHECKOUT
);
task
.
setPutInDate
(
barcode
.
getPutInDate
());
task
.
setLightColor
(
nextColor
.
getRgb
());
task
.
setStatus
(
OP_STATUS
.
WAIT
.
name
());
taskService
.
addTaskToExecute
(
task
);
taskReelCount
=
taskReelCount
+
1
;
log
.
info
(
"工单["
+
liteOrder
.
getOrderNo
()
+
"]出库位置仓位【"
+
task
.
getPosName
()
+
"】RI=["
+
task
.
getBarcode
()
+
"] PN=["
+
task
.
getPartNumber
()
+
"] "
);
}
liteOrder
.
setTaskReelCount
(
taskReelCount
);
liteOrder
.
setTotalTaskReelCount
(
liteOrder
.
getTotalTaskReelCount
()+
taskReelCount
);
liteOrder
.
setStatus
(
LITEORDER_STATUS
.
TAILS
);
log
.
info
(
"工单["
+
liteOrder
.
getOrderNo
()
+
"]任务分配结束,任务数["
+
taskReelCount
+
"]"
);
if
(
taskReelCount
<=
0
)
{
//没有任务,直接结束
liteOrder
.
finishedTasks
();
}
else
{
//有需要出库的 ,更新状态
liteOrder
.
setStatus
(
LITEORDER_STATUS
.
TAILS
);
}
liteOrder
=
liteOrderManager
.
save
(
liteOrder
);
liteOrderMap
.
put
(
liteOrder
.
getOrderNo
(),
liteOrder
);
if
(
taskReelCount
<=
0
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.notask"
,
"No task in this order"
);
}
return
ResultBean
.
newOkResult
(
"smfcore.taskCount"
,
"total task is :{0}"
,
new
String
[]{
taskReelCount
+
""
},
""
);
}
//
//
public ResultBean checkOutOrder(LiteOrder liteOrder) throws ValidateException {
//
//
ORDER_COLOR nextColor = getNextColor();
//
if (nextColor == null) {
//
log.info("执行工单[" + liteOrder.getOrderNo() + "] 时,已达最大可执行工单数");
//
throw new ValidateException("order.out.maxOrder","已达最大可执行工单数");
//
}
//
//其他出库模式一次性全部生成任务
//
List<StoragePos> lockPosList = storagePosManager.findLockPos(liteOrder.getOrderNo());
//
if(lockPosList==null){
//
throw new ValidateException("smfcore.notFindPos","未找到锁定库位");
//
}
//
int taskReelCount = 0;
//
for (StoragePos lockPos : lockPosList) {
//
Storage storage = dataCache.getStorageById(lockPos.getStorageId());
//
Barcode barcode = lockPos.getBarcode();
//
DataLog task = new DataLog(storage,barcode,lockPos);
//
//
task.setSourceId(liteOrder.getId());
//
task.setSourceName(liteOrder.getOrderNo());
//
task.setSubSourceId(barcode.getLockName());
//
task.setSubSourceInfo(barcode.getLockName());
//
task.setType(OP.CHECKOUT);
//
task.setPutInDate(barcode.getPutInDate());
//
task.setLightColor(nextColor.getRgb());
//
task.setStatus(OP_STATUS.WAIT.name());
//
taskService.addTaskToExecute(task);
//
//
taskReelCount = taskReelCount + 1;
//
log.info("工单[" + liteOrder.getOrderNo() + "]出库位置仓位【" + task.getPosName() + "】RI=[" + task.getBarcode() + "] PN=[" + task.getPartNumber() + "] ");
//
}
//
//
liteOrder.setTaskReelCount(taskReelCount);
//
liteOrder.setTotalTaskReelCount(liteOrder.getTotalTaskReelCount()+taskReelCount);
// liteOrder.setStatus(LITEORDER_STATUS.EXECUTING
);
//
log.info("工单[" + liteOrder.getOrderNo() + "]任务分配结束,任务数[" + taskReelCount + "]");
//
//
if (taskReelCount <= 0) {
//
//没有任务,直接结束
//
liteOrder.finishedTasks();
//
}else{
//
//有需要出库的 ,更新状态
// liteOrder.setStatus(LITEORDER_STATUS.EXECUTING
);
//
}
//
liteOrder = liteOrderManager.save(liteOrder);
//
liteOrderMap.put(liteOrder.getOrderNo(),liteOrder);
//
if (taskReelCount <= 0) {
//
return ResultBean.newErrorResult(-1,"smfcore.notask","No task in this order");
//
}
//
return ResultBean.newOkResult("smfcore.taskCount", "total task is :{0}",new String[]{ taskReelCount+""},"");
//
}
/**
* 更新工单状态信息
...
...
@@ -398,17 +397,13 @@ public class LiteOrderCache implements ITaskListener {
* 锁定物料
*/
public
synchronized
String
checkOutLiteOrder
(
String
userName
,
String
orderNo
)
{
LiteOrder
cacheOrder
=
liteOrderMap
.
get
(
orderNo
);
if
(
cacheOrder
==
null
)
{
cacheOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
}
LiteOrder
cacheOrder
=
findOrderByNo
(
orderNo
);
if
(
cacheOrder
==
null
)
{
return
"smfcore.order.out.notFound"
;
}
if
(
!
cacheOrder
.
isTaskFinished
()
&&
!
cacheOrder
.
isNew
())
{
if
(
cacheOrder
.
isExecuting
())
{
log
.
info
(
"工单["
+
orderNo
+
"]正在执行"
);
return
"smfcore.order.out.executing"
;
}
...
...
@@ -430,11 +425,11 @@ public class LiteOrderCache implements ITaskListener {
return
"smfcore.order.out.maxOrder"
;
}
//先查找是否已经锁定过库位,如果已经锁定过,出锁定的库位
List
<
StoragePos
>
lockPosList
=
storagePosManager
.
findLockPos
(
cacheOrder
.
getOrderNo
());
if
(
lockPosList
!=
null
&&
lockPosList
.
size
()>
0
){
return
checkOutOrder
(
cacheOrder
).
getMsgKey
();
}
//
//先查找是否已经锁定过库位,如果已经锁定过,出锁定的库位
//
List<StoragePos> lockPosList = storagePosManager.findLockPos(cacheOrder.getOrderNo());
//
if(lockPosList!=null&& lockPosList.size()>0){
//
return checkOutOrder(cacheOrder).getMsgKey();
//
}
// 出库策略(系统判断逻辑由上到下依次满足):
//①湿敏超期物料所在仓位锁定,不允许备料;
...
...
@@ -640,7 +635,7 @@ public class LiteOrderCache implements ITaskListener {
cacheOrder
.
setTaskReelCount
(
0
);
cacheOrder
.
setTaskFinishedTime
(-
1
);
cacheOrder
.
setFinishedReelCount
(
0
);
cacheOrder
.
setStatus
(
LITEORDER_STATUS
.
TAILS
);
cacheOrder
.
setStatus
(
LITEORDER_STATUS
.
EXECUTING
);
//设置出库操作人
cacheOrder
.
setOperateUser
(
userName
);
cacheOrder
.
setStartDate
(
new
Date
());
...
...
@@ -694,9 +689,9 @@ public class LiteOrderCache implements ITaskListener {
liteOrderItemManager
.
save
(
orderItem
);
}
cacheOrder
.
setTaskReelCount
(
taskReelCount
);
cacheOrder
.
setTaskReelCount
(
taskReelCount
);
cacheOrder
.
setTotalFinishedReelCount
(
0
);
cacheOrder
.
setTotalTaskReelCount
(
cacheOrder
.
getTotalTaskReelCount
()+
taskReelCount
);
log
.
info
(
"工单["
+
orderNo
+
"]任务分配结束,任务数["
+
taskReelCount
+
"]"
);
//有需要出库的
...
...
@@ -718,10 +713,10 @@ public class LiteOrderCache implements ITaskListener {
//挑料时缺料,直接 关闭工单
log
.
info
(
"工单["
+
liteOrder
.
getOrderNo
()+
"]缺料,
直接关闭工单
"
);
log
.
info
(
"工单["
+
liteOrder
.
getOrderNo
()+
"]缺料,
更改工单为缺料状态
"
);
liteOrder
.
setOperateUser
(
userName
);
liteOrder
.
setStatus
(
LITEORDER_STATUS
.
CLOSED
);
liteOrder
.
setClosed
(
tru
e
);
liteOrder
.
setStatus
(
LITEORDER_STATUS
.
SHORTAGE
);
liteOrder
.
setClosed
(
fals
e
);
liteOrderManager
.
save
(
liteOrder
);
liteOrderMap
.
put
(
liteOrder
.
getOrderNo
(),
liteOrder
);
...
...
src/main/java/com/neotel/smfcore/core/order/enums/LITEORDER_STATUS.java
查看文件 @
07e5583
...
...
@@ -6,23 +6,37 @@ package com.neotel.smfcore.core.order.enums;
public
class
LITEORDER_STATUS
{
/**新建的工单*/
public
static
int
NEW
=
0
;
/**首套料正在执行*/
public
static
int
BOM
=
1
;
/**首盘料已结束,等待出尾料*/
public
static
int
BOM_FINISHED
=
2
;
/**正在出尾料*/
public
static
int
TAILS
=
3
;
/**尾料已完成*/
public
static
int
TAILS_FINISHED
=
4
;
/**工单缺料*/
public
static
int
SHORTAGE
=
1
;
/**正在补料*/
public
static
int
ONE
=
5
;
/**补料已完成*/
public
static
int
ONE_FINISHED
=
6
;
/**工单正在出库执行中*/
public
static
int
EXECUTING
=
2
;
// /**首套料正在执行*/
// public static int BOM=1;
//
// /**首盘料已结束,等待出尾料*/
// public static int BOM_FINISHED=2;
// /**正在出尾料*/
// public static int TAILS=3;
// /**尾料已完成*/
// public static int TAILS_FINISHED=4;
//
// /**正在补料*/
// public static int ONE=5;
// /**补料已完成*/
// public static int ONE_FINISHED=6;
/**工单已关闭*/
public
static
int
CLOSED
=
7
;
public
static
int
CLOSED
=
3
;
/**
* 工单状态
* 0=新建的工单
* 1=工单缺料
* 2=工单正在出库中
* 3=工单已关闭
*/
/**
* 工单状态
* 0=新建的工单
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
07e5583
...
...
@@ -295,7 +295,7 @@ public class OrderController {
User
user
=
userManager
.
findByUserName
(
SecurityUtils
.
getCurrentUsername
());
//查询正在执行的工单列表
Query
query
=
new
Query
(
Criteria
.
where
(
"status"
).
ne
(
LITEORDER_STATUS
.
CLOSED
).
ne
(
LITEORDER_STATUS
.
NEW
));
Query
query
=
new
Query
(
Criteria
.
where
(
"status"
).
is
(
LITEORDER_STATUS
.
EXECUTING
));
//根据开始出库时间排序
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"startOutTime"
);
query
.
with
(
sort
);
...
...
@@ -375,7 +375,7 @@ public class OrderController {
List
<
LiteOrder
>
orderList
=
getExecuteOrders
(
user
);
if
(
orderList
.
size
()
<=
0
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.noOrder"
,
"暂无可操作
性
的工单"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.noOrder"
,
"暂无可操作的工单"
);
}
LiteOrder
liteOrder
=
orderList
.
get
(
0
);
...
...
@@ -396,7 +396,7 @@ public class OrderController {
private
List
<
LiteOrder
>
getExecuteOrders
(
User
user
)
{
//查询正在执行的工单列表
Query
query
=
new
Query
(
Criteria
.
where
(
"status"
).
ne
(
LITEORDER_STATUS
.
CLOSED
).
ne
(
LITEORDER_STATUS
.
NEW
));
Query
query
=
new
Query
(
Criteria
.
where
(
"status"
).
is
(
LITEORDER_STATUS
.
EXECUTING
));
//根据开始出库时间排序
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"startOutTime"
);
query
.
with
(
sort
);
...
...
src/main/java/com/neotel/smfcore/core/order/service/po/LiteOrder.java
查看文件 @
07e5583
...
...
@@ -155,26 +155,30 @@ public class LiteOrder extends BasePo implements Serializable {
* 结束当前的任务
*/
public
void
finishedTasks
(){
if
(
isOutOne
()){
// setStatus(LITEORDER_STATUS.ONE_FINISHED);
setClosed
(
true
);
}
else
if
(
isOutBom
()){
setStatus
(
LITEORDER_STATUS
.
BOM_FINISHED
);
}
else
if
(
isOutTails
()){
// setStatus(LITEORDER_STATUS.TAILS_FINISHED);
// if(isOutOne()){
//// setStatus(LITEORDER_STATUS.ONE_FINISHED);
// setClosed(true);
// }else if(isOutBom()){
// setStatus(LITEORDER_STATUS.BOM_FINISHED);
// }else if(isOutTails()){
//// setStatus(LITEORDER_STATUS.TAILS_FINISHED);
// setClosed(true);
// }
if
(
isExecuting
()){
setClosed
(
true
);
}
setTaskFinishedTime
(
System
.
currentTimeMillis
());
}
/**
* 是否正在出首套料
* @return
*/
public
boolean
isOutBom
(){
return
status
==
LITEORDER_STATUS
.
BOM
;
}
//
//
/**
//
* 是否正在出首套料
//
* @return
//
*/
//
public boolean isOutBom(){
//
return status == LITEORDER_STATUS.BOM;
//
}
/**
* 是否是未执行过的工单
...
...
@@ -183,31 +187,45 @@ public class LiteOrder extends BasePo implements Serializable {
return
status
==
LITEORDER_STATUS
.
NEW
;
}
public
boolean
isOutOne
(){
return
status
==
LITEORDER_STATUS
.
ONE
;
}
/**
* 补料任务完成
* @return
* 是否是缺料工单
*/
public
boolean
is
OutOneFinished
(){
return
status
==
LITEORDER_STATUS
.
ONE_FINISHED
;
public
boolean
is
Shortage
(){
return
status
==
LITEORDER_STATUS
.
SHORTAGE
;
}
/**
* 是否
正在出尾料
* 是否
是执行中的工单
*/
public
boolean
is
OutTails
(){
return
status
==
LITEORDER_STATUS
.
TAILS
;
public
boolean
is
Executing
(){
return
status
==
LITEORDER_STATUS
.
EXECUTING
;
}
/**
* 任务料盘是否已出完
*/
public
boolean
isTaskFinished
(){
return
status
==
LITEORDER_STATUS
.
BOM_FINISHED
||
status
==
LITEORDER_STATUS
.
TAILS_FINISHED
||
status
==
LITEORDER_STATUS
.
ONE_FINISHED
;
}
// public boolean isOutOne(){
// return status == LITEORDER_STATUS.ONE;
// }
//
// /**
// * 补料任务完成
// * @return
// */
// public boolean isOutOneFinished(){
// return status == LITEORDER_STATUS.ONE_FINISHED;
// }
//
// /**
// * 是否正在出尾料
// */
// public boolean isOutTails(){
// return status == LITEORDER_STATUS.TAILS;
// }
//
// /**
// * 任务料盘是否已出完
// */
// public boolean isTaskFinished(){
// return status == LITEORDER_STATUS.BOM_FINISHED || status == LITEORDER_STATUS.TAILS_FINISHED || status == LITEORDER_STATUS.ONE_FINISHED;
// }
public
void
setTaskReelCount
(
int
taskReelCount
)
{
...
...
@@ -227,7 +245,7 @@ public class LiteOrder extends BasePo implements Serializable {
* 是否需要展示(已完成的,过20 秒自动清除)
*/
public
boolean
needToShow
(){
if
(
is
TaskFinish
ed
()){
if
(
is
Clos
ed
()){
if
(
taskFinishedTime
!=
-
1
){
long
now
=
System
.
currentTimeMillis
();
return
now
-
taskFinishedTime
<=
20
*
1000
;
...
...
src/main/resources/messages.properties
查看文件 @
07e5583
...
...
@@ -252,6 +252,7 @@ smfcore.safetyInventory.supplementReel=\u8865\u5145\u76D8\u6570
smfcore.safetyInventory.amount
=
\u6700\u
5C0F
\u5305\u
88C5
smfcore.component.storeError
=
\u
8BF7
\u
8F93
\u5165\u
6B63
\u
786E
\u7684\u
5E93
\u
5B58
\u
FF0C
\u6700\u
5C0F
\u
5E93
\u
5B58<=
\u
5B89
\u5168\u
5E93
\u
5B58<=
\u6700\u5927\u
5E93
\u
5B58
smfcore.user.group.error
=
\u
7EC4[{0}]
\u
5DF2
\u
7ECF
\u5206\u
914D
\u
7ED9
\u
64CD
\u
4F5C
\u5458
[{1}]
#smfcore.order.out.short=\u5DE5\u5355\u51FA\u5E93\u5931\u8D25\uFF0C\u5DE5\u5355\u7F3A\u6599
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论