Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0ad6690d
由
孙克
编写于
2024-04-30 14:38:13 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
半成品线体对接时先绑定料箱和cartonId
1 个父辈
5d1d73ac
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
46 行增加
和
20 行删除
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/CDeviceController.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/LineController.java
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
查看文件 @
0ad6690
...
@@ -204,6 +204,8 @@ public class Barcode extends BasePo implements Serializable {
...
@@ -204,6 +204,8 @@ public class Barcode extends BasePo implements Serializable {
// 箱号
// 箱号
private
String
cartonId
;
private
String
cartonId
;
//设备端上传的cartonId
private
String
scanCartonId
;
// 栈板号
// 栈板号
private
String
palletId
;
private
String
palletId
;
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/controller/CDeviceController.java
查看文件 @
0ad6690
...
@@ -435,6 +435,7 @@ public class CDeviceController {
...
@@ -435,6 +435,7 @@ public class CDeviceController {
boxBarcode
.
updateSubCodes
(
barcode
);
boxBarcode
.
updateSubCodes
(
barcode
);
barcodeManager
.
save
(
boxBarcode
);
barcodeManager
.
save
(
boxBarcode
);
//TODO: barcode是否也要保存?? 24002AT这盘料未人subBarcode中清除
barcode
.
setAmount
(
amount
);
barcode
.
setAmount
(
amount
);
DataLog
dataLog
=
new
DataLog
(
new
Storage
(),
barcode
,
new
StoragePos
());
DataLog
dataLog
=
new
DataLog
(
new
Storage
(),
barcode
,
new
StoragePos
());
dataLog
.
setSubSourceId
(
orderItemId
);
dataLog
.
setSubSourceId
(
orderItemId
);
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/LineController.java
查看文件 @
0ad6690
...
@@ -29,6 +29,7 @@ import com.neotel.smfcore.security.annotation.AnonymousAccess;
...
@@ -29,6 +29,7 @@ import com.neotel.smfcore.security.annotation.AnonymousAccess;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
...
@@ -59,9 +60,6 @@ public class LineController {
...
@@ -59,9 +60,6 @@ public class LineController {
@Autowired
@Autowired
private
TaskService
taskService
;
private
TaskService
taskService
;
@Autowired
private
IStoragePosManager
storagePosManager
;
/**
/**
* 线体第一个扫码器扫码调用
* 线体第一个扫码器扫码调用
...
@@ -71,19 +69,25 @@ public class LineController {
...
@@ -71,19 +69,25 @@ public class LineController {
@AnonymousAccess
@AnonymousAccess
public
ResultBean
validCarton
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
public
ResultBean
validCarton
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
cartonId
=
paramMap
.
get
(
"cartonId"
);
String
boxId
=
paramMap
.
get
(
"cartonId"
);
log
.
info
(
"线体第一个扫码枪扫描到箱号["
+
boxId
+
"]校验箱号"
);
//1.解析条码
//1.解析条码
Barcode
barcode
=
codeResolve
.
resolve
Code
(
carton
Id
);
Barcode
barcode
=
codeResolve
.
resolve
OneValideBarcode
(
"=2x2="
+
box
Id
);
if
(
barcode
==
null
)
{
if
(
barcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
}
}
String
scanCartonId
=
barcode
.
getScanCartonId
();
if
(
Strings
.
isBlank
(
scanCartonId
)){
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.noBind"
,
"条码未绑定CartonId"
);
}
//如果是人工作业 直接返回ok
//如果是人工作业 直接返回ok
if
(
ManualWorkUtil
.
bindManualWork
(
barcode
.
getBarcode
()))
{
if
(
ManualWorkUtil
.
bindManualWork
(
barcode
.
getBarcode
()))
{
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
try
{
try
{
ValidCartonResult
result
=
LuxsanApi
.
validCarton
(
new
ValidCartonRequest
(
""
,
c
artonId
,
CommonUtil
.
plantCode
));
ValidCartonResult
result
=
LuxsanApi
.
validCarton
(
new
ValidCartonRequest
(
""
,
scanC
artonId
,
CommonUtil
.
plantCode
));
//设置barcode的其他参数
//设置barcode的其他参数
barcode
.
setPlantCode
(
result
.
getPLANT
());
barcode
.
setPlantCode
(
result
.
getPLANT
());
barcode
.
setCartonId
(
result
.
getCARTON_ID
());
barcode
.
setCartonId
(
result
.
getCARTON_ID
());
...
@@ -114,14 +118,13 @@ public class LineController {
...
@@ -114,14 +118,13 @@ public class LineController {
@AnonymousAccess
@AnonymousAccess
public
synchronized
ResultBean
fetchPalletInfo
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
public
synchronized
ResultBean
fetchPalletInfo
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
carton
Id
=
paramMap
.
get
(
"cartonId"
);
String
box
Id
=
paramMap
.
get
(
"cartonId"
);
log
.
info
(
"线体第二个扫码枪扫描到箱号["
+
boxId
+
"],判断过账是否完成"
);
//1.解析条码
//1.解析条码
Barcode
barcode
=
codeResolve
.
resolve
Code
(
carton
Id
);
Barcode
barcode
=
codeResolve
.
resolve
OneValideBarcode
(
"=2x2="
+
box
Id
);
if
(
barcode
==
null
)
{
if
(
barcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
}
}
String
palletId
=
barcode
.
getPalletId
();
//如果是人工作业的,直接入库
//如果是人工作业的,直接入库
...
@@ -130,6 +133,7 @@ public class LineController {
...
@@ -130,6 +133,7 @@ public class LineController {
}
else
{
}
else
{
//2.请求接口判断是否过账
//2.请求接口判断是否过账
try
{
try
{
String
palletId
=
barcode
.
getPalletId
();
FetchPalletInfoResult
fetchPalletInfo
=
null
;
FetchPalletInfoResult
fetchPalletInfo
=
null
;
List
<
FetchPalletInfoResult
>
fetchPalletList
=
LuxsanApi
.
fetchPalletInfo
(
new
FetchPalletInfoRequest
(
""
,
CommonUtil
.
plantCode
,
Arrays
.
asList
(
palletId
)));
List
<
FetchPalletInfoResult
>
fetchPalletList
=
LuxsanApi
.
fetchPalletInfo
(
new
FetchPalletInfoRequest
(
""
,
CommonUtil
.
plantCode
,
Arrays
.
asList
(
palletId
)));
for
(
FetchPalletInfoResult
result
:
fetchPalletList
)
{
for
(
FetchPalletInfoResult
result
:
fetchPalletList
)
{
...
@@ -159,7 +163,7 @@ public class LineController {
...
@@ -159,7 +163,7 @@ public class LineController {
StoragePos
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
barcode
,
""
,
""
);
StoragePos
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
barcode
,
""
,
""
);
if
(
pos
==
null
)
{
if
(
pos
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
""
,
carton
Id
+
"未找到可用库位"
);
return
ResultBean
.
newErrorResult
(-
1
,
""
,
box
Id
+
"未找到可用库位"
);
}
}
//3.锁定库位
//3.锁定库位
...
@@ -174,6 +178,9 @@ public class LineController {
...
@@ -174,6 +178,9 @@ public class LineController {
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"["
+
barcode
.
getBarcode
()
+
"]库位["
+
reelLocInfo
.
getLockPosName
()
+
"]已被锁定,暂停入库"
,
new
String
[]{});
return
ResultBean
.
newErrorResult
(-
1
,
""
,
"["
+
barcode
.
getBarcode
()
+
"]库位["
+
reelLocInfo
.
getLockPosName
()
+
"]已被锁定,暂停入库"
,
new
String
[]{});
}
}
//清理扫描的cartonId
barcode
.
setScanCartonId
(
""
);
//4.生成入库任务
//4.生成入库任务
DataLog
dataLog
=
taskService
.
addPutInTaskToExecute
(
storage
,
barcode
,
pos
);
DataLog
dataLog
=
taskService
.
addPutInTaskToExecute
(
storage
,
barcode
,
pos
);
...
@@ -188,8 +195,8 @@ public class LineController {
...
@@ -188,8 +195,8 @@ public class LineController {
@RequestMapping
(
"/odnReCartonQty"
)
@RequestMapping
(
"/odnReCartonQty"
)
@AnonymousAccess
@AnonymousAccess
public
ResultBean
odnReCartonQty
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
public
ResultBean
odnReCartonQty
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
carton
Id
=
paramMap
.
get
(
"cartonId"
);
String
box
Id
=
paramMap
.
get
(
"cartonId"
);
DataLog
dataLog
=
dataLogManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"barcode"
).
is
(
carton
Id
).
and
(
"type"
).
is
(
OP
.
CHECKOUT
)));
DataLog
dataLog
=
dataLogManager
.
findOne
(
new
Query
(
Criteria
.
where
(
"barcode"
).
is
(
box
Id
).
and
(
"type"
).
is
(
OP
.
CHECKOUT
)));
if
(
dataLog
!=
null
)
{
if
(
dataLog
!=
null
)
{
if
(
dataLog
.
isCheckOutTask
()
&&
dataLog
.
isFinished
())
{
if
(
dataLog
.
isCheckOutTask
()
&&
dataLog
.
isFinished
())
{
String
sourceId
=
dataLog
.
getSourceId
();
String
sourceId
=
dataLog
.
getSourceId
();
...
@@ -223,15 +230,31 @@ public class LineController {
...
@@ -223,15 +230,31 @@ public class LineController {
@RequestMapping
(
"/uploadCarPallInfo"
)
@RequestMapping
(
"/uploadCarPallInfo"
)
@AnonymousAccess
@AnonymousAccess
public
ResultBean
uploadCarPallInfo
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
public
ResultBean
uploadCarPallInfo
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
carton
Id
=
paramMap
.
get
(
"cartonId"
);
String
box
Id
=
paramMap
.
get
(
"cartonId"
);
String
pallet
Id
=
paramMap
.
get
(
"palletId"
);
String
carton
Id
=
paramMap
.
get
(
"palletId"
);
Map
<
String
,
String
>
cacheMap
=
dataCache
.
getCache
(
CacheNameUtil
.
CHCHE_UPLOAD_CARPALLINFO
);
log
.
info
(
"线体设备扫描到箱号["
+
boxId
+
"]和CartonId:"
+
cartonId
);
if
(
cacheMap
==
null
)
{
//1.解析条码
cacheMap
=
new
HashMap
<>();
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=2x2="
+
boxId
);
if
(
barcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
}
barcode
.
setScanCartonId
(
cartonId
);
barcodeManager
.
saveBarcode
(
barcode
);
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"手动绑定料箱和cartonId"
)
@RequestMapping
(
"/bindCartonId"
)
@AnonymousAccess
public
ResultBean
bindCartonId
(
String
boxId
,
String
cartonId
){
log
.
info
(
"手动绑定箱号["
+
boxId
+
"]和CartonId:"
+
cartonId
);
//1.解析条码
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=2x2="
+
boxId
);
if
(
barcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.invalid"
,
"条码无效"
);
}
}
cacheMap
.
put
(
cartonId
,
pallet
Id
);
barcode
.
setScanCartonId
(
carton
Id
);
dataCache
.
updateCache
(
CacheNameUtil
.
CHCHE_UPLOAD_CARPALLINFO
,
cacheMap
);
barcodeManager
.
saveBarcode
(
barcode
);
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论