Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d43f041b
由
LN
编写于
2023-03-24 15:01:52 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
eda0cbc4
e8cd8960
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
140 行增加
和
5 行删除
src/main/java/com/neotel/smfcore/common/init/MenuInit.java
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/custom/smdbox/SmdboxApi.java
src/main/java/com/neotel/smfcore/common/init/MenuInit.java
查看文件 @
d43f041
...
...
@@ -123,11 +123,11 @@ public class MenuInit {
addDefaultFunctionMenu
(
1
,
out
,
"UID出库"
,
"singleOuput"
,
"neolight/singleOuput/index"
,
"export1"
,
DEFAULT_SHOW_MENU
);
addDefaultFunctionMenu
(
2
,
out
,
"PN出库"
,
"tacticsOuput"
,
"neolight/tacticsOuput/index"
,
"tacticsOuput"
,
DEFAULT_SHOW_MENU
);
addDefaultFunctionMenu
(
1
,
poutOut
,
"工单出库"
,
"workOrder"
,
"neolight/workOrder/index"
,
"orderOut"
);
addDefaultFunctionMenu
(
1
,
poutOut
,
"工单出库"
,
"workOrder"
,
"neolight/workOrder/index"
,
"orderOut"
,
DEFAULT_SHOW_MENU
);
addDefaultFunctionMenu
(
2
,
poutOut
,
"库位出库"
,
"posOutput"
,
"system/posOutput/index"
,
"swagger"
);
addDefaultFunctionMenu
(
3
,
poutOut
,
"物料标签"
,
"labelOuput"
,
"neolight/labelOuput/index"
,
"mgroup"
);
addDefaultFunctionMenu
(
4
,
poutOut
,
"料盒操作"
,
"materialBox"
,
"neolight/materialBox/index"
,
"mIbox"
);
addDefaultFunctionMenu
(
12
,
poutOut
,
"出库策略"
,
"outSetting"
,
"system/outSetting/index"
,
"outSet"
);
addDefaultFunctionMenu
(
12
,
poutOut
,
"出库策略"
,
"outSetting"
,
"system/outSetting/index"
,
"outSet"
,
DEFAULT_SHOW_MENU
);
// Menu orderSet = new Menu(, "orderSetting", "工单设置", "orderSetting", "system/orderSetting/index", "sysSet");
addDefaultFunctionMenu
(
5
,
poutOut
,
"入库单"
,
"inList"
,
"system/inList/index"
,
"headIcon"
);
addDefaultFunctionMenu
(
6
,
poutOut
,
"物料入库"
,
"putIn"
,
"system/putIn/index"
,
"headIcon"
);
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/MimoBoxHandler.java
查看文件 @
d43f041
...
...
@@ -10,7 +10,9 @@ import com.neotel.smfcore.common.utils.Constants;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
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.enums.BOX_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
...
...
@@ -84,6 +86,37 @@ public class MimoBoxHandler extends BaseDeviceHandler {
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
查看文件 @
d43f041
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
);
}
}
src/main/java/com/neotel/smfcore/custom/smdbox/SmdboxApi.java
查看文件 @
d43f041
...
...
@@ -40,11 +40,11 @@ public class SmdboxApi extends BaseSmfApiListener {
@Override
public
void
inTaskStatusChange
(
String
inNotifyUrl
,
DataLog
task
)
{
if
(
task
.
isFinished
())
{
postInNotification
(
inNotifyUrl
,
task
.
getBarcode
(),
task
.
get
StorageI
d
());
postInNotification
(
inNotifyUrl
,
task
.
getBarcode
(),
task
.
get
Ci
d
());
}
}
private
boolean
postInNotification
(
String
url
,
String
reelBarcode
,
String
storageI
d
)
{
private
boolean
postInNotification
(
String
url
,
String
reelBarcode
,
String
ci
d
)
{
try
{
if
(
com
.
google
.
common
.
base
.
Strings
.
isNullOrEmpty
(
url
))
{
...
...
@@ -54,7 +54,7 @@ public class SmdboxApi extends BaseSmfApiListener {
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
reelBarcode
);
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"RI"
,
reelBarcode
);
params
.
put
(
"LOC"
,
storageI
d
);
params
.
put
(
"LOC"
,
ci
d
);
if
(
barcode
!=
null
)
{
params
.
put
(
"PN"
,
barcode
.
getPartNumber
());
params
.
put
(
"QTY"
,
barcode
.
getAmount
());
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论