From 0705cb6170a9ba77ba48bbb6dcebb9cf3d73cbea Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期二, 14 十月 2025 02:12:25 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/HuaiAn
---
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs | 90 ++++++++++++++++++++++++++++++++------------
1 files changed, 65 insertions(+), 25 deletions(-)
diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
index 0949ab9..4c88553 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -30,6 +30,7 @@
using WIDESEA_DTO.Stock;
using SqlSugar;
using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
namespace WIDESEA_TaskInfoService
{
@@ -97,6 +98,15 @@
PalletType = stockInfo.PalletType,
WarehouseId = stockInfo.WarehouseId,
};
+ string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ string BatchNo = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+ if (MaterielCode != null && Quantity != null && BatchNo != null)
+ {
+ taskOut.MaterielCode = MaterielCode;
+ taskOut.Quantity = Quantity;
+ taskOut.BatchNo = BatchNo;
+ }
stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾;
LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus;
locationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
@@ -130,11 +140,6 @@
MesResponseContent responseContent = new MesResponseContent();
try
{
- Dt_Task exsit = Repository.QueryFirst(x => x.TargetAddress == model.TargetAddressCode);
- if (exsit != null)
- {
- return responseContent.Error($"鐩爣鍦板潃閲嶅");
- }
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA154.ToString());
//鑾峰彇搴撳瓨璁板綍
@@ -176,6 +181,15 @@
PalletType = stockInfo.PalletType,
WarehouseId = stockInfo.WarehouseId,
};
+ string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ string BatchNo = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+ if (MaterielCode != null && Quantity != null && BatchNo != null)
+ {
+ taskOut.MaterielCode = MaterielCode;
+ taskOut.Quantity = Quantity;
+ taskOut.BatchNo = BatchNo;
+ }
stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾;
LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus;
locationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
@@ -210,11 +224,7 @@
MesResponseContent responseContent = new MesResponseContent();
try
{
- Dt_Task exsit = Repository.QueryFirst(x => x.TargetAddress == model.TargetAddressCode);
- if (exsit != null)
- {
- return responseContent.Error($"鐩爣鍦板潃閲嶅");
- }
+
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA154.ToString());
//鑾峰彇搴撳瓨璁板綍
@@ -256,6 +266,15 @@
PalletType = stockInfo.PalletType,
WarehouseId = stockInfo.WarehouseId,
};
+ string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ string BatchNo = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+ if (MaterielCode != null && Quantity != null && BatchNo != null)
+ {
+ taskOut.MaterielCode = MaterielCode;
+ taskOut.Quantity = Quantity;
+ taskOut.BatchNo = BatchNo;
+ }
stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾;
LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus;
locationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
@@ -318,6 +337,15 @@
PalletType = stockInfo.PalletType,
WarehouseId = stockInfo.WarehouseId,
};
+ string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ string BatchNo = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+ if (MaterielCode != null && Quantity != null && BatchNo != null)
+ {
+ taskIn.MaterielCode = MaterielCode;
+ taskIn.Quantity = Quantity;
+ taskIn.BatchNo = BatchNo;
+ }
//鏇存敼搴撳瓨鐘舵��
stockInfo.StockStatus = StockStatusEmun.閫�搴�.ObjToInt();
BaseDal.AddData(taskIn);
@@ -497,6 +525,7 @@
/// <returns></returns>
public MesResponseContent SubstrateOut(SubstrateOutModel model)
{
+ MesResponseContent content = new MesResponseContent();
try
{
string line = string.Empty;
@@ -511,15 +540,15 @@
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == line);
if (warehouse == null)
{
- return MesResponseContent.Instance.Error($"浠撳簱鍩虹淇℃伅鏈厤缃�");
+ return content.Error($"浠撳簱鍩虹淇℃伅鏈厤缃�");
}
Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterialCode);
if (materielInfo == null)
{
- return MesResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡淇℃伅");
+ return content.Error($"鏈壘鍒拌鐗╂枡淇℃伅");
}
-
+ //鐢熸垚MES鏉挎枡鍑哄簱鍗曟嵁
Dt_MesOutboundOrder mesOutboundOrder = new Dt_MesOutboundOrder()
{
CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
@@ -535,14 +564,15 @@
};
List<Dt_Task> tasks = new List<Dt_Task>();
-
List<Dt_StockInfo>? stockInfos = null;
List<Dt_OutStockLockInfo>? outStockLockInfos = null;
List<Dt_LocationInfo>? locationInfos = null;
{
+ //鍒嗛厤搴撳瓨
(List<Dt_StockInfo>, Dt_MesOutboundOrder, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesOutboundOrderService.AssignStockOutbound(mesOutboundOrder);
if (result.Item1 != null && result.Item1.Count > 0)
{
+ //鍒涘缓浠诲姟
tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
result.Item2.OrderStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
result.Item3.ForEach(x =>
@@ -576,23 +606,26 @@
_outboundService.MesOutboundOrderService.Repository.AddData(mesOutboundOrder);
if (stockInfos != null && stockInfos.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
{
- WebResponseContent content = _outboundService.MesOutboundOrderService.LockOutboundStockDataUpdate(stockInfos, outStockLockInfos, locationInfos, tasks: tasks);
+ WebResponseContent contentResponse = _outboundService.MesOutboundOrderService.LockOutboundStockDataUpdate(stockInfos, outStockLockInfos, locationInfos, tasks: tasks);
- if (!content.Status)
+ if (!contentResponse.Status)
{
_unitOfWorkManage.RollbackTran();
- return MesResponseContent.Instance.Error(content.Message);
+ return content.Error(contentResponse.Message);
}
}
_unitOfWorkManage.CommitTran();
PushTasksToWCS(tasks);
-
-
- return MesResponseContent.Instance.OK();
+ //灏嗗紑鏂欏垎閰嶇殑搴撳瓨鎵樼洏杩斿洖缁橫ES
+ content.Content = new
+ {
+ VehicleCode = stockInfos?.Select(x => x.PalletCode).ToList()
+ };
+ return content.OK();
}
catch (Exception ex)
{
- return MesResponseContent.Instance.Error(ex.Message);
+ return content.Error(ex.Message);
}
}
@@ -613,8 +646,8 @@
Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == palletTypeInfo.WarehouseId);
//鍒ゆ柇鏄惁鎵樼洏搴撳瓨鏄惁宸插瓨鍦�
- Dt_StockInfo stockInfoOld = _stockRepository.StockInfo_HtyRepository.QueryData(x => x.PalletCode == model.CarrierCode).First();
- if (stockInfoOld!=null)
+ Dt_StockInfo stockInfoOld = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == model.CarrierCode);
+ if (stockInfoOld != null)
{
return MesResponseContent.Instance.Error($"鎵樼洏鍙峰簱瀛榹model.CarrierCode}宸插瓨鍦�");
}
@@ -1034,9 +1067,16 @@
TaskStatus = TaskStatusEnum.New.ObjToInt(),
WarehouseId = stockInfo.WarehouseId,
PalletType = stockInfo.PalletType,
- MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode,
- Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity,
};
+ string MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ float Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ string BatchNo = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.BatchNo;
+ if (MaterielCode != null && Quantity != null && BatchNo != null)
+ {
+ newTask.MaterielCode = MaterielCode;
+ newTask.Quantity = Quantity;
+ newTask.BatchNo = BatchNo;
+ }
LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
_unitOfWorkManage.BeginTran();
_recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationStatusEnum.Lock, LocationChangeType.InboundAssignLocation);
--
Gitblit v1.9.3