Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 96b20c88
由
LN
编写于
2025-07-02 16:10:16 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.PCB每次都以标签数量为准。
2. LinePrep 页面API验证失败时数量显示错误问题。再次进入时未进入重试页面问题。
1 个父辈
1abbc9a1
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
43 行增加
和
15 行删除
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronPreTaskController.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
96b20c8
...
@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
...
@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.barcode.service.manager.IComponentManager;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.custom.micron1053.bean.ExpConfig
;
import
com.neotel.smfcore.custom.micron1053.bean.ExpConfig
;
import
com.neotel.smfcore.custom.micron1053.util.MicronDataCache
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -306,7 +307,11 @@ public class CodeResolve {
...
@@ -306,7 +307,11 @@ public class CodeResolve {
//如果点过料,不再更新数量
//如果点过料,不再更新数量
if
(
currentLabelAmount
!=
lastLabelAmount
)
{
if
(
currentLabelAmount
!=
lastLabelAmount
)
{
barcode
.
setLabelAmount
(
currentLabelAmount
);
barcode
.
setLabelAmount
(
currentLabelAmount
);
if
(
barcode
.
getXrayCount
()
>
0
)
{
//如果是PCB,直接更新数量
if
(
MicronDataCache
.
GetReelType
(
barcode
.
getPlateSize
(),
barcode
.
getHeight
()).
equals
(
MicronDataCache
.
PCB
))
{
log
.
info
(
"重新设置PCB"
+
codeBeanFromRule
.
getCodeStr
()
+
"标签数量和实时数量为:"
+
currentLabelAmount
+
",点料次数="
+
barcode
.
getXrayCount
());
barcode
.
setAmount
(
currentLabelAmount
);
}
else
if
(
barcode
.
getXrayCount
()
>
0
)
{
log
.
info
(
"重新设置"
+
codeBeanFromRule
.
getCodeStr
()
+
"标签数量和实时数量为:"
+
currentLabelAmount
+
",点料次数="
+
barcode
.
getXrayCount
());
log
.
info
(
"重新设置"
+
codeBeanFromRule
.
getCodeStr
()
+
"标签数量和实时数量为:"
+
currentLabelAmount
+
",点料次数="
+
barcode
.
getXrayCount
());
barcode
.
setAmount
(
currentLabelAmount
);
barcode
.
setAmount
(
currentLabelAmount
);
}
else
{
}
else
{
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
查看文件 @
96b20c8
...
@@ -451,7 +451,10 @@ public class MicronApi {
...
@@ -451,7 +451,10 @@ public class MicronApi {
List
<
Material
>
materialList
=
new
ArrayList
<>();
List
<
Material
>
materialList
=
new
ArrayList
<>();
if
(
Debug
)
{
if
(
Debug
)
{
materialList
.
add
(
new
Material
(
"serialNum1"
,
"partNumber1"
));
materialList
.
add
(
new
Material
(
"ASCH240312AV007472"
,
"510-502260A"
));
materialList
.
add
(
new
Material
(
"ASA240326052256333"
,
"510-502259A"
));
materialList
.
add
(
new
Material
(
"240301M1000000358"
,
"511-500804D"
));
materialList
.
add
(
new
Material
(
"PFF4130CE7T19"
,
"511-500839D"
));
return
materialList
;
return
materialList
;
}
}
url
=
MessageFormat
.
format
(
url
,
operationId
,
linePrepOrderId
);
url
=
MessageFormat
.
format
(
url
,
operationId
,
linePrepOrderId
);
...
@@ -827,9 +830,9 @@ public class MicronApi {
...
@@ -827,9 +830,9 @@ public class MicronApi {
for
(
Material
m
:
for
(
Material
m
:
materialList
)
{
materialList
)
{
TrackStatus
trackStatus
=
new
TrackStatus
();
TrackStatus
trackStatus
=
new
TrackStatus
();
trackStatus
.
setSuccess
(
tru
e
);
trackStatus
.
setSuccess
(
fals
e
);
trackStatus
.
setDescription
(
""
);
trackStatus
.
setDescription
(
"
api010 fail
"
);
trackStatus
.
setMaterialStatus
(
"
success
"
);
trackStatus
.
setMaterialStatus
(
"
fail
"
);
trackStatus
.
setPartNumber
(
m
.
getPartNumber
());
trackStatus
.
setPartNumber
(
m
.
getPartNumber
());
trackStatus
.
setSerialNum
(
m
.
getSerialNum
());
trackStatus
.
setSerialNum
(
m
.
getSerialNum
());
statusList
.
add
(
trackStatus
);
statusList
.
add
(
trackStatus
);
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronPreTaskController.java
查看文件 @
96b20c8
...
@@ -46,10 +46,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
...
@@ -46,10 +46,8 @@ import org.springframework.data.mongodb.core.query.Criteria;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.ArrayList
;
import
java.text.SimpleDateFormat
;
import
java.util.Collection
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Slf4j
@Slf4j
...
@@ -99,6 +97,8 @@ public class MicronPreTaskController {
...
@@ -99,6 +97,8 @@ public class MicronPreTaskController {
@GetMapping
(
"/getTaskId"
)
@GetMapping
(
"/getTaskId"
)
public
ResultBean
task
(
String
mode
)
throws
ApiException
{
public
ResultBean
task
(
String
mode
)
throws
ApiException
{
//返回0,无数据,返回1:需要选择,返回2,已出库。
//判断是否验证
//判断是否验证
if
(!
MicronApi
.
isEnable
())
{
if
(!
MicronApi
.
isEnable
())
{
return
ResultBean
.
newErrorResult
(
9
,
"smfcore.micron.apiClose"
,
" Not yet open"
);
return
ResultBean
.
newErrorResult
(
9
,
"smfcore.micron.apiClose"
,
" Not yet open"
);
...
@@ -218,19 +218,37 @@ public class MicronPreTaskController {
...
@@ -218,19 +218,37 @@ public class MicronPreTaskController {
itemList
.
add
(
item
);
itemList
.
add
(
item
);
}
}
LiteOrder
liteOrder
=
new
LiteOrder
();
LiteOrder
liteOrder
=
new
LiteOrder
();
liteOrder
.
setOrderNo
(
operationId
);
String
orderNo
=
operationId
;
liteOrder
.
setOrderNo
(
orderNo
);
LiteOrder
dbOrder
=
liteOrderManager
.
findByOrderNo
(
orderNo
);
if
(
dbOrder
!=
null
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
//把名字改为带时间的
String
newOrderNo
=
orderNo
+
"-"
+
format
.
format
(
new
Date
());
dbOrder
=
liteOrderManager
.
findByOrderNo
(
newOrderNo
);
if
(
dbOrder
!=
null
)
{
//工单名重复,直接返回
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.micron.operationFailure"
,
"操作失败"
);
}
else
{
orderNo
=
newOrderNo
;
}
}
liteOrder
.
setOrderNo
(
orderNo
);
liteOrder
.
setMode
(
mode
);
liteOrder
.
setMode
(
mode
);
liteOrder
.
setOperationId
(
operationId
);
liteOrder
.
setOperationId
(
operationId
);
liteOrder
.
setOrderItems
(
itemList
);
liteOrder
.
setOrderItems
(
itemList
);
liteOrder
.
setStatus
(
LITEORDER_STATUS
.
NEW
);
liteOrder
.
setStatus
(
LITEORDER_STATUS
.
NEW
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
liteOrder
=
liteOrderManager
.
createWithItems
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
liteOrderCache
.
addOrderToMap
(
liteOrder
);
log
.
info
(
"submit 勾选后,生成工单:["
+
o
perationId
+
"]["
+
mode
+
"]"
);
log
.
info
(
"submit 勾选后,生成工单:["
+
o
rderNo
+
"]["
+
mode
+
"]"
);
//开始查询是否可以出库
//开始查询是否可以出库
String
msg
=
liteOrderCache
.
preTaskCheckOut
(
liteOrder
,
operationId
,
materialList
,
false
);
String
msg
=
liteOrderCache
.
preTaskCheckOut
(
liteOrder
,
operationId
,
materialList
,
false
);
log
.
info
(
"submit 工单:["
+
orderNo
+
"]["
+
mode
+
"]执行结果:"
+
msg
);
}
}
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.micron.operationFailure"
,
"操作失败"
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.micron.operationFailure"
,
"操作失败"
);
}
}
...
@@ -464,9 +482,11 @@ public class MicronPreTaskController {
...
@@ -464,9 +482,11 @@ public class MicronPreTaskController {
int
ngQty
=
0
;
int
ngQty
=
0
;
int
tranFailQty
=
0
;
int
tranFailQty
=
0
;
int
successQty
=
0
;
int
successQty
=
0
;
if
(
item
.
getStatus
()==
OrderItemStatus
.
notify_fail
||
item
.
getStatus
()==
OrderItemStatus
.
cancel
){
if
(
item
.
getStatus
().
equalsIgnoreCase
(
OrderItemStatus
.
notify_fail
)||
item
.
getStatus
().
equalsIgnoreCase
(
OrderItemStatus
.
cancel
)||
item
.
getStatus
().
equalsIgnoreCase
(
OrderItemStatus
.
shortage
)){
ngQty
=
item
.
getNeedReelCount
();
ngQty
=
item
.
getNeedReelCount
();
}
else
if
(
item
.
getStatus
()
==
OrderItemStatus
.
executFail
)
}
else
if
(
item
.
getStatus
()
.
equalsIgnoreCase
(
OrderItemStatus
.
executFail
)
)
{
{
tranFailQty
=
item
.
getNeedReelCount
();
tranFailQty
=
item
.
getNeedReelCount
();
}
else
{
}
else
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论