Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a922a4d9
由
zshaohui
编写于
2023-11-24 15:01:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.nl料架 扫描完第一个库位 自动扫描下一个库位
2.1181获取工单增加参数
1 个父辈
bc6217b8
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
43 行增加
和
1 行删除
src/main/java/com/neotel/smfcore/core/device/bean/NLShelfOperateBean.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/custom/iriichi1081/IriichiApi.java
src/main/java/com/neotel/smfcore/core/device/bean/NLShelfOperateBean.java
查看文件 @
a922a4d
...
@@ -22,6 +22,19 @@ public class NLShelfOperateBean {
...
@@ -22,6 +22,19 @@ public class NLShelfOperateBean {
*/
*/
private
String
nextPosId
;
private
String
nextPosId
;
/**
* 上一个库位的Id,用于自动推荐库位
*/
private
String
lastPosId
;
public
String
getLastPosId
()
{
return
lastPosId
;
}
public
void
setLastPosId
(
String
lastPosId
)
{
updateOpTime
();
this
.
lastPosId
=
lastPosId
;
}
public
StoragePos
getOpPos
()
{
public
StoragePos
getOpPos
()
{
return
opPos
;
return
opPos
;
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
a922a4d
...
@@ -5,6 +5,7 @@ import com.google.common.base.Strings;
...
@@ -5,6 +5,7 @@ import com.google.common.base.Strings;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.device.bean.NLShelfOperateBean
;
import
com.neotel.smfcore.core.device.bean.NLShelfOperateBean
;
...
@@ -314,6 +315,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -314,6 +315,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
NLShelfOperateBean
operateBean
=
getOperateBean
(
token
);
NLShelfOperateBean
operateBean
=
getOperateBean
(
token
);
operateBean
.
setOpPos
(
pos
);
operateBean
.
setOpPos
(
pos
);
operateBean
.
setPosToClose
(
pos
);
operateBean
.
setPosToClose
(
pos
);
operateBean
.
setLastPosId
(
pos
.
getId
());
shelfPutInBeanMap
.
put
(
token
,
operateBean
);
shelfPutInBeanMap
.
put
(
token
,
operateBean
);
log
.
info
(
ptoken
+
":库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
);
log
.
info
(
ptoken
+
":库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
);
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.tipScanReel"
,
"库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
,
new
String
[]{
pos
.
getPosName
()},
pos
.
getPosName
());
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.tipScanReel"
,
"库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
,
new
String
[]{
pos
.
getPosName
()},
pos
.
getPosName
());
...
@@ -412,10 +414,35 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -412,10 +414,35 @@ public class NLShelfHandler extends BaseDeviceHandler {
NLShelfOperateBean
operateBean
=
getOperateBean
(
token
);
NLShelfOperateBean
operateBean
=
getOperateBean
(
token
);
StoragePos
opPos
=
operateBean
.
getOpPos
();
StoragePos
opPos
=
operateBean
.
getOpPos
();
if
(
opPos
==
null
)
{
if
(
opPos
==
null
)
{
String
lastPosId
=
operateBean
.
getLastPosId
();
if
(
StringUtils
.
isBlank
(
lastPosId
)){
//未扫描库位
//未扫描库位
log
.
info
(
ptoken
+
":条码["
+
code
+
"],请先扫描库位码"
);
log
.
info
(
ptoken
+
":条码["
+
code
+
"],请先扫描库位码"
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
}
else
{
}
Long
nextPosId
=
Long
.
valueOf
(
lastPosId
)
+
1
;
StoragePos
nextPos
=
storagePosManager
.
get
(
String
.
valueOf
(
nextPosId
));
if
(
nextPos
!=
null
){
Collection
<
String
>
excludePosIds
=
taskService
.
excludePosIds
();
if
(
excludePosIds
.
contains
(
nextPos
.
getId
())){
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.nextPos.hasTask"
,
"库位[{0}]已有任务,请重新扫描库位码"
,
new
String
[]{
nextPos
.
getPosName
()});
}
/*Storage storage = dataCache.getStorageById(nextPos.getStorageId());
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), nextPos.getW(), nextPos.getH())){
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight();
String posSize = nextPos.getW() + "x" + nextPos.getH();
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName(),posSize, reelSize},request.getLocale(), "下一库位["+nextPos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码");
}*/
opPos
=
nextPos
;
openAndCloseLights
(
token
,
opPos
,
putInColor
,
delayCloseTime
);
operateBean
.
setOpPos
(
opPos
);
operateBean
.
setPosToClose
(
opPos
);
operateBean
.
setLastPosId
(
opPos
.
getId
());
shelfPutInBeanMap
.
put
(
token
,
operateBean
);
}
}
if
(
opPos
!=
null
){
Storage
currentStorage
=
dataCache
.
getStorageById
(
opPos
.
getStorageId
());
Storage
currentStorage
=
dataCache
.
getStorageById
(
opPos
.
getStorageId
());
//入库单验证
//入库单验证
ResultBean
resultBean
=
inListCache
.
inListValidate
(
currentStorage
.
getInListName
(),
barcode
.
getPartNumber
()
);
ResultBean
resultBean
=
inListCache
.
inListValidate
(
currentStorage
.
getInListName
(),
barcode
.
getPartNumber
()
);
...
@@ -438,6 +465,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -438,6 +465,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
log
.
error
(
"Error:"
+
e
.
getMessage
());
log
.
error
(
"Error:"
+
e
.
getMessage
());
return
ResultBean
.
newErrorResult
(
1
,
e
.
getMessage
(),
e
.
getMessage
(),
e
.
getMsgParam
());
return
ResultBean
.
newErrorResult
(
1
,
e
.
getMessage
(),
e
.
getMessage
(),
e
.
getMsgParam
());
}
}
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
}
}
/**
/**
...
...
src/main/java/com/neotel/smfcore/custom/iriichi1081/IriichiApi.java
查看文件 @
a922a4d
...
@@ -67,6 +67,7 @@ public class IriichiApi extends BaseSmfApiListener {
...
@@ -67,6 +67,7 @@ public class IriichiApi extends BaseSmfApiListener {
"?customloadmethod=IR_GetJobMaterialPickListSp"
+
"?customloadmethod=IR_GetJobMaterialPickListSp"
+
"&readonly=true"
+
"&readonly=true"
+
"&loadtype=NEXT"
+
"&loadtype=NEXT"
+
"&RowCap=-1"
+
"&customloadmethodparms="
+
orderNumber
,
headerMap
,
null
);
"&customloadmethodparms="
+
orderNumber
,
headerMap
,
null
);
log
.
info
(
orderNumber
+
"fetchOrder结果为:"
+
result
);
log
.
info
(
orderNumber
+
"fetchOrder结果为:"
+
result
);
return
getOrderByResult
(
orderNumber
,
result
);
return
getOrderByResult
(
orderNumber
,
result
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论