Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 145a23d8
由
zshaohui
编写于
2023-05-26 11:36:14 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.其他工单正在执行中的,暂停工单不允许出库
2.盘点出库优化 3.看板优化
1 个父辈
544cc2b9
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
258 行增加
和
13 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.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/agvBox/rest/InventoryController.java
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/OutLineController.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/inner/InnerKanbanController.java
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/utils/AgvStatusCache.java
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/utils/bean/AgvInfo.java
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/utils/enums/Location.java
src/main/java/com/neotel/smfcore/custom/lizhen/util/ExpireDateUtil.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
145a23d
...
@@ -666,15 +666,17 @@ public class LiteOrderCache {
...
@@ -666,15 +666,17 @@ public class LiteOrderCache {
List
<
DataLog
>
allTask
=
taskService
.
getAllTasks
();
List
<
DataLog
>
allTask
=
taskService
.
getAllTasks
();
for
(
DataLog
task:
allTask
for
(
DataLog
task:
allTask
)
{
)
{
if
(
OP
.
CHECKOUT
==
task
.
getType
()&&(!
task
.
isEnd
()))
{
if
(
OP
.
CHECKOUT
==
task
.
getType
())
{
if
(!
task
.
isEnd
()
&&
!
task
.
isFinished
()
&&
!
task
.
isCancel
())
{
//更新工单状态
//更新工单状态
String
taskSourceName
=
task
.
getSourceName
();
String
taskSourceName
=
task
.
getSourceName
();
if
(!
Strings
.
isNullOrEmpty
(
taskSourceName
)
&&
orderNo
.
equals
(
taskSourceName
))
{
if
(!
Strings
.
isNullOrEmpty
(
taskSourceName
)
&&
orderNo
.
equals
(
taskSourceName
))
{
log
.
info
(
"关闭工单["
+
orderNo
+
"]失败,有未完成的出库任务:"
+
task
.
getPosName
());
log
.
info
(
"关闭工单["
+
orderNo
+
"]失败,有未完成的出库任务:"
+
task
.
getPosName
());
return
"smfcore.order.close.taskNotEnd"
;
return
"smfcore.order.close.taskNotEnd"
;
}
}
}
}
}
}
}
//绑定料需要解绑
//绑定料需要解绑
storagePosManager
.
clearLockPos
(
liteOrder
.
getOrderNo
());
storagePosManager
.
clearLockPos
(
liteOrder
.
getOrderNo
());
...
@@ -895,7 +897,8 @@ public class LiteOrderCache {
...
@@ -895,7 +897,8 @@ public class LiteOrderCache {
Barcode
barcode
=
pos
.
getBarcode
();
Barcode
barcode
=
pos
.
getBarcode
();
List
<
Barcode
>
subCodeList
=
barcode
.
getSubCodeList
();
List
<
Barcode
>
subCodeList
=
barcode
.
getSubCodeList
();
//进行排序
//进行排序
subCodeList
=
subCodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getPosName
)).
collect
(
Collectors
.
toList
());
subCodeList
=
subCodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getCreateDate
)).
collect
(
Collectors
.
toList
());
subCodeList
=
subCodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getAmount
)).
collect
(
Collectors
.
toList
());
List
<
String
>
subCodeIds
=
new
ArrayList
<>();
List
<
String
>
subCodeIds
=
new
ArrayList
<>();
for
(
Barcode
subCode
:
subCodeList
)
{
for
(
Barcode
subCode
:
subCodeList
)
{
if
(
outReelCount
>=
orderItem
.
getNeedReelCount
()
&&
outNumCount
>=
orderItem
.
getNeedNum
())
{
if
(
outReelCount
>=
orderItem
.
getNeedReelCount
()
&&
outNumCount
>=
orderItem
.
getNeedNum
())
{
...
@@ -1069,6 +1072,20 @@ public class LiteOrderCache {
...
@@ -1069,6 +1072,20 @@ public class LiteOrderCache {
return
""
;
return
""
;
}
}
public
boolean
hasExecutingOrder
(){
Collection
<
LiteOrder
>
liteOrders
=
getAllLiteOrder
();
if
(
liteOrders
!=
null
&&
!
liteOrders
.
isEmpty
()){
for
(
LiteOrder
liteOrder
:
liteOrders
)
{
if
(
liteOrder
.
isOutTails
()){
return
true
;
}
}
}
return
false
;
}
/**
/**
* 获取所有liteOrder
* 获取所有liteOrder
* @return
* @return
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
145a23d
...
@@ -565,7 +565,11 @@ public class OrderController {
...
@@ -565,7 +565,11 @@ public class OrderController {
@ApiOperation
(
"工单恢复"
)
@ApiOperation
(
"工单恢复"
)
@RequestMapping
(
"/restoreOrder"
)
@RequestMapping
(
"/restoreOrder"
)
public
ResultBean
restoreOrder
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
public
ResultBean
restoreOrder
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
if
(
liteOrderCache
.
hasExecutingOrder
())
{
//throw new ValidateException("","有正在执行的工单,不允许恢复");
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"有正在执行的工单,不允许恢复"
);
}
String
orderNo
=
paramMap
.
get
(
"orderNo"
);
String
orderNo
=
paramMap
.
get
(
"orderNo"
);
//根据orderNo得到正在执行的任务
//根据orderNo得到正在执行的任务
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
145a23d
...
@@ -363,7 +363,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -363,7 +363,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
@Override
@Override
public
StoragePos
findPartNumberInStorages
(
List
<
String
>
storageIdList
,
String
pn
,
Collection
<
String
>
excludePosIds
,
CHECKOUT_TYPE
checkOutType
,
String
warehouseCode
,
String
brand
,
boolean
isOut
)
{
public
StoragePos
findPartNumberInStorages
(
List
<
String
>
storageIdList
,
String
pn
,
Collection
<
String
>
excludePosIds
,
CHECKOUT_TYPE
checkOutType
,
String
warehouseCode
,
String
brand
,
boolean
isOut
)
{
Criteria
c
=
Criteria
.
where
(
"id"
).
nin
(
excludePosIds
);
Criteria
c
=
Criteria
.
where
(
"id"
).
nin
(
excludePosIds
);
// .and("enabled").is(true)
//可用//.and("barcode.lockId").is(null);//没有被锁定的仓位;
c
.
and
(
"enabled"
).
is
(
true
);
//可用//.and("barcode.lockId").is(null);//没有被锁定的仓位;
if
(
storageIdList
!=
null
)
{
if
(
storageIdList
!=
null
)
{
c
=
c
.
and
(
"storageId"
).
in
(
storageIdList
);
c
=
c
.
and
(
"storageId"
).
in
(
storageIdList
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
145a23d
...
@@ -1084,7 +1084,7 @@ public class TaskService {
...
@@ -1084,7 +1084,7 @@ public class TaskService {
private
synchronized
Barcode
clearOut
(
Barcode
barcode
)
{
private
synchronized
Barcode
clearOut
(
Barcode
barcode
)
{
if
(
barcode
!=
null
)
{
if
(
barcode
!=
null
)
{
List
<
Barcode
>
subCodeList
=
barcode
.
getSubCodeList
();
List
<
Barcode
>
subCodeList
=
barcode
.
getSubCodeList
();
if
(
subCodeList
!=
null
&&
!
subCodeList
.
isEmpty
()){
if
(
subCodeList
!=
null
&&
!
subCodeList
.
isEmpty
())
{
for
(
Barcode
subCode
:
subCodeList
)
{
for
(
Barcode
subCode
:
subCodeList
)
{
subCode
=
barcodeManager
.
get
(
subCode
.
getId
());
subCode
=
barcodeManager
.
get
(
subCode
.
getId
());
if
(
subCode
.
isOut
())
{
if
(
subCode
.
isOut
())
{
...
@@ -1095,11 +1095,11 @@ public class TaskService {
...
@@ -1095,11 +1095,11 @@ public class TaskService {
subCode
.
setOrderItemId
(
null
);
subCode
.
setOrderItemId
(
null
);
subCode
=
barcodeManager
.
save
(
subCode
);
subCode
=
barcodeManager
.
save
(
subCode
);
barcode
.
UpdateSubCode
(
subCode
);
barcode
.
UpdateSubCode
(
subCode
);
barcode
=
barcodeManager
.
save
(
barcode
);
generateTask
(
subCode
,
OP_STATUS
.
CANCEL
.
name
(),
subCode
.
getAmount
(),
OP
.
CHECKOUT
,
orderItemId
,
""
,
ExtendType
.
TASK_CANNEL
);
generateTask
(
subCode
,
OP_STATUS
.
CANCEL
.
name
(),
subCode
.
getAmount
(),
OP
.
CHECKOUT
,
orderItemId
,
""
,
ExtendType
.
TASK_CANNEL
);
log
.
info
(
"点击完成扫码并入库,任务取消,barcode:"
+
subCode
.
getBarcode
()
+
",OrderItemId为:"
+
orderItemId
);
log
.
info
(
"点击完成扫码并入库,任务取消,barcode:"
+
subCode
.
getBarcode
()
+
",OrderItemId为:"
+
orderItemId
);
}
}
}
}
barcode
=
barcodeManager
.
save
(
barcode
);
}
}
}
}
return
barcode
;
return
barcode
;
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/InventoryController.java
查看文件 @
145a23d
...
@@ -280,7 +280,7 @@ public class InventoryController {
...
@@ -280,7 +280,7 @@ public class InventoryController {
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请点击开始盘点"
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请点击开始盘点"
);
}
}
if
(
storagePosIdList
==
null
||
storagePosIdList
.
isEmpty
())
{
if
(
storagePosIdList
==
null
||
storagePosIdList
.
isEmpty
())
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"
ID
"
});
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"
库位
"
});
}
}
if
(
storagePosIdList
!=
null
&&
!
storagePosIdList
.
isEmpty
())
{
if
(
storagePosIdList
!=
null
&&
!
storagePosIdList
.
isEmpty
())
{
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
findByQuery
(
inventoryQuery
(
null
,
null
,
storagePosIdList
));
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
findByQuery
(
inventoryQuery
(
null
,
null
,
storagePosIdList
));
...
@@ -330,6 +330,21 @@ public class InventoryController {
...
@@ -330,6 +330,21 @@ public class InventoryController {
/**
/**
* 批量盘点出库
* @param posName
* @return
*/
@RequestMapping
(
"/batchInventoryOut"
)
public
ResultBean
batchInventoryOut
(
String
posName
)
{
Pattern
pattern
=
Pattern
.
compile
(
QueryHelp
.
escapeExprSpecialWord
(
posName
),
Pattern
.
CASE_INSENSITIVE
);
List
<
StoragePos
>
storagePosList
=
storagePosManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"posName"
).
regex
(
pattern
)));
List
<
String
>
storagePosIdList
=
storagePosList
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
());
return
inventoryOut
(
storagePosIdList
);
}
/**
* 料箱信息
* 料箱信息
*
*
* @param name
* @param name
...
@@ -475,7 +490,9 @@ public class InventoryController {
...
@@ -475,7 +490,9 @@ public class InventoryController {
if
(
StringUtils
.
isBlank
(
inventoryBatch
)
||
"-1"
.
equals
(
inventoryBatch
))
{
if
(
StringUtils
.
isBlank
(
inventoryBatch
)
||
"-1"
.
equals
(
inventoryBatch
))
{
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
boxBarcode
,
""
,
""
);
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
boxBarcode
,
""
,
""
);
}
else
{
}
else
{
InventoryData
data
=
inventoryDataManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"box"
).
is
(
boxStr
)));
InventoryData
data
=
inventoryDataManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"box"
).
is
(
boxStr
))
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createDate"
)));
String
posName
=
data
.
getPosName
();
String
posName
=
data
.
getPosName
();
pos
=
storagePosManager
.
getByPosName
(
posName
);
pos
=
storagePosManager
.
getByPosName
(
posName
);
}
}
...
@@ -608,7 +625,9 @@ public class InventoryController {
...
@@ -608,7 +625,9 @@ public class InventoryController {
if
(
StringUtils
.
isBlank
(
inventoryBatch
)
||
"-1"
.
equals
(
inventoryBatch
))
{
if
(
StringUtils
.
isBlank
(
inventoryBatch
)
||
"-1"
.
equals
(
inventoryBatch
))
{
return
"当前没有要盘点的批次"
;
return
"当前没有要盘点的批次"
;
}
}
InventoryData
data
=
inventoryDataManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"boxPartition"
).
is
(
posName
)));
InventoryData
data
=
inventoryDataManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"boxPartition"
).
is
(
posName
))
.
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createDate"
)));
if
(
data
!=
null
)
{
if
(
data
!=
null
)
{
List
<
Barcode
>
barcodeList
=
data
.
getBarcodeList
();
List
<
Barcode
>
barcodeList
=
data
.
getBarcodeList
();
if
(
barcodeList
!=
null
&&
!
barcodeList
.
isEmpty
())
{
if
(
barcodeList
!=
null
&&
!
barcodeList
.
isEmpty
())
{
...
@@ -657,7 +676,7 @@ public class InventoryController {
...
@@ -657,7 +676,7 @@ public class InventoryController {
inventoryDataManager
.
save
(
data
);
inventoryDataManager
.
save
(
data
);
//同时,把当前料箱的盘点人,都改成当前登录人
//同时,把当前料箱的盘点人,都改成当前登录人
List
<
InventoryData
>
inventoryDataList
=
inventoryDataManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"box"
).
is
(
boxStr
)));
List
<
InventoryData
>
inventoryDataList
=
inventoryDataManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"inventoryBatch"
).
is
(
inventoryBatch
).
and
(
"box"
).
is
(
boxStr
)
.
and
(
"oriPosName"
).
is
(
data
.
getOriPosName
())
));
if
(
inventoryDataList
!=
null
&&
!
inventoryDataList
.
isEmpty
()){
if
(
inventoryDataList
!=
null
&&
!
inventoryDataList
.
isEmpty
()){
for
(
InventoryData
inventoryData
:
inventoryDataList
)
{
for
(
InventoryData
inventoryData
:
inventoryDataList
)
{
inventoryData
.
setCreator
(
SecurityUtils
.
getCurrentUsername
());
inventoryData
.
setCreator
(
SecurityUtils
.
getCurrentUsername
());
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/agvBox/rest/OutLineController.java
查看文件 @
145a23d
...
@@ -828,6 +828,7 @@ public class OutLineController {
...
@@ -828,6 +828,7 @@ public class OutLineController {
posName
=
posName
+
"-"
+
pos
.
getId
();
posName
=
posName
+
"-"
+
pos
.
getId
();
}
else
{
}
else
{
pos
=
new
StoragePos
();
pos
=
new
StoragePos
();
pos
.
setStorageId
(
storage
.
getId
());
pos
=
storagePosManager
.
save
(
pos
);
pos
=
storagePosManager
.
save
(
pos
);
posName
=
posName
+
"-"
+
pos
.
getId
();
posName
=
posName
+
"-"
+
pos
.
getId
();
}
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
查看文件 @
145a23d
...
@@ -263,8 +263,15 @@ public class InnerBoxRestController {
...
@@ -263,8 +263,15 @@ public class InnerBoxRestController {
labelOrderItemMap
.
remove
(
cidKey
);
labelOrderItemMap
.
remove
(
cidKey
);
}
}
}
else
{
}
else
{
if
(
"0000"
.
equals
(
cid
))
{
if
(
manualOrderItemIdList
!=
null
&&
!
manualOrderItemIdList
.
isEmpty
())
{
labelOrderItemId
=
manualOrderItemIdList
.
get
(
0
);
manualOrderItemIdList
.
remove
(
0
);
}
}
else
{
labelOrderItemId
=
labelOrderItemMap
.
get
(
cid
);
labelOrderItemId
=
labelOrderItemMap
.
get
(
cid
);
}
}
}
Map
<
String
,
String
>
resultMap
=
getPrintLabel
(
labelOrderItemId
);
Map
<
String
,
String
>
resultMap
=
getPrintLabel
(
labelOrderItemId
);
if
(
resultMap
==
null
||
resultMap
.
isEmpty
())
{
if
(
resultMap
==
null
||
resultMap
.
isEmpty
())
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"未找到需要打印的标签信息"
,
null
,
false
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"未找到需要打印的标签信息"
,
null
,
false
);
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/inner/InnerKanbanController.java
查看文件 @
145a23d
...
@@ -155,6 +155,8 @@ public class InnerKanbanController {
...
@@ -155,6 +155,8 @@ public class InnerKanbanController {
int
totalSlots
=
resultList
.
stream
().
mapToInt
(
Storage:
:
getTotalSlots
).
sum
();
int
totalSlots
=
resultList
.
stream
().
mapToInt
(
Storage:
:
getTotalSlots
).
sum
();
int
emptySlots
=
resultList
.
stream
().
mapToInt
(
Storage:
:
getEmptySlots
).
sum
();
int
emptySlots
=
resultList
.
stream
().
mapToInt
(
Storage:
:
getEmptySlots
).
sum
();
usage
=
(
int
)
(((
double
)
(
totalSlots
-
emptySlots
)
/
totalSlots
)
*
100
);
//库位使用率
usage
=
(
int
)
(((
double
)
(
totalSlots
-
emptySlots
)
/
totalSlots
)
*
100
);
//库位使用率
total
=
totalSlots
;
use
=
totalSlots
-
emptySlots
;
}
}
Map
<
String
,
Integer
>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
resultMap
=
new
HashMap
<>();
resultMap
.
put
(
"usage"
,
usage
);
resultMap
.
put
(
"usage"
,
usage
);
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/utils/AgvStatusCache.java
查看文件 @
145a23d
package
com
.
neotel
.
smfcore
.
custom
.
lizhen
.
kanban
.
utils
;
package
com
.
neotel
.
smfcore
.
custom
.
lizhen
.
kanban
.
utils
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.custom.lizhen.kanban.common.KanbanUtils
;
import
com.neotel.smfcore.custom.lizhen.kanban.common.KanbanUtils
;
import
com.neotel.smfcore.custom.lizhen.kanban.utils.bean.AgvInfo
;
import
com.neotel.smfcore.custom.lizhen.kanban.utils.bean.AgvInfo
;
import
com.neotel.smfcore.custom.lizhen.kanban.utils.enums.Location
;
import
com.neotel.smfcore.custom.lizhen.kanban.utils.enums.Location
;
...
@@ -81,11 +82,18 @@ public class AgvStatusCache {
...
@@ -81,11 +82,18 @@ public class AgvStatusCache {
locList
.
addAll
(
getLocByType
(
2
));
locList
.
addAll
(
getLocByType
(
2
));
locCnList
.
addAll
(
getLocCnByType
(
2
));
locCnList
.
addAll
(
getLocCnByType
(
2
));
}
}
int
type
=
1
;
for
(
AgvInfo
agvInfo
:
agvInfoCacheList
)
{
for
(
AgvInfo
agvInfo
:
agvInfoCacheList
)
{
String
loc
=
agvInfo
.
getLoc
();
String
loc
=
agvInfo
.
getLoc
();
if
(
StringUtils
.
isNotBlank
(
Location
.
getLoc
(
loc
)))
{
agvInfo
.
setLocCn
(
Location
.
getLoc
(
loc
));
agvInfo
.
setLocCn
(
Location
.
getLoc
(
loc
));
}
else
{
agvInfo
.
setLocCn
(
agvInfo
.
getLoc
());
}
agvInfo
.
setLocList
(
locList
);
agvInfo
.
setLocList
(
locList
);
agvInfo
.
setLocCnList
(
locCnList
);
agvInfo
.
setLocCnList
(
locCnList
);
agvInfo
.
setType
(
type
);
type
++;
}
}
return
ResultBean
.
newOkResult
(
agvInfoCacheList
);
return
ResultBean
.
newOkResult
(
agvInfoCacheList
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/utils/bean/AgvInfo.java
查看文件 @
145a23d
...
@@ -35,4 +35,6 @@ public class AgvInfo {
...
@@ -35,4 +35,6 @@ public class AgvInfo {
* 位置集合 中文
* 位置集合 中文
*/
*/
private
List
<
String
>
locCnList
;
private
List
<
String
>
locCnList
;
int
type
=
0
;
}
}
src/main/java/com/neotel/smfcore/custom/lizhen/kanban/utils/enums/Location.java
查看文件 @
145a23d
...
@@ -8,7 +8,7 @@ public enum Location {
...
@@ -8,7 +8,7 @@ public enum Location {
//外仓点位
//外仓点位
WAREHOUSE
(
"仓库"
,
2
),
WAREHOUSE
(
"仓库"
,
2
),
TAKE
(
"取料点"
,
2
),
TAKE
(
"取料点"
,
2
),
PUT
(
"
取
料点"
,
2
),
PUT
(
"
放
料点"
,
2
),
//内外仓,通用点位
//内外仓,通用点位
STANDBY
(
"待机点"
,
0
),
STANDBY
(
"待机点"
,
0
),
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/util/ExpireDateUtil.java
0 → 100644
查看文件 @
145a23d
package
com
.
neotel
.
smfcore
.
custom
.
lizhen
.
util
;
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
java.util.Date
;
public
class
ExpireDateUtil
{
public
static
void
main
(
String
[]
args
)
{
String
barcodeStr
=
"138S00071-017425|FF2N14CY4-2302|10000|M1301742531BA1BCMZ|MURATA"
;
String
pattern
=
""
;
}
public
static
Date
getExpireDate
(
String
dateStr
,
String
vendor
)
{
switch
(
vendor
)
{
case
"UMT"
:
return
getWWYYDate
(
dateStr
);
case
"AT&S"
:
return
getWWYYDate
(
dateStr
);
case
"Compeq"
:
return
getWWYYDate
(
dateStr
);
case
"Avary"
:
return
getWWYYDate
(
dateStr
);
case
"AKMMV"
:
return
getWWYYDate
(
dateStr
);
case
"HIROSE"
:
return
getYYYYMMDDDate
(
dateStr
);
case
"SUNWAY"
:
return
getYYMMDDDate
(
dateStr
);
case
"Fujikura"
:
return
getYYWWDate
(
dateStr
);
case
"CCTC"
:
return
getWWYYDate
(
dateStr
);
case
"Jones"
:
return
getYYMMDDDate
(
dateStr
);
case
"Marian"
:
return
getYYMMDDDate
(
dateStr
);
case
"Murata"
:
return
getYYWWDate
(
dateStr
);
case
"JAE"
:
return
getYYMMDate
(
dateStr
);
case
"UNISTEEL"
:
return
getYYMMDDDate
(
dateStr
);
case
"PSM"
:
return
getYYYYMMDDDate
(
dateStr
);
case
"HAMA"
:
return
getYYMMDDDate
(
dateStr
);
case
"TRIUMPH/LY"
:
return
getYYYYMMDDDate
(
dateStr
);
case
"Everwin"
:
return
getYYMMDDDate
(
dateStr
);
case
"INTERPLEX"
:
return
getYYMMDDDate
(
dateStr
);
case
"CYNTEC"
:
return
getYYMMDDDate
(
dateStr
);
case
"YAGEO"
:
return
getYYMMDDDate
(
dateStr
);
case
"Sony"
:
return
getYYYYMMDDDate
(
dateStr
);
case
"Kioxia"
:
return
getYYYYMMDDDate
(
dateStr
);
case
"Taiyo"
:
return
getYYMMDate
(
dateStr
);
case
"Hynix"
:
return
getYWWDate
(
dateStr
);
case
"Amkor"
:
return
getYWWDDate
(
dateStr
);
case
"Qualcomm"
:
return
getYYWWDate
(
dateStr
);
case
"Skyworks "
:
return
getYYWWDate
(
dateStr
);
case
"Qorvo"
:
return
getYYWWDate
(
dateStr
);
case
"LG"
:
return
getYYWWDate
(
dateStr
);
case
"ICT"
:
return
getYYWWDate
(
dateStr
);
case
"USI-上海"
:
return
getYYWWDate
(
dateStr
);
case
"JSCK"
:
return
getYYWWDate
(
dateStr
);
case
"Kyocera"
:
return
getYYWWDate
(
dateStr
);
case
"TDK"
:
return
getYYWWDate
(
dateStr
);
case
"INFINEON"
:
return
getYYWWDate
(
dateStr
);
case
"Epson"
:
return
getYYWWDate
(
dateStr
);
case
"TXC"
:
return
getYYWWDate
(
dateStr
);
case
"ON"
:
return
getYYWWDate
(
dateStr
);
case
"TI"
:
return
getYYWWDate
(
dateStr
);
case
"DIODES"
:
return
getYYWWDate
(
dateStr
);
case
"TSMC"
:
return
getYYWWDate
(
dateStr
);
case
"NXP"
:
return
getYYWWDate
(
dateStr
);
case
"Cirrus"
:
return
getYYWWDate
(
dateStr
);
case
"ADI"
:
return
getYYWWDate
(
dateStr
);
case
"Broadcom "
:
return
getYYWWDate
(
dateStr
);
case
"ST"
:
return
getYYWWDate
(
dateStr
);
case
"Bosch"
:
return
getYYWWDate
(
dateStr
);
case
"SAMSUNG"
:
return
getYYWWDate
(
dateStr
);
case
"WD"
:
return
getYYWWDate
(
dateStr
);
case
"Richtek"
:
return
getYYWWDate
(
dateStr
);
case
"Nexperia"
:
return
getYYWWDate
(
dateStr
);
case
"GIGADEVICE"
:
return
getYYWWDate
(
dateStr
);
case
"Winbond"
:
return
getYYWWDate
(
dateStr
);
case
"Dialog/Renesas "
:
return
getYYWWDate
(
dateStr
);
case
"SITIME"
:
return
getYYWWDate
(
dateStr
);
case
"ROHM"
:
return
getYYWWDate
(
dateStr
);
case
"KDS"
:
return
getYYWWDate
(
dateStr
);
case
"SEMTEC"
:
return
getYYWWDate
(
dateStr
);
}
return
null
;
}
public
static
Date
getWWYYDate
(
String
dateStr
)
{
DateTime
dateTime
=
DateUtil
.
parse
(
dateStr
,
"wwyy"
);
return
dateTime
=
DateUtil
.
beginOfWeek
(
dateTime
);
}
public
static
Date
getYYYYMMDDDate
(
String
dateStr
)
{
return
DateUtil
.
parse
(
dateStr
,
"yyyyMMdd"
);
}
public
static
Date
getYYMMDDDate
(
String
dateStr
)
{
return
DateUtil
.
parse
(
dateStr
,
"yyMMdd"
);
}
public
static
Date
getYYWWDate
(
String
dateStr
)
{
DateTime
dateTime
=
DateUtil
.
parse
(
dateStr
,
"yyww"
);
dateTime
=
DateUtil
.
beginOfWeek
(
dateTime
);
return
dateTime
;
}
public
static
Date
getYYMMDate
(
String
dateStr
)
{
return
DateUtil
.
parse
(
dateStr
,
"yyMM"
);
}
public
static
Date
getYWWDate
(
String
dateStr
)
{
int
year
=
DateUtil
.
thisYear
()
/
10
;
dateStr
=
dateStr
.
substring
(
0
,
dateStr
.
length
()
-
1
);
DateTime
dateTime
=
DateUtil
.
parse
(
year
+
dateStr
,
"yyyyww"
);
return
DateUtil
.
beginOfWeek
(
dateTime
);
}
public
static
Date
getYWWDDate
(
String
dateStr
)
{
int
year
=
DateUtil
.
thisYear
()
/
10
;
//获取到当前周
String
currentDateStr
=
dateStr
.
substring
(
0
,
dateStr
.
length
()
-
1
);
currentDateStr
=
year
+
currentDateStr
;
DateTime
dateTime
=
DateUtil
.
parse
(
currentDateStr
,
"yyyyww"
);
dateTime
=
DateUtil
.
beginOfWeek
(
dateTime
);
//获取到第几天
int
endDay
=
Integer
.
valueOf
(
dateStr
.
substring
(
dateStr
.
length
()
-
1
));
dateTime
=
DateUtil
.
offsetDay
(
dateTime
,
endDay
-
1
);
return
dateTime
;
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论