Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit debdf76b
由
LN
编写于
2024-08-19 15:37:33 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.过期日志改为23:59:59.
2.API201改为Get. 3.入库取消的任务统计为NG. 4.ControlledDispatch创建工单需要验证opID
1 个父辈
185d7428
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
39 行增加
和
13 行删除
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/inList/service/po/InListItem.java
src/main/java/com/neotel/smfcore/core/order/listener/DefaultOrderFileListener.java
src/main/java/com/neotel/smfcore/core/order/listener/IOrderFileListener.java
src/main/java/com/neotel/smfcore/core/order/util/OrderFileWatch.java
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
src/main/java/com/neotel/smfcore/custom/micron1053/bean/MicronResult.java
src/main/java/com/neotel/smfcore/custom/micron1053/loading/util/LoadingUtil.java
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronDispatchController.java
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronPreTaskController.java
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
debdf76
...
...
@@ -526,6 +526,9 @@ public class StatusBean {
public
void
MsgDataProcess
()
{
try
{
if
(
ObjectUtil
.
isEmpty
(
msgCode
)){
msgCode
=
""
;
}
//消息格式处理
if
(
getMsgList
()
==
null
&&
ObjectUtil
.
isNotEmpty
(
msg
))
{
msgList
=
new
ArrayList
<>();
...
...
src/main/java/com/neotel/smfcore/core/inList/service/po/InListItem.java
查看文件 @
debdf76
...
...
@@ -106,7 +106,7 @@ public class InListItem extends BasePo implements Serializable {
public
boolean
isSuccess
(){
return
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
Success
)||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
PutIn
)||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
PutEnd
)||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
Wait
)
||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
Cancel
)
;
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
PutEnd
)||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
Wait
);
}
public
boolean
isXray
()
{
...
...
@@ -114,7 +114,7 @@ public class InListItem extends BasePo implements Serializable {
}
public
boolean
isNg
()
{
return
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
API001NG
)||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
NG
);
return
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
API001NG
)||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
NG
)
||
state
.
equalsIgnoreCase
(
INITEM_STATUS
.
Cancel
)
;
}
public
boolean
isFailure
()
{
...
...
src/main/java/com/neotel/smfcore/core/order/listener/DefaultOrderFileListener.java
查看文件 @
debdf76
...
...
@@ -105,7 +105,7 @@ public class DefaultOrderFileListener implements IOrderFileListener {
@Override
public
boolean
handleOrderFile
(
File
orderFile
,
String
mode
,
String
reason
)
{
public
boolean
handleOrderFile
(
File
orderFile
,
String
mode
,
String
reason
,
String
operId
)
{
String
fileName
=
orderFile
.
getName
();
//String backupFileName = fileName +"_" + System.currentTimeMillis();
//看数据库是否已有此工单
...
...
@@ -163,7 +163,8 @@ public class DefaultOrderFileListener implements IOrderFileListener {
}
LiteOrder
liteOrder
=
new
LiteOrder
(
orderName
,
allItems
);
liteOrder
.
setMode
(
mode
);
log
.
info
(
"watchOrderDir,mode=["
+
mode
+
"],reason=["
+
reason
+
"]:新增加订单:"
+
liteOrder
.
getOrderNo
()
+
",共"
+
allItems
.
size
()
+
"条工单详情"
);
liteOrder
.
setOperationId
(
operId
);
log
.
info
(
"watchOrderDir,mode=["
+
mode
+
"],reason=["
+
reason
+
"],opId=["
+
operId
+
"]:新增加订单:"
+
liteOrder
.
getOrderNo
()
+
",共"
+
allItems
.
size
()
+
"条工单详情"
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
...
...
src/main/java/com/neotel/smfcore/core/order/listener/IOrderFileListener.java
查看文件 @
debdf76
...
...
@@ -9,6 +9,6 @@ public interface IOrderFileListener {
boolean
handleOrderFile
(
File
orderFile
);
boolean
handleOrderFile
(
File
orderFile
,
String
mode
,
String
reason
);
boolean
handleOrderFile
(
File
orderFile
,
String
mode
,
String
reason
,
String
operId
);
}
src/main/java/com/neotel/smfcore/core/order/util/OrderFileWatch.java
查看文件 @
debdf76
...
...
@@ -131,11 +131,11 @@ public class OrderFileWatch {
* @param orderFile
* @return
*/
public
boolean
handleOrderFile
(
File
orderFile
,
String
mode
,
String
reason
){
public
boolean
handleOrderFile
(
File
orderFile
,
String
mode
,
String
reason
,
String
operId
){
log
.
info
(
"开始处理Order文件:"
+
orderFile
.
getAbsolutePath
());
for
(
IOrderFileListener
orderFileListener
:
orderFileListenerList
)
{
boolean
result
=
orderFileListener
.
handleOrderFile
(
orderFile
,
mode
,
reason
);
boolean
result
=
orderFileListener
.
handleOrderFile
(
orderFile
,
mode
,
reason
,
operId
);
if
(
result
){
return
true
;
}
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
查看文件 @
debdf76
...
...
@@ -724,7 +724,7 @@ public class MicronApi {
log
.
info
(
"API009 ,接口通信失败:"
+
errMsg
);
for
(
Barcode
barcode
:
barcodeList
)
{
resultMap
.
put
(
barcode
.
getBarcode
(),
new
MaterialStatus
(
barcode
.
getBarcode
(),
barcode
.
getPartNumber
(),
""
,
errMsg
,
tru
e
));
resultMap
.
put
(
barcode
.
getBarcode
(),
new
MaterialStatus
(
barcode
.
getBarcode
(),
barcode
.
getPartNumber
(),
""
,
errMsg
,
fals
e
));
}
...
...
@@ -937,7 +937,8 @@ public class MicronApi {
try
{
log
.
info
(
"调用MES接口 API201: url="
+
url
+
" "
);
MicronResult
result
=
HttpHelper
.
postMicronJson
(
url
,
null
);
// MicronResult result = HttpHelper.postMicronJson(url, null);
MicronResult
result
=
HttpHelper
.
getMicronJson
(
url
);
if
(
result
.
isOk
())
{
return
""
;
}
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/bean/MicronResult.java
查看文件 @
debdf76
...
...
@@ -160,6 +160,10 @@ public class MicronResult implements Serializable {
detail
=
"detail:"
+
detail
;
}
if
(
ObjectUtil
.
isEmpty
(
errCode
)&&
ObjectUtil
.
isEmpty
(
errMsg
)&&
ObjectUtil
.
isEmpty
(
detail
)){
return
""
;
}
return
errCode
+
";"
+
errMsg
+
";"
+
detail
;
}
catch
(
Exception
exception
)
{
log
.
error
(
"出错:"
+
exception
);
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/loading/util/LoadingUtil.java
查看文件 @
debdf76
...
...
@@ -176,6 +176,11 @@ public class LoadingUtil {
public
InListItem
updateItemState
(
String
barcode
,
String
posName
,
String
s
,
String
ngMsg
)
{
if
(
ObjectUtil
.
isEmpty
(
ngMsg
)){
if
(
s
.
equalsIgnoreCase
(
INITEM_STATUS
.
Cancel
)){
ngMsg
=
"Task canceled"
;
}
}
InList
inList
=
getInlist
();
if
(
inList
==
null
)
{
...
...
@@ -204,7 +209,7 @@ public class LoadingUtil {
item
.
setState
(
s
);
item
=
inListItemManager
.
save
(
item
);
result
=
item
;
log
.
info
(
" 更新入库单["
+
inList
.
getName
()
+
"]:条码 ["
+
item
.
getRi
()
+
"]库位["
+
item
.
getPosName
()
+
"]的状态="
+
s
);
log
.
info
(
" 更新入库单["
+
inList
.
getName
()
+
"]:条码 ["
+
item
.
getRi
()
+
"]库位["
+
item
.
getPosName
()
+
"]的状态="
+
s
+
",ngmsg="
+
ngMsg
);
}
}
inListItems
.
add
(
item
);
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronDispatchController.java
查看文件 @
debdf76
...
...
@@ -193,6 +193,11 @@ private IStoragePosManager storagePosManager;
log
.
info
(
"outSideSubmit 未找到mode="
+
mode
+
" 的TaskDto"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.micron.operationFailure"
,
"操作失败"
);
}
//判断是否生成,未关闭的工单
if
(
ObjectUtil
.
isEmpty
(
dto
.
getOperationId
())||
ObjectUtil
.
isEmpty
(
dto
.
getLineId
())){
log
.
info
(
"outSideSubmit 操作失败,taskDto数据不完整"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.micron.operationFailure"
,
"操作失败"
);
}
String
csv
=
"csv"
;
String
excel
=
"xlsx"
;
String
fileType
=
FileUtil
.
getExtensionName
(
orderFile
.
getOriginalFilename
());
...
...
@@ -203,7 +208,7 @@ private IStoragePosManager storagePosManager;
File
folder
=
new
File
(
properties
.
getPath
(),
"pos"
);
File
localFile
=
FileUtil
.
upload
(
orderFile
,
folder
.
getAbsolutePath
());
boolean
result
=
orderFileWatch
.
handleOrderFile
(
localFile
,
mode
,
reason
);
boolean
result
=
orderFileWatch
.
handleOrderFile
(
localFile
,
mode
,
reason
,
dto
.
getOperationId
()
);
if
(
result
)
{
dto
.
setLineId
(
reason
);
...
...
@@ -290,6 +295,7 @@ private IStoragePosManager storagePosManager;
@AnonymousAccess
@PostMapping
(
"/pnSubmit"
)
public
ResultBean
pnSubmit
(
@RequestBody
Set
<
TacticsOutDto
>
outDtoSet
)
{
//判断是否验证
if
(!
MicronApi
.
isEnable
())
{
return
ResultBean
.
newErrorResult
(
9
,
"smfcore.micron.apiClose"
,
" Not yet open"
);
...
...
@@ -310,7 +316,12 @@ private IStoragePosManager storagePosManager;
//生成工单
String
mode
=
"CTRLDISPATCH"
;
//判断是否生成,未关闭的工单
TaskDto
taskDto
=
getTaskDtoByMode
(
mode
);
if
(
taskDto
==
null
||
ObjectUtil
.
isEmpty
(
taskDto
.
getOperationId
())||
ObjectUtil
.
isEmpty
(
taskDto
.
getLineId
())){
log
.
info
(
"pnSubmit 操作失败,taskDto数据不完整"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.micron.operationFailure"
,
"操作失败"
);
}
//新增为一个工单
String
orderName
=
""
;
List
<
LiteOrder
>
orders
=
liteOrderManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"mode"
).
is
(
mode
)));
...
...
@@ -339,6 +350,7 @@ private IStoragePosManager storagePosManager;
}
LiteOrder
liteOrder
=
new
LiteOrder
(
orderName
,
items
);
liteOrder
.
setOperationId
(
taskDto
.
getOperationId
());
liteOrder
.
setMode
(
mode
);
log
.
info
(
"pnSubmit,mode=["
+
mode
+
"], 新增加订单:"
+
liteOrder
.
getOrderNo
()
+
",共"
+
items
.
size
()
+
"条工单详情"
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronPreTaskController.java
查看文件 @
debdf76
...
...
@@ -420,7 +420,7 @@ public class MicronPreTaskController {
int
ngQty
=
0
;
int
tranFailQty
=
0
;
int
successQty
=
0
;
if
(
item
.
getStatus
()==
OrderItemStatus
.
notify_fail
){
if
(
item
.
getStatus
()==
OrderItemStatus
.
notify_fail
||
item
.
getStatus
()==
OrderItemStatus
.
cancel
){
ngQty
=
item
.
getNeedReelCount
();
}
else
if
(
item
.
getStatus
()==
OrderItemStatus
.
executFail
)
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论