From 98c5fbdce57cf9f0914ca5fb2c659c9396d3aed6 Mon Sep 17 00:00:00 2001
From: pan <antony1029@163.com>
Date: 星期三, 03 十二月 2025 22:53:01 +0800
Subject: [PATCH] 提交
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 192 +++++++++++++++++++++++++----------------------
1 files changed, 103 insertions(+), 89 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index fe67834..956fcca 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -18,6 +18,7 @@
using AutoMapper;
using Dm.filter;
using MailKit.Search;
+using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Org.BouncyCastle.Asn1.Ocsp;
@@ -644,7 +645,7 @@
locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
}
- _locationInfoService.Repository.UpdateData(locationInfo);
+ _locationInfoService.Repository.UpdateData(locationInfo);
task.TaskStatus = TaskStatusEnum.Finish.ObjToInt();
@@ -748,7 +749,7 @@
await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
.SetColumns(it => new Dt_OutboundOrderDetail
{
- LockQuantity = currentLockQty,
+ LockQuantity = currentLockQty,
})
.Where(it => it.Id == detailId)
.ExecuteCommandAsync();
@@ -852,7 +853,7 @@
await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
.SetColumns(it => new Dt_OutboundOrderDetail
{
- OrderDetailStatus = newStatus,
+ OrderDetailStatus = newStatus,
})
.Where(it => it.Id == orderDetail.Id)
.ExecuteCommandAsync();
@@ -939,7 +940,7 @@
.SetColumns(x => new Dt_OutboundOrder
{
OrderStatus = newStatus,
- Operator = App.User.UserName,
+ Operator = App.User.UserName,
})
.Where(x => x.OrderNo == orderNo)
.ExecuteCommandAsync();
@@ -1048,7 +1049,7 @@
MaterialCode = detail.MaterielCode,
LineNo = detail.lineNo,
WarehouseCode = detail.WarehouseCode,
- Qty =0,
+ Qty = 0,
Unit = detail.BarcodeUnit,
Barcodes = new List<BarcodeInfo>()
};
@@ -1061,39 +1062,42 @@
Barcode = item.CurrentBarcode,
SupplyCode = item.SupplyCode,
BatchNo = item.BatchNo,
- Unit = item.BarcodeUnit,
+ Unit = detail.BarcodeUnit,
Qty = 0
};
// 鍗曚綅涓嶄竴鑷存椂杞崲
- if (item.BarcodeUnit != item.Unit)
+ if (detail.BarcodeUnit != detail.Unit)
{
- var convertResult = await _materialUnitService.ConvertAsync(item.MaterielCode, item.PickedQty, item.Unit, item.BarcodeUnit);
+ var convertResult = await _materialUnitService.ConvertAsync(item.MaterielCode, item.PickedQty, detail.Unit, detail.BarcodeUnit);
barModel.Unit = convertResult.Unit;
barModel.Qty = convertResult.Quantity;
}
-
+ else
+ {
+ barModel.Qty = item.PickedQty;
+ }
detailModel.Qty += barModel.Qty;
detailModel.Barcodes.Add(barModel);
}
+
+
+ allocatefeedmodel.Details.Add(detailModel);
}
+ var result = await _invokeMESService.FeedbackAllocate(allocatefeedmodel);
+ if (result != null && result.code == 200)
+ {
+ await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ .SetColumns(x => x.ReturnToMESStatus == 1)
+ .Where(x => x.OrderId == outboundOrder.Id).ExecuteCommandAsync();
- allocatefeedmodel.Details.Add(detailModel);
- }
-
- var result = await _invokeMESService.FeedbackAllocate(allocatefeedmodel);
- if (result != null && result.code == 200)
- {
- await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
- .Where(x => x.OrderId == outboundOrder.Id).ExecuteCommandAsync();
-
- await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
- .SetColumns(x => new Dt_OutboundOrder
- {
- ReturnToMESStatus = 1,
- Operator = App.User.UserName,
- }).Where(x => x.OrderNo == orderNo).ExecuteCommandAsync();
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(x => new Dt_OutboundOrder
+ {
+ ReturnToMESStatus = 1,
+ Operator = App.User.UserName,
+ }).Where(x => x.OrderNo == orderNo).ExecuteCommandAsync();
+ }
}
}
else if (outboundOrder.OrderType == OutOrderTypeEnum.ReCheck.ObjToInt())
@@ -1101,81 +1105,91 @@
//涓嶇敤鍥炰紶
}
else
- {
- var feedmodel = new FeedbackOutboundRequestModel
+ {
+ if (outboundOrder != null && outboundOrder.IsBatch == 0)
{
- reqCode = Guid.NewGuid().ToString(),
- reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- business_type = outboundOrder.BusinessType,
- factoryArea = outboundOrder.FactoryArea,
- operationType = 1,
- Operator = outboundOrder.Operator,
- orderNo = outboundOrder.UpperOrderNo,
- documentsNO = outboundOrder.OrderNo,
- status = outboundOrder.OrderStatus,
- details = new List<FeedbackOutboundDetailsModel>()
- };
-
-
- foreach (var detail in orderDetails)
- {
- // 鑾峰彇璇ユ槑缁嗗搴旂殑鏉$爜淇℃伅锛堜粠閿佸畾璁板綍锛�
- var detailLocks = await _outStockLockInfoService.Db.Queryable<Dt_OutStockLockInfo>()
- .Where(x => x.OrderNo == orderNo &&
- x.OrderDetailId == detail.Id &&
- (x.Status == (int)OutLockStockStatusEnum.鎷i�夊畬鎴� || x.Status == (int)OutLockStockStatusEnum.宸插洖搴�))
- .ToListAsync();
-
- var detailModel = new FeedbackOutboundDetailsModel
+ var feedmodel = new FeedbackOutboundRequestModel
{
- materialCode = detail.MaterielCode,
- lineNo = detail.lineNo, // 娉ㄦ剰锛氳繖閲屽彲鑳介渶瑕佽皟鏁村瓧娈靛悕
- warehouseCode = detail.WarehouseCode,
- qty = 0,
- currentDeliveryQty =0,
- unit = detail.Unit,
- barcodes = new List<WIDESEA_DTO.Outbound.BarcodesModel>()
+ reqCode = Guid.NewGuid().ToString(),
+ reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ business_type = outboundOrder.BusinessType,
+ factoryArea = outboundOrder.FactoryArea,
+ operationType = 1,
+ Operator = outboundOrder.Operator,
+ orderNo = outboundOrder.UpperOrderNo,
+ documentsNO = outboundOrder.OrderNo,
+ status = outboundOrder.OrderStatus,
+ details = new List<FeedbackOutboundDetailsModel>()
};
- foreach (var item in detailLocks)
+ foreach (var detail in orderDetails)
{
- if (item.PickedQty > 0)
+ // 鑾峰彇璇ユ槑缁嗗搴旂殑鏉$爜淇℃伅锛堜粠閿佸畾璁板綍锛�
+ var detailLocks = await _outStockLockInfoService.Db.Queryable<Dt_OutStockLockInfo>()
+ .Where(x => x.OrderNo == orderNo &&
+ x.OrderDetailId == detail.Id &&
+ (x.Status == (int)OutLockStockStatusEnum.鎷i�夊畬鎴� || x.Status == (int)OutLockStockStatusEnum.宸插洖搴�))
+ .ToListAsync();
+
+ var detailModel = new FeedbackOutboundDetailsModel
{
- var barModel = new WIDESEA_DTO.Outbound.BarcodesModel
+ materialCode = detail.MaterielCode,
+ lineNo = detail.lineNo, // 娉ㄦ剰锛氳繖閲屽彲鑳介渶瑕佽皟鏁村瓧娈靛悕
+ warehouseCode = detail.WarehouseCode,
+ qty = 0,
+ currentDeliveryQty = 0,
+ unit = detail.Unit,
+ barcodes = new List<WIDESEA_DTO.Outbound.BarcodesModel>()
+ };
+ foreach (var item in detailLocks)
+ {
+ if (item.PickedQty > 0)
{
- barcode = item.CurrentBarcode,
- supplyCode = item.SupplyCode,
- batchNo = item.BatchNo,
- unit = item.BarcodeUnit,
- qty = item.PickedQty
- };
- // 鍗曚綅涓嶄竴鑷存椂杞崲
- if (item.BarcodeUnit != item.Unit)
- {
- var convertResult = await _materialUnitService.ConvertAsync(item.MaterielCode, item.PickedQty, item.Unit, item.BarcodeUnit);
- barModel.unit = convertResult.Unit;
- barModel.qty = convertResult.Quantity;
+ var barModel = new WIDESEA_DTO.Outbound.BarcodesModel
+ {
+ barcode = item.CurrentBarcode,
+ supplyCode = item.SupplyCode,
+ batchNo = item.BatchNo,
+ unit = item.BarcodeUnit,
+ qty = item.PickedQty
+ };
+ // 鍗曚綅涓嶄竴鑷存椂杞崲
+ if (detail.BarcodeUnit != detail.Unit)
+ {
+ var convertResult = await _materialUnitService.ConvertAsync(item.MaterielCode, item.PickedQty, detail.Unit, detail.BarcodeUnit);
+ barModel.unit = convertResult.Unit;
+ barModel.qty = convertResult.Quantity;
+ }
+ else
+ {
+ barModel.qty = item.PickedQty;
+ }
+ detailModel.qty += barModel.qty;
+ detailModel.currentDeliveryQty += barModel.qty;
+ detailModel.barcodes.Add(barModel);
}
-
- detailModel.qty += barModel.qty;
- detailModel.currentDeliveryQty += barModel.qty;
- detailModel.barcodes.Add(barModel);
}
+ feedmodel.details.Add(detailModel);
}
- feedmodel.details.Add(detailModel);
- }
- var result = await _invokeMESService.FeedbackOutbound(feedmodel);
- if (result != null && result.code == 200)
- {
- await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
- .Where(x => x.OrderId == outboundOrder.Id)
- .ExecuteCommandAsync();
- await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
- .SetColumns(x => x.ReturnToMESStatus == 1)
- .Where(x => x.OrderNo == orderNo)
- .ExecuteCommandAsync();
+ var result = await _invokeMESService.FeedbackOutbound(feedmodel);
+ if (result != null && result.code == 200)
+ {
+ await _outboundOrderDetailService.Db.Updateable<Dt_OutboundOrderDetail>()
+ .SetColumns(x => x.ReturnToMESStatus == 1)
+ .Where(x => x.OrderId == outboundOrder.Id)
+ .ExecuteCommandAsync();
+
+ await _outboundOrderService.Db.Updateable<Dt_OutboundOrder>()
+ .SetColumns(x => x.ReturnToMESStatus == 1)
+ .Where(x => x.OrderNo == orderNo)
+ .ExecuteCommandAsync();
+ }
}
+ else if (outboundOrder != null && outboundOrder.IsBatch == 1)
+ {
+ await _invokeMESService.BatchOrderFeedbackToMes(new List<string>(){outboundOrder.OrderNo },2);
+ }
+
}
}
}
--
Gitblit v1.9.3