Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 64c322e3
由
zshaohui
编写于
2023-05-19 15:49:09 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.打印标签根据cid去打印
1 个父辈
5a8586c2
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
63 行增加
和
20 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
64c322e
...
@@ -379,7 +379,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -379,7 +379,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
//设置nlLable
//设置nlLable
if
(
StringUtils
.
isNotBlank
(
task
.
getSubSourceId
()))
{
if
(
StringUtils
.
isNotBlank
(
task
.
getSubSourceId
()))
{
log
.
info
(
task
.
getBarcode
()
+
"设置的标签orderItemId:"
+
task
.
getSubSourceId
());
log
.
info
(
task
.
getBarcode
()
+
"设置的标签orderItemId:"
+
task
.
getSubSourceId
());
innerBoxRestController
.
setLabelOrderItemId
(
task
.
getSubSourceId
());
innerBoxRestController
.
setLabelOrderItemId
(
task
.
get
Cid
(),
task
.
get
SubSourceId
());
}
}
taskService
.
addTaskToFinished
(
inPos
,
null
,
loginUser
);
taskService
.
addTaskToFinished
(
inPos
,
null
,
loginUser
);
opPosLight
(
"close"
,
inPos
,
""
);
opPosLight
(
"close"
,
inPos
,
""
);
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
查看文件 @
64c322e
...
@@ -29,6 +29,7 @@ import com.neotel.smfcore.custom.lizhen.innerBox.bean.OutLotInfo;
...
@@ -29,6 +29,7 @@ import com.neotel.smfcore.custom.lizhen.innerBox.bean.OutLotInfo;
import
com.neotel.smfcore.custom.lizhen.innerBox.enums.ExtendType
;
import
com.neotel.smfcore.custom.lizhen.innerBox.enums.ExtendType
;
import
com.neotel.smfcore.custom.lizhen.innerBox.util.OutLotInfoCache
;
import
com.neotel.smfcore.custom.lizhen.innerBox.util.OutLotInfoCache
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.jsonwebtoken.lang.Maps
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -42,6 +43,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -42,6 +43,7 @@ import org.springframework.web.bind.annotation.RestController;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.CopyOnWriteArrayList
;
import
java.util.concurrent.CopyOnWriteArrayList
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -83,7 +85,7 @@ public class InnerBoxRestController {
...
@@ -83,7 +85,7 @@ public class InnerBoxRestController {
private
IDataLogManager
dataLogManager
;
private
IDataLogManager
dataLogManager
;
//料架缓存id
//料架缓存id
private
static
String
labelOrderItemId
;
private
static
Map
<
String
,
String
>
labelOrderItemMap
=
new
ConcurrentHashMap
<>()
;
//人工发料id
//人工发料id
private
static
List
<
String
>
manualOrderItemIdList
=
new
CopyOnWriteArrayList
<>();
private
static
List
<
String
>
manualOrderItemIdList
=
new
CopyOnWriteArrayList
<>();
...
@@ -248,9 +250,24 @@ public class InnerBoxRestController {
...
@@ -248,9 +250,24 @@ public class InnerBoxRestController {
@RequestMapping
(
"/rack/getPrintInfo"
)
@RequestMapping
(
"/rack/getPrintInfo"
)
@AnonymousAccess
@AnonymousAccess
public
ResultBean
rackPrintLabel
(
HttpServletRequest
request
)
{
public
ResultBean
rackPrintLabel
(
HttpServletRequest
request
)
{
String
cid
=
request
.
getParameter
(
"cid"
);
String
labelOrderItemId
=
""
;
if
(
StringUtils
.
isBlank
(
cid
))
{
String
cidKey
=
""
;
for
(
Map
.
Entry
<
String
,
String
>
entry
:
labelOrderItemMap
.
entrySet
())
{
cidKey
=
entry
.
getKey
();
labelOrderItemId
=
entry
.
getValue
();
break
;
}
if
(
StringUtils
.
isNotBlank
(
cidKey
))
{
labelOrderItemMap
.
remove
(
cidKey
);
}
}
else
{
labelOrderItemId
=
labelOrderItemMap
.
get
(
cid
);
}
Map
<
String
,
String
>
resultMap
=
getPrintLabel
(
labelOrderItemId
);
Map
<
String
,
String
>
resultMap
=
getPrintLabel
(
labelOrderItemId
);
if
(
resultMap
.
isEmpty
())
{
if
(
resultMap
==
null
||
resultMap
.
isEmpty
())
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"未找到需要打印的标签信息"
,
null
,
false
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"未找到需要打印的标签信息"
,
null
,
false
);
}
}
return
ResultBean
.
newOkResult
(
resultMap
);
return
ResultBean
.
newOkResult
(
resultMap
);
}
}
...
@@ -259,8 +276,9 @@ public class InnerBoxRestController {
...
@@ -259,8 +276,9 @@ public class InnerBoxRestController {
@RequestMapping
(
"/rack/finishPrint"
)
@RequestMapping
(
"/rack/finishPrint"
)
@AnonymousAccess
@AnonymousAccess
public
ResultBean
finishPrintLabel
(
HttpServletRequest
request
)
{
public
ResultBean
finishPrintLabel
(
HttpServletRequest
request
)
{
String
cid
=
request
.
getParameter
(
"cid"
);
log
.
info
(
"移除打印标签"
);
log
.
info
(
"移除打印标签"
);
setLabelOrderItemId
(
null
);
labelOrderItemMap
.
remove
(
cid
);
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
...
@@ -445,7 +463,7 @@ public class InnerBoxRestController {
...
@@ -445,7 +463,7 @@ public class InnerBoxRestController {
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueNotFind"
,
"未找到{0}{1}"
,
new
String
[]{
reelId
,
"补打印信息,请核实是否已经有出库任务"
});
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueNotFind"
,
"未找到{0}{1}"
,
new
String
[]{
reelId
,
"补打印信息,请核实是否已经有出库任务"
});
}
}
for
(
DataLog
dataLog
:
dataLogs
)
{
for
(
DataLog
dataLog
:
dataLogs
)
{
setLabelOrderItemId
(
dataLog
.
getSubSourceId
());
setLabelOrderItemId
(
dataLog
.
get
Cid
(),
dataLog
.
get
SubSourceId
());
break
;
break
;
}
}
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
...
@@ -504,6 +522,14 @@ public class InnerBoxRestController {
...
@@ -504,6 +522,14 @@ public class InnerBoxRestController {
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请核实手动补料的料号:"
+
partNumber
+
"与工单需求料号:"
+
orderItem
.
getPn
()
+
"是否一致"
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请核实手动补料的料号:"
+
partNumber
+
"与工单需求料号:"
+
orderItem
.
getPn
()
+
"是否一致"
);
}
}
//判断供应商是否相同
String
provider
=
codeBean
.
getBarcode
().
getProvider
();
if
(
StringUtils
.
isNotBlank
(
orderItem
.
getBrand
()))
{
if
(!
orderItem
.
getBrand
().
equals
(
provider
))
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"请核实手动补料的供应商:"
+
provider
+
"与工单需求供应商:"
+
orderItem
.
getBrand
()
+
"是否一致"
);
}
}
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
orderItem
.
getOrderId
());
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
orderItem
.
getOrderId
());
if
(
liteOrder
==
null
)
{
if
(
liteOrder
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"工单信息"
,
orderItemId
});
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"工单信息"
,
orderItemId
});
...
@@ -528,7 +554,7 @@ public class InnerBoxRestController {
...
@@ -528,7 +554,7 @@ public class InnerBoxRestController {
dataLog
.
setPosName
(
storagePos
.
getPosName
());
dataLog
.
setPosName
(
storagePos
.
getPosName
());
Storage
storage
=
dataCache
.
getStorageById
(
storagePos
.
getStorageId
());
Storage
storage
=
dataCache
.
getStorageById
(
storagePos
.
getStorageId
());
dataLog
.
setCid
(
storage
.
getCid
());
dataLog
.
setCid
(
storage
.
getCid
());
if
(
storage
.
isVirtual
())
{
//
if (storage.isVirtual()) {
dataLog
.
setCid
(
storage
.
getCid
());
dataLog
.
setCid
(
storage
.
getCid
());
storagePos
.
setBarcode
(
null
);
storagePos
.
setBarcode
(
null
);
//dataCache.updateInventory(storagePos, barcode);
//dataCache.updateInventory(storagePos, barcode);
...
@@ -537,8 +563,8 @@ public class InnerBoxRestController {
...
@@ -537,8 +563,8 @@ public class InnerBoxRestController {
storagePos
.
setUsed
(
false
);
storagePos
.
setUsed
(
false
);
storagePosManager
.
save
(
storagePos
);
storagePosManager
.
save
(
storagePos
);
barcodeManager
.
delete
(
barcode
);
barcodeManager
.
delete
(
barcode
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
}
//
}
}
}
taskService
.
updateFinishedTask
(
dataLog
);
taskService
.
updateFinishedTask
(
dataLog
);
taskService
.
removeFinishedTask
(
dataLog
);
taskService
.
removeFinishedTask
(
dataLog
);
...
@@ -591,16 +617,27 @@ public class InnerBoxRestController {
...
@@ -591,16 +617,27 @@ public class InnerBoxRestController {
if
(
storagePos
==
null
){
if
(
storagePos
==
null
){
return
ResultBean
.
newErrorResult
(-
1
,
""
,
barcode
.
getBarcode
()+
"不在储位中,不允许进行出库"
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
barcode
.
getBarcode
()+
"不在储位中,不允许进行出库"
);
}
}
LiteOrder
order
=
liteOrder
Manager
.
findByOrderNo
(
orderNo
);
LiteOrder
order
=
liteOrder
Cache
.
getOrderSortItems
(
orderNo
);
if
(
order
==
null
)
{
if
(
order
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.out.notFound"
,
"工单未找到"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.order.out.notFound"
,
"工单未找到"
);
}
}
boolean
hasItem
=
false
;
boolean
hasItem
=
false
;
for
(
LiteOrderItem
orderItem
:
order
.
getOrderItems
())
{
for
(
LiteOrderItem
orderItem
:
order
.
getOrderItems
())
{
if
(
barcode
.
getPartNumber
().
equals
(
orderItem
.
getPn
()))
{
//判断供应商是否相同
if
(
StringUtils
.
isNotBlank
(
orderItem
.
getBrand
()))
{
if
(!
barcode
.
getProvider
().
equals
(
orderItem
.
getBrand
()))
{
continue
;
}
}
if
(
orderItem
.
getOutNum
()
>
0
){
if
(
orderItem
.
getOutNum
()
>
0
){
continue
;
continue
;
}
}
if
(
barcode
.
getPartNumber
().
equals
(
orderItem
.
getPn
()))
{
//判断有没有已经生成任务
int
count
=
dataLogManager
.
countByQuery
(
new
Query
(
Criteria
.
where
(
"subSourceId"
).
is
(
orderItem
.
getId
())));
if
(
count
>
0
){
continue
;
}
hasItem
=
true
;
hasItem
=
true
;
DataLog
dataLog
=
new
DataLog
();
DataLog
dataLog
=
new
DataLog
();
dataLog
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
dataLog
.
setStatus
(
OP_STATUS
.
FINISHED
.
name
());
...
@@ -621,7 +658,7 @@ public class InnerBoxRestController {
...
@@ -621,7 +658,7 @@ public class InnerBoxRestController {
dataLog
.
setPosName
(
storagePos
.
getPosName
());
dataLog
.
setPosName
(
storagePos
.
getPosName
());
Storage
storage
=
dataCache
.
getStorageById
(
storagePos
.
getStorageId
());
Storage
storage
=
dataCache
.
getStorageById
(
storagePos
.
getStorageId
());
dataLog
.
setCid
(
storage
.
getCid
());
dataLog
.
setCid
(
storage
.
getCid
());
if
(
storage
.
isVirtual
())
{
//
if (storage.isVirtual()) {
dataLog
.
setCid
(
storage
.
getCid
());
dataLog
.
setCid
(
storage
.
getCid
());
storagePos
.
setBarcode
(
null
);
storagePos
.
setBarcode
(
null
);
//dataCache.updateInventory(storagePos, barcode);
//dataCache.updateInventory(storagePos, barcode);
...
@@ -629,8 +666,8 @@ public class InnerBoxRestController {
...
@@ -629,8 +666,8 @@ public class InnerBoxRestController {
storagePos
.
setUsed
(
false
);
storagePos
.
setUsed
(
false
);
storagePosManager
.
save
(
storagePos
);
storagePosManager
.
save
(
storagePos
);
barcodeManager
.
delete
(
barcode
);
barcodeManager
.
delete
(
barcode
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
}
//
}
}
}
taskService
.
updateFinishedTask
(
dataLog
);
taskService
.
updateFinishedTask
(
dataLog
);
taskService
.
removeFinishedTask
(
dataLog
);
taskService
.
removeFinishedTask
(
dataLog
);
...
@@ -645,12 +682,8 @@ public class InnerBoxRestController {
...
@@ -645,12 +682,8 @@ public class InnerBoxRestController {
}
}
public
String
getLabelOrderItemId
()
{
public
void
setLabelOrderItemId
(
String
cid
,
String
orderItemId
)
{
return
labelOrderItemId
;
labelOrderItemMap
.
put
(
cid
,
orderItemId
);
}
public
void
setLabelOrderItemId
(
String
orderItemId
)
{
labelOrderItemId
=
orderItemId
;
}
}
/**
/**
...
@@ -793,6 +826,9 @@ public class InnerBoxRestController {
...
@@ -793,6 +826,9 @@ public class InnerBoxRestController {
}
}
public
Map
<
String
,
String
>
getPrintLabel
(
String
orderItemId
){
public
Map
<
String
,
String
>
getPrintLabel
(
String
orderItemId
){
if
(
StringUtils
.
isBlank
(
orderItemId
)){
return
null
;
}
Map
<
String
,
String
>
resultMap
=
new
HashMap
<>();
Map
<
String
,
String
>
resultMap
=
new
HashMap
<>();
LiteOrderItem
liteOrderItem
=
liteOrderItemManager
.
get
(
orderItemId
);
LiteOrderItem
liteOrderItem
=
liteOrderItemManager
.
get
(
orderItemId
);
if
(
liteOrderItem
!=
null
)
{
if
(
liteOrderItem
!=
null
)
{
...
@@ -811,4 +847,11 @@ public class InnerBoxRestController {
...
@@ -811,4 +847,11 @@ public class InnerBoxRestController {
}
}
return
resultMap
;
return
resultMap
;
}
}
public
String
getLabelOrderItemId
()
{
if
(!
labelOrderItemMap
.
values
().
isEmpty
())
{
return
"false"
;
}
return
""
;
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论