Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a21f4916
由
张少辉
编写于
2026-01-19 14:50:01 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.出库提交
1 个父辈
76e737b0
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
61 行增加
和
28 行删除
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
src/main/java/com/neotel/smfcore/custom/aiqingzhiyin1643/controller/AgvDeviceController.java
src/main/java/com/neotel/smfcore/custom/aiqingzhiyin1643/momo/MomoApi.java
src/main/java/com/neotel/smfcore/custom/aiqingzhiyin1643/util/BoxUtil.java
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
查看文件 @
a21f491
...
@@ -155,6 +155,12 @@ public class Barcode extends BasePo implements Serializable {
...
@@ -155,6 +155,12 @@ public class Barcode extends BasePo implements Serializable {
private
String
pidBarcode
;
private
String
pidBarcode
;
//出库增加的参数
private
String
stockoutNo
;
//出库单号
private
String
stockoutNoLine
;
//出库对应的行数
private
String
lastStockOutNum
;
//上一次出库的数量
/**
/**
* 关联条码,夹具时关联相关的物料,用于入库完成时插入相关物料
* 关联条码,夹具时关联相关的物料,用于入库完成时插入相关物料
*/
*/
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
a21f491
...
@@ -9,6 +9,8 @@ import com.neotel.smfcore.common.utils.Constants;
...
@@ -9,6 +9,8 @@ import com.neotel.smfcore.common.utils.Constants;
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.common.utils.StringUtils
;
import
com.neotel.smfcore.core.api.SmfApi
;
import
com.neotel.smfcore.core.api.SmfApi
;
import
com.neotel.smfcore.core.barcode.rest.bean.mapstruct.BarcodeMapper
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
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.StatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP
;
...
@@ -64,6 +66,9 @@ public class LiteOrderCache {
...
@@ -64,6 +66,9 @@ public class LiteOrderCache {
@Autowired
@Autowired
private
SmfApi
smfApi
;
private
SmfApi
smfApi
;
@Autowired
private
IBarcodeManager
barcodeManager
;
// //最大工单数
// //最大工单数
// public int MaxOrderCount=1;
// public int MaxOrderCount=1;
// public boolean SingleOrderMode(){
// public boolean SingleOrderMode(){
...
@@ -75,6 +80,8 @@ public class LiteOrderCache {
...
@@ -75,6 +80,8 @@ public class LiteOrderCache {
* 正在执行的liteOrderMap, key 为orderNo,value 为order
* 正在执行的liteOrderMap, key 为orderNo,value 为order
*/
*/
private
static
Map
<
String
,
LiteOrder
>
liteOrderMap
=
new
ConcurrentHashMap
<>();
private
static
Map
<
String
,
LiteOrder
>
liteOrderMap
=
new
ConcurrentHashMap
<>();
@Autowired
private
BarcodeMapper
barcodeMapper
;
public
void
loadUnEndOrderInfos
()
{
public
void
loadUnEndOrderInfos
()
{
...
@@ -625,6 +632,16 @@ public class LiteOrderCache {
...
@@ -625,6 +632,16 @@ public class LiteOrderCache {
task
.
setSo
(
cacheOrder
.
getSo
());
task
.
setSo
(
cacheOrder
.
getSo
());
task
.
setSoltNum
(
orderItem
.
getSlotNum
());
task
.
setSoltNum
(
orderItem
.
getSlotNum
());
taskService
.
addTaskToExecute
(
task
);
taskService
.
addTaskToExecute
(
task
);
//修改barcode的信息
Barcode
barcode
=
pos
.
getBarcode
();
barcode
.
setStockoutNo
(
orderNo
);
barcode
.
setStockoutNoLine
(
orderItem
.
getRowNumber
());
barcode
.
setLastStockOutNum
(
barcode
.
getAmount
()+
""
);
barcodeManager
.
saveBarcode
(
barcode
);
pos
.
setBarcode
(
barcode
);
storagePosManager
.
save
(
pos
);
}
}
//如果是RI出库,只有一盘,出完就结束
//如果是RI出库,只有一盘,出完就结束
if
(!
Strings
.
isNullOrEmpty
(
reelId
)){
if
(!
Strings
.
isNullOrEmpty
(
reelId
)){
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialBoxController.java
查看文件 @
a21f491
...
@@ -231,7 +231,7 @@ public class MaterialBoxController {
...
@@ -231,7 +231,7 @@ public class MaterialBoxController {
barcodeManager
.
save
(
barcode
);
barcodeManager
.
save
(
barcode
);
//设置料盒的数量
//设置料盒的数量
int
amount
=
barcode
.
getAmount
();
int
amount
=
b
oxB
arcode
.
getAmount
();
String
pidBarcode
=
boxBarcode
.
getPidBarcode
();
String
pidBarcode
=
boxBarcode
.
getPidBarcode
();
if
(
StringUtils
.
isEmpty
(
pidBarcode
)){
if
(
StringUtils
.
isEmpty
(
pidBarcode
)){
amount
=
0
;
amount
=
0
;
...
...
src/main/java/com/neotel/smfcore/custom/aiqingzhiyin1643/controller/AgvDeviceController.java
查看文件 @
a21f491
...
@@ -17,6 +17,7 @@ import com.neotel.smfcore.core.inList.util.InListCache;
...
@@ -17,6 +17,7 @@ import com.neotel.smfcore.core.inList.util.InListCache;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.service.manager.IDataLogManager
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
com.neotel.smfcore.custom.aiqingzhiyin1643.bean.CtuCheckOutTask
;
import
com.neotel.smfcore.custom.aiqingzhiyin1643.bean.CtuCheckOutTask
;
...
@@ -57,6 +58,9 @@ public class AgvDeviceController {
...
@@ -57,6 +58,9 @@ public class AgvDeviceController {
private
DataCache
dataCache
;
private
DataCache
dataCache
;
@Autowired
@Autowired
private
IDataLogManager
dataLogManager
;
@Autowired
private
MomoApi
momoApi
;
private
MomoApi
momoApi
;
@Autowired
@Autowired
...
@@ -224,8 +228,10 @@ public class AgvDeviceController {
...
@@ -224,8 +228,10 @@ public class AgvDeviceController {
taskService
.
updateFinishedTask
(
opTask
);
taskService
.
updateFinishedTask
(
opTask
);
if
(!
opTask
.
isNotifyMomo
())
{
if
(!
opTask
.
isNotifyMomo
())
{
opTask
.
setNotifyMomo
(
true
);
opTask
.
setNotifyMomo
(
true
);
taskService
.
updateFinishedTask
(
opTask
);
taskService
.
moveTaskToFinished
(
opTask
);
dataLogManager
.
save
(
opTask
);
}
}
if
(
OP_STATUS
.
FINISHED
.
name
().
equals
(
statusStr
))
{
if
(
OP_STATUS
.
FINISHED
.
name
().
equals
(
statusStr
))
{
//已完成,从完成缓存中清除
//已完成,从完成缓存中清除
taskService
.
removeFinishedTask
(
opTask
);
taskService
.
removeFinishedTask
(
opTask
);
...
...
src/main/java/com/neotel/smfcore/custom/aiqingzhiyin1643/momo/MomoApi.java
查看文件 @
a21f491
...
@@ -128,33 +128,34 @@ public class MomoApi extends BaseSmfApiListener {
...
@@ -128,33 +128,34 @@ public class MomoApi extends BaseSmfApiListener {
@Override
@Override
public
void
outTaskStatusChange
(
String
outNotifyUrl
,
DataLog
task
)
{
public
void
outTaskStatusChange
(
String
outNotifyUrl
,
DataLog
task
)
{
if
(!
task
.
isNotifyMomo
())
{
if
(!
task
.
isNotifyMomo
())
{
/*Map<String, Object> paramMap = new HashMap<>();
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
task
.
getBarcode
());
paramMap.put("StockoutNo", task.getStockoutNo());
if
(
barcode
!=
null
&&
StringUtils
.
isNotEmpty
(
barcode
.
getStockoutNo
())){
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
List<Map<String, Object>> DetailItems = new ArrayList<>();
paramMap
.
put
(
"StockoutNo"
,
barcode
.
getStockoutNo
());
Map<String, Object> itemMap = new HashMap<>();
List
<
Map
<
String
,
Object
>>
DetailItems
=
new
ArrayList
<>();
if (StringUtils.isNotEmpty(task.getContainer())) {
Map
<
String
,
Object
>
itemMap
=
new
HashMap
<>();
itemMap.put("Container", task.getContainer());
} else {
if
(
StringUtils
.
isNotEmpty
(
barcode
.
getPidBarcode
()))
{
itemMap.put("Container", task.getBarcode());
itemMap
.
put
(
"Container"
,
barcode
.
getPidBarcode
());
}
else
{
itemMap
.
put
(
"Container"
,
task
.
getBarcode
());
}
//itemMap.put("Container", task.getBarcode());
itemMap
.
put
(
"ProductName"
,
barcode
.
getDescription
());
itemMap
.
put
(
"ProductNo"
,
task
.
getPartNumber
());
itemMap
.
put
(
"QuantityOnHand"
,
task
.
getNum
());
itemMap
.
put
(
"StockoutNoLine"
,
barcode
.
getStockoutNoLine
());
DetailItems
.
add
(
itemMap
);
paramMap
.
put
(
"DetailItems"
,
DetailItems
);
log
.
info
(
"接口5:MOM接收WMS的出库结果,请求参数为:"
+
JSON
.
toJSONString
(
paramMap
));
try
{
String
resultStr
=
HttpHelper
.
postJson
(
outNotifyUrl
,
paramMap
);
log
.
info
(
"接口5:MOM接收WMS的出库结果,返回参数为:"
+
resultStr
);
}
catch
(
ApiException
e
)
{
log
.
error
(
"接口5:MOM接收WMS的出库结果,请求异常:"
,
e
);
}
}
}
//itemMap.put("Container", task.getBarcode());
itemMap.put("ProductName", task.getProductName());
itemMap.put("ProductNo", task.getPartNumber());
itemMap.put("QuantityOnHand", task.getNum());
itemMap.put("StockoutNoLine", task.getStockoutNoLine());
DetailItems.add(itemMap);
paramMap.put("DetailItems", DetailItems);
log.info("接口5:MOM接收WMS的出库结果,请求参数为:" + JSON.toJSONString(paramMap));
try {
String resultStr = HttpHelper.postJson(outNotifyUrl, paramMap);
log.info("接口5:MOM接收WMS的出库结果,返回参数为:" + resultStr);
} catch (ApiException e) {
log.error("接口5:MOM接收WMS的出库结果,请求异常:", e);
}*/
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/custom/aiqingzhiyin1643/util/BoxUtil.java
查看文件 @
a21f491
...
@@ -77,6 +77,9 @@ public class BoxUtil {
...
@@ -77,6 +77,9 @@ public class BoxUtil {
barcode
.
setInOpor
(
""
);
barcode
.
setInOpor
(
""
);
barcode
.
setCheckOutDate
(
null
,
""
);
barcode
.
setCheckOutDate
(
null
,
""
);
barcode
.
setPosName
(
opTask
.
getPosName
());
barcode
.
setPosName
(
opTask
.
getPosName
());
barcode
.
setStockoutNoLine
(
""
);
barcode
.
setLastStockOutNum
(
""
);
barcode
.
setStockoutNo
(
""
);
storagePos
.
setBarcode
(
barcode
);
storagePos
.
setBarcode
(
barcode
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
barcode
=
barcodeManager
.
save
(
barcode
);
barcode
=
barcodeManager
.
save
(
barcode
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论