Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit bfa85f11
由
zshaohui
编写于
2023-03-23 16:49:06 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.增加安波福接口:出库状态是OUT_BOX或者是FINISHED通知
2.重写mimo出入库接口,OUT_FINISHED出库状态由FINISHED改成OUT_BOX
1 个父辈
ed542779
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
135 行增加
和
0 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/MimoBoxHandler.java
src/main/java/com/neotel/smfcore/custom/aptiv1077/AptivApi.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/MimoBoxHandler.java
查看文件 @
bfa85f1
...
@@ -10,7 +10,9 @@ import com.neotel.smfcore.common.utils.Constants;
...
@@ -10,7 +10,9 @@ import com.neotel.smfcore.common.utils.Constants;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
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.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.enums.BOX_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
...
@@ -84,6 +86,37 @@ public class MimoBoxHandler extends BaseDeviceHandler {
...
@@ -84,6 +86,37 @@ public class MimoBoxHandler extends BaseDeviceHandler {
return
statusBean
;
return
statusBean
;
}
}
@Override
protected
StatusBean
handleInOutFinished
(
StatusBean
statusBean
)
{
Map
<
String
,
BoxStatusBean
>
statusOfBoxes
=
statusBean
.
getBoxStatus
();
if
(
statusOfBoxes
!=
null
)
{
for
(
BoxStatusBean
boxStatus
:
statusOfBoxes
.
values
())
{
try
{
//出库入库完成处理
int
status
=
boxStatus
.
getStatus
();
String
posName
=
boxStatus
.
getPosId
();
String
barcode
=
boxStatus
.
getBarcode
();
int
executeTime
=
boxStatus
.
getExecuteTime
();
if
((!
Strings
.
isNullOrEmpty
(
posName
))
||
(!
Strings
.
isNullOrEmpty
(
barcode
)))
{
//客户端发一次完成之后,会发空的 posName,不需要处理
if
(
BOX_STATUS
.
IN_FINISHED
==
status
)
{
//入仓完成
finishedPutIn
(
statusBean
.
getCid
(),
posName
,
barcode
,
executeTime
);
}
else
if
(
BOX_STATUS
.
IN_FAILED
==
status
)
{
//入库失败
//暂不处理
}
else
if
(
BOX_STATUS
.
OUT_FINISHED
==
status
)
{
//出仓完成
finishedOutPos
(
statusBean
.
getCid
(),
posName
,
barcode
,
executeTime
,
OP_STATUS
.
OUT_BOX
);
}
else
if
(
BOX_STATUS
.
OUT_END
==
status
)
{
//出库完成(放到仓门口
endOutTask
(
statusBean
.
getCid
(),
posName
,
barcode
);
}
}
}
catch
(
ValidateException
e
)
{
log
.
error
(
"更新状态时出错"
+
e
.
getMessage
());
}
}
}
return
statusBean
;
}
/**
/**
* 出库紧急物料
* 出库紧急物料
*/
*/
...
...
src/main/java/com/neotel/smfcore/custom/aptiv1077/AptivApi.java
0 → 100644
查看文件 @
bfa85f1
package
com
.
neotel
.
smfcore
.
custom
.
aptiv1077
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.HttpHelper
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.core.api.bean.ApiResult
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrderItem
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.custom.neotel.NeotelApi
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.Map
;
@Service
@Slf4j
public
class
AptivApi
extends
NeotelApi
{
@Autowired
private
ILiteOrderItemManager
liteOrderItemManager
;
@Override
public
boolean
isForThisApi
(
String
apiName
)
{
return
apiName
!=
null
&&
apiName
.
equalsIgnoreCase
(
"aptiv"
);
}
@Override
public
void
outTaskStatusChange
(
String
outNotifyUrl
,
DataLog
task
)
{
String
requestParams
=
""
;
String
responseInfo
=
""
;
if
(
task
.
isOutBox
()
||
task
.
isFinished
())
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"reelId"
,
task
.
getBarcode
());
paramMap
.
put
(
"partNum"
,
task
.
getPartNumber
());
paramMap
.
put
(
"qty"
,
task
.
getNum
()
+
""
);
paramMap
.
put
(
"boxNo"
,
task
.
getCid
());
paramMap
.
put
(
"location"
,
task
.
getPosName
());
String
hSerial
=
""
;
String
so
=
""
;
String
slotNum
=
""
;
String
feederInfo
=
""
;
String
sourceId
=
task
.
getSourceId
();
if
(
Strings
.
isNotBlank
(
sourceId
))
{
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
task
.
getSourceId
());
if
(
liteOrder
!=
null
)
{
hSerial
=
liteOrder
.
getOrderNo
();
so
=
liteOrder
.
getSo
();
}
String
subSourceId
=
task
.
getSubSourceId
();
LiteOrderItem
orderItem
=
liteOrderItemManager
.
get
(
subSourceId
);
if
(
orderItem
!=
null
)
{
slotNum
=
orderItem
.
getSlotNum
()
+
""
;
feederInfo
=
orderItem
.
getFeederInfo
();
}
}
paramMap
.
put
(
"hSerial"
,
hSerial
);
paramMap
.
put
(
"so"
,
so
);
paramMap
.
put
(
"slotNum"
,
slotNum
);
paramMap
.
put
(
"feederInfo"
,
feederInfo
);
try
{
requestParams
=
JsonUtil
.
toJsonStr
(
paramMap
);
log
.
info
(
task
.
getBarcode
()
+
"出库通知,参数"
+
requestParams
);
responseInfo
=
HttpHelper
.
postJson
(
outNotifyUrl
,
paramMap
);
log
.
info
(
task
.
getBarcode
()
+
"出库通知返回"
+
responseInfo
);
ApiResult
apiResult
=
JsonUtil
.
toObj
(
responseInfo
,
ApiResult
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"出库通知接口出错:"
+
e
.
getMessage
());
}
}
}
@Override
public
void
inTaskStatusChange
(
String
inNotifyUrl
,
DataLog
task
)
{
super
.
inTaskStatusChange
(
inNotifyUrl
,
task
);
}
@Override
public
Barcode
canPutInBeforeResolve
(
String
codeResolveUrl
,
CodeValidateParam
params
)
throws
ValidateException
{
return
super
.
canPutInBeforeResolve
(
codeResolveUrl
,
params
);
}
@Override
public
Barcode
canPutInAfterResolve
(
String
inCheckUrl
,
CodeValidateParam
params
,
Barcode
barcode
)
throws
ValidateException
{
return
super
.
canPutInAfterResolve
(
inCheckUrl
,
params
,
barcode
);
}
@Override
public
void
onOrderStatusChange
(
String
orderNotifyUrl
,
LiteOrder
liteOrder
)
{
super
.
onOrderStatusChange
(
orderNotifyUrl
,
liteOrder
);
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论