From d5538af4a0bbc5511990aceb3431fb1caa9bbc65 Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 16 三月 2026 14:27:22 +0800
Subject: [PATCH] 1
---
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs | 1424 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 1,424 insertions(+), 0 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
index abc38f6..766fb14 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs"
@@ -12,15 +12,1439 @@
using MailKit.Search;
using System.Reflection.Metadata;
using static WIDESEA_ITaskInfoService.ITaskService;
+using static WIDESEA_Common.HouseInventoryIn;
using WIDESEA_Common;
+using Parameter = WIDESEA_Common.Parameter;
using WIDESEA_Core.LogHelper;
using WIDESEA_DTO.Task;
using WIDESEA_Core.TaskEnum;
+using WIDESEA_Model.Models.Inbound;
+using WIDESEA_Common.OrderEnum;
namespace WIDESEA_TaskInfoService
{
public partial class TaskService
{
+
+ /// <summary>
+ /// 浠呯敵璇蜂换鍔★紝璁¦CS鏍规嵁璺敱纭畾涓嬩竴鍦板潃
+ /// </summary>
+ /// <param name="stationCode"></param>
+ /// <param name="palletCode"></param>
+ /// <returns></returns>
+ public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode, int heightType)
+ {
+ try
+ {
+ Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode);
+ if (task != null)
+ {
+ //PushTasksToWCS(new List<Dt_Task> { task });
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩榹palletCode}宸茬敓鎴愪换鍔�");
+ }
+ Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
+
+ if (stockInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鍚堟墭鍑哄簱瀹屾垚.ObjToInt())
+ {
+
+ }
+ ///鍒ゆ柇鏄惁瀛樺湪鍥炲簱鍗�,杩涜鍥炲師搴撲綅閫昏緫
+ string returnOrderNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.OrderNo;
+ Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => x.OrderNo == returnOrderNo && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
+ Dt_RoadwayInfo returnRoadwayInfo = new Dt_RoadwayInfo();
+ if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
+ {
+ Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
+ if (locationInfo1 == null)
+ {
+ return WebResponseContent.Instance.Error($"鍥炲簱鍗曚腑璇ュ簱浣峽returnOrder.LocationCode}鏈壘鍒�");
+ }
+ returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo);
+ }
+
+ if (Repository.QueryFirst(x => x.SourceAddress == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode) && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
+ {
+ return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�");
+ }
+
+ var details = stockInfo.Details.FirstOrDefault();
+ if (!string.IsNullOrEmpty(stockInfo.LocationCode))
+ {
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
+ }
+ Dt_RoadwayInfo roadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
+ if (roadwayInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒拌鍏ュ簱绔欏彴鍦板潃");
+ }
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == roadwayInfo.RoadwayNo);
+ if (warehouse == null)
+ {
+ return WebResponseContent.Instance.Error("鏈壘鍒拌浠撳簱");
+ }
+ Dt_LocationInfo? locationInfo = new Dt_LocationInfo();
+ if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
+ {
+ locationInfo = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
+ if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.Disable.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt())
+ {
+ return WebResponseContent.Instance.Error($"璇ュ洖搴撳崟璐т綅{locationInfo.LocationCode}闈為攣瀹氱姸鎬佹垨璐т綅鍚敤鐘舵�佷笉姝g‘锛岃妫�鏌�");
+ }
+ }
+ else
+ {
+ locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayInfo.RoadwayNo, stockInfo.PalletType, warehouse.WarehouseId, "", heightType);//, stockInfo.WarehouseId
+ if (locationInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
+ }
+ }
+
+ Dt_Task newTask = new Dt_Task()
+ {
+ CurrentAddress = "",
+ Grade = 0,
+ NextAddress = returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode,
+ PalletCode = palletCode,
+ OrderNo = details.OrderNo,
+ Roadway = roadwayInfo.RoadwayNo,
+ SourceAddress = "",
+ TargetAddress = locationInfo.LocationCode,
+ TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+ TaskStatus = TaskStatusEnum.New.ObjToInt(),
+ WarehouseId = stockInfo.WarehouseId,
+ PalletType = GetPalletType(warehouse, palletCode),//GetPalletType(warehouse, palletCode)
+ Creater = "WCS",
+ CreateDate = DateTime.Now
+ };
+ 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);
+ if (MaterielCode != null && Quantity != null)
+ {
+ newTask.MaterielCode = MaterielCode;
+ newTask.Quantity = (float)Quantity;
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.浣欐枡閫�搴�.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.SurplusReturn.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鍙嶆嫞鍏ュ簱.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.ReverseIn.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鐩樼偣搴撳瓨瀹屾垚.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.InInventory.ObjToInt();
+ }
+ //if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
+ //{
+ // stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
+ //}
+ //else if (stockInfo.StockStatus == StockStatusEmun.MES閫�搴�.ObjToInt())
+ //{
+ // newTask.TaskType = TaskTypeEnum.MesMatReturn.ObjToInt();
+ //}
+ //else if (stockInfo.StockStatus == StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt())
+ //{
+ // Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId && x.PalletType == stockInfo.PalletType);
+ // //todo 灏忔墭鐩樻殏鏃舵湭鍚敤
+ // if (palletTypeInfo.LocaitonCount == 2)
+ // {
+ // newTask.TaskType = TaskTypeEnum.MesPalletLargeReturn.ObjToInt();
+ // }
+ // else
+ // {
+ // newTask.TaskType = TaskTypeEnum.MesPalletSmallReturn.ObjToInt();
+ // }
+ //}
+ //else
+ //{
+ stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ //}
+
+ _unitOfWorkManage.BeginTran();
+ int taskId = BaseDal.AddData(newTask);
+ newTask.TaskId = taskId;
+ if (returnOrder != null)
+ {
+ returnOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt();
+ _returnOrderRepository.UpdateData(returnOrder);
+ }
+ _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+ _locationInfoService.UpdateData(locationInfo);
+
+ _unitOfWorkManage.CommitTran();
+ WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
+ if (warehouse.WarehouseCode.Contains("CP"))
+ {
+ PushTasksWCS(new List<Dt_Task> { newTask });
+ }
+ else
+ {
+ PushTasksToWCS(new List<Dt_Task> { newTask });
+ }
+ return WebResponseContent.Instance.OK(data: wMSTaskDTO);
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent CPDeviceRequestInboundTaskSimple(string stationCode, string palletCode, int heightType, string courceAddress)
+ {
+ try
+ {
+ Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode);
+ if (task != null)
+ {
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩榹palletCode}宸茬敓鎴愪换鍔�");
+ }
+ Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
+
+ if (stockInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
+ }
+
+ Dt_RoadwayInfo returnRoadwayInfo = new Dt_RoadwayInfo();
+ if (stockInfo.StockStatus == StockStatusEmun.鍚堟墭鍑哄簱瀹屾垚.ObjToInt())
+ {
+ Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode);
+ if (locationInfo1 == null)
+ {
+ return WebResponseContent.Instance.Error($"鍥炲簱鍗曚腑璇ュ簱浣峽stockInfo.LocationCode}鏈壘鍒�");
+ }
+ returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo && x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
+ }
+ ///鍒ゆ柇鏄惁瀛樺湪鍥炲簱鍗�,杩涜鍥炲師搴撲綅閫昏緫
+ string returnOrderNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.OrderNo;
+ Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => (x.OrderNo == returnOrderNo || x.LPNNo == palletCode) && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
+ if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
+ {
+ Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
+ if (locationInfo1 == null)
+ {
+ return WebResponseContent.Instance.Error($"鍥炲簱鍗曚腑璇ュ簱浣峽returnOrder.LocationCode}鏈壘鍒�");
+ }
+ returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo && x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
+ }
+
+ if (Repository.QueryFirst(x => x.SourceAddress == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode) && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
+ {
+ return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�");
+ }
+
+ var details = stockInfo.Details.FirstOrDefault();
+ if (!string.IsNullOrEmpty(stockInfo.LocationCode))
+ {
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
+ }
+ Dt_RoadwayInfo roadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
+ if (roadwayInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒拌鍏ュ簱绔欏彴鍦板潃");
+ }
+
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == roadwayInfo.RoadwayNo);
+ if (warehouse == null)
+ {
+ return WebResponseContent.Instance.Error("鏈壘鍒拌浠撳簱");
+ }
+
+ Dt_LocationInfo? locationInfo = new Dt_LocationInfo();
+ if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
+ {
+ locationInfo = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
+ if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.Disable.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt())
+ {
+ return WebResponseContent.Instance.Error($"璇ュ洖搴撳崟璐т綅{locationInfo.LocationCode}闈為攣瀹氱姸鎬佹垨璐т綅鍚敤鐘舵�佷笉姝g‘锛岃妫�鏌�");
+ }
+ }
+ else
+ {
+ locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayInfo.RoadwayNo, stockInfo.PalletType, warehouse.WarehouseId, "", heightType);//, stockInfo.WarehouseId
+ if (locationInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
+ }
+ }
+ Dt_Task newTask = new Dt_Task()
+ {
+ CurrentAddress = courceAddress,
+ Grade = 0,
+ NextAddress = returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode,
+ PalletCode = palletCode,
+ OrderNo = details.OrderNo,
+ Roadway = roadwayInfo.RoadwayNo,
+ SourceAddress = courceAddress,
+ TargetAddress = locationInfo.LocationCode,
+ TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+ TaskStatus = TaskStatusEnum.New.ObjToInt(),
+ WarehouseId = stockInfo.WarehouseId,
+ PalletType = GetPalletType(warehouse, palletCode),//GetPalletType(warehouse, palletCode)
+ Creater = "WCS",
+ CreateDate = DateTime.Now
+ };
+ 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);
+ if (MaterielCode != null && Quantity != null)
+ {
+ newTask.MaterielCode = MaterielCode;
+ newTask.Quantity = (float)Quantity;
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.浣欐枡閫�搴�.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.SurplusReturn.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鍙嶆嫞鍏ュ簱.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.ReverseIn.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鐩樼偣搴撳瓨瀹屾垚.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.InInventory.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鍚堟墭鍑哄簱瀹屾垚.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.InSyncretism.ObjToInt();
+ }
+ //if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
+ //{
+ // stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
+ //}
+ //else if (stockInfo.StockStatus == StockStatusEmun.MES閫�搴�.ObjToInt())
+ //{
+ // newTask.TaskType = TaskTypeEnum.MesMatReturn.ObjToInt();
+ //}
+ //else if (stockInfo.StockStatus == StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt())
+ //{
+ // Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId && x.PalletType == stockInfo.PalletType);
+ // //todo 灏忔墭鐩樻殏鏃舵湭鍚敤
+ // if (palletTypeInfo.LocaitonCount == 2)
+ // {
+ // newTask.TaskType = TaskTypeEnum.MesPalletLargeReturn.ObjToInt();
+ // }
+ // else
+ // {
+ // newTask.TaskType = TaskTypeEnum.MesPalletSmallReturn.ObjToInt();
+ // }
+ //}
+ //else
+ //{
+ else
+ {
+ stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+ }
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ //}
+
+ _unitOfWorkManage.BeginTran();
+ int taskId = BaseDal.AddData(newTask);
+ newTask.TaskId = taskId;
+ if (returnOrder != null)
+ {
+ returnOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt();
+ _returnOrderRepository.UpdateData(returnOrder);
+ }
+ _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+ _locationInfoService.UpdateData(locationInfo);
+
+ _unitOfWorkManage.CommitTran();
+ WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
+
+ PushTasksWCS(new List<Dt_Task> { newTask });
+
+ return WebResponseContent.Instance.OK(data: wMSTaskDTO);
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// 杩斿洖鍏ュ簱浠撳簱
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent ApplyLocation(string palletCode)
+ {
+ try
+ {
+ Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
+
+ if (stockInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
+ }
+ return WebResponseContent.Instance.OK(data: stockInfo.WarehouseId);
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+ /// <summary>
+ /// 鍏ュ簱浠诲姟鐢宠鍒嗛厤璐т綅
+ /// </summary>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <param name="roadwayNo">宸烽亾鍙�</param>
+ /// <returns></returns>
+ public WebResponseContent AssignInboundTaskLocation(int taskNum, string roadwayNo)
+ {
+ try
+ {
+ Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
+ if (task == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒拌鍏ュ簱浠诲姟");
+ }
+
+ if (_basicRepository.LocationInfoRepository.QueryFirst(x => x.LocationCode == task.TargetAddress) != null)
+ {
+ return WebResponseContent.Instance.OK(data: task.TargetAddress);
+ }
+
+ Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayNo, task.PalletType);//, task.WarehouseId
+ if (locationInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
+ }
+
+ task.Roadway = roadwayNo;
+ task.TargetAddress = locationInfo.LocationCode;
+
+ task.TaskStatus = TaskStatusEnum.SC_Execute.ObjToInt();
+
+
+
+ LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
+
+ _unitOfWorkManage.BeginTran();
+ //_recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationStatusEnum.Lock, LocationChangeType.InboundAssignLocation);
+ //_basicService.LocationInfoService.UpdateLocationStatus(locationInfo, task.PalletType, LocationStatusEnum.Lock, task.WarehouseId);
+ BaseDal.UpdateData(task);
+ _unitOfWorkManage.CommitTran();
+ return WebResponseContent.Instance.OK(data: locationInfo.LocationCode);
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ /// <summary>
+ /// 绔嬪簱鍏ュ簱鎸囦护涓婁紶
+ /// </summary>
+ /// <param name="stationCode">璧峰鍦板潃</param>
+ /// <param name="palletCode">鎵樼洏缂栧彿</param>
+ /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+ public WebResponseContent InboundRequest(string stationCode, string roadwayNo, string palletCode)
+ {
+ // 杈撳叆楠岃瘉
+ if (string.IsNullOrWhiteSpace(palletCode))
+ return WebResponseContent.Instance.Error("璇疯緭鍏ユ纭墭鐩樺彿");
+
+ try
+ {
+ Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode);
+ if (task != null)
+ {
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩榹palletCode}宸茬敓鎴愪换鍔�");
+ }
+ // 鑾峰彇鍏ュ簱鍗曟槑缁�
+ var inboundOrderDet = GetInboundOrderDetail(palletCode);
+ if (inboundOrderDet == null)
+ return WebResponseContent.Instance.Error($"鏈壘鍒版墭鐩樺彿 {palletCode} 瀵瑰簲鐨勫叆搴撳崟鏄庣粏");
+
+ // 鑾峰彇鍏ュ簱鍗�
+ var inboundOrder = GetInboundOrder(inboundOrderDet.OrderId);
+ if (inboundOrder == null)
+ return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅");
+
+ // 楠岃瘉鍏ュ簱鍗曟槑缁�
+ if (inboundOrder.Details == null || inboundOrder.Details.Count == 0)
+ return WebResponseContent.Instance.Error($"鍏ュ簱鍗� {inboundOrder.OrderNo} 娌℃湁鏄庣粏淇℃伅");
+
+ // 鑾峰彇浠撳簱鍜屽贩閬撲俊鎭�
+ var warehouse = GetWarehouse(inboundOrder.WarehouseId);
+ var roadwayInfo = GetRoadwayInfo(warehouse.WarehouseCode);
+
+ var dt_Stock = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode);
+ // 妫�鏌ュ叆搴撹姹�
+ var checkResult = CheckRequestInbound(roadwayInfo.InSCStationCode, palletCode, true, dt_Stock);
+ if (!checkResult.Item1)
+ return WebResponseContent.Instance.Error(checkResult.Item2);
+
+ // 鍒嗛厤搴撲綅骞舵洿鏂版暟鎹�
+ Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayNo, dt_Stock.PalletType, dt_Stock.WarehouseId);//
+ //Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(stationCode, TaskTypeEnum.Inbound.ObjToInt());
+ if (locationInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
+ }
+
+ Dt_Task newTask = new Dt_Task()
+ {
+ CurrentAddress = "",
+ Grade = 0,
+ NextAddress = stationCode,
+ PalletCode = palletCode,
+ Roadway = roadwayNo,
+ SourceAddress = "",
+ TargetAddress = locationInfo.LocationCode,
+ TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+ TaskStatus = TaskStatusEnum.New.ObjToInt(),
+ WarehouseId = dt_Stock.WarehouseId,
+ PalletType = dt_Stock.PalletType,
+ Creater = "WMS",
+ CreateDate = DateTime.Now,
+ };
+
+ LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
+ _unitOfWorkManage.BeginTran();
+ Db.InsertNav(dt_Stock).Include(x => x.Details).ExecuteCommand();
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus.ObjToInt(), LocationStatusEnum.Lock.ObjToInt(), LocationChangeType.InboundAssignLocation.ObjToInt());
+ //_basicService.LocationInfoService.UpdateLocationStatus(locationInfo, newTask.PalletType, LocationStatusEnum.Lock, newTask.WarehouseId);
+ int taskId = BaseDal.AddData(newTask);
+ newTask.TaskId = taskId;
+ _stockRepository.StockInfoRepository.UpdateData(dt_Stock);
+ _unitOfWorkManage.CommitTran();
+ WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
+
+ PushTasksToWCS(new List<Dt_Task> { newTask });
+ if (newTask.WarehouseId == 5) PutFinish(stationCode);
+ return WebResponseContent.Instance.OK(data: wMSTaskDTO);
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ private Dt_InboundOrderDetail GetInboundOrderDetail(string palletCode)
+ {
+ return BaseDal.Db.Queryable<Dt_InboundOrderDetail>()
+ .Where(x => x.LPNNo == palletCode)
+ .First();
+ }
+
+ private Dt_InboundOrder GetInboundOrder(int orderId)
+ {
+ return BaseDal.Db.Queryable<Dt_InboundOrder>()
+ .Where(x => x.Id == orderId)
+ .Includes(x => x.Details)
+ .First();
+ }
+
+ private Dt_Warehouse GetWarehouse(int warehouseId)
+ {
+ return _basicService.WarehouseService.Repository
+ .QueryFirst(x => x.WarehouseId == warehouseId);
+ }
+
+ private Dt_RoadwayInfo GetRoadwayInfo(string warehouseCode)
+ {
+ return _basicService.RoadwayInfoService.Repository
+ .QueryFirst(x => x.RoadwayNo == warehouseCode);
+ }
+
+ private Dt_StockInfo GetOrCreateStockInfo(string palletCode, Dt_InboundOrder inboundOrder, Dt_InboundOrderDetail inboundOrderDet, Dt_Warehouse warehouse)
+ {
+ var stockInfo = BaseDal.Db.Queryable<Dt_StockInfo>()
+ .Where(x => x.PalletCode == palletCode)
+ .Includes(x => x.Details)
+ .First();
+ decimal beforeQuantity = 0;
+ if (stockInfo == null)
+ {
+ stockInfo = CreateNewStockInfo(palletCode, inboundOrder, inboundOrderDet, warehouse);
+ //CreateStockInfoDetail(stockInfo, inboundOrder, inboundOrderDet);
+ }
+ else
+ {
+ if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())
+ {
+ return null;
+ }
+ beforeQuantity = stockInfo.Details.Sum(x => x.StockQuantity);
+ }
+
+ return stockInfo;
+ }
+
+ private Dt_StockInfo CreateNewStockInfo(string palletCode, Dt_InboundOrder inboundOrder, Dt_InboundOrderDetail inboundOrderDet, Dt_Warehouse warehouse)
+ {
+ var dt_StockInfoDetail = new Dt_StockInfoDetail
+ {
+ //StockId = stockInfo.Id,
+ MaterielCode = inboundOrderDet.MaterielCode,
+ MaterielName = inboundOrderDet.MaterielName,
+ OrderNo = inboundOrder.OrderNo,
+ BatchNo = inboundOrderDet.BatchNo,
+ LinId = inboundOrderDet.LinId,
+ StockQuantity = inboundOrderDet.OrderQuantity,
+ Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ Creater = "WMS",
+ CreateDate = DateTime.Now,
+ Id = inboundOrderDet.LinId.ObjToInt(),
+ };
+
+ var dt_Stock = new Dt_StockInfo
+ {
+ BatchNo = inboundOrderDet.BatchNo,
+ PalletCode = palletCode,
+ PalletType = GetPalletType(warehouse, palletCode),
+ IsFull = true,
+ StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ Creater = "WMS",
+ CreateDate = DateTime.Now,
+ MaterialType = (int)InventoryMaterialType.鎴愬搧,
+ Materialweight = 0,
+ Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
+ Mgeneratetime = DateTime.Now,
+ WarehouseId = warehouse.WarehouseId,
+ Details = new List<Dt_StockInfoDetail> { dt_StockInfoDetail }
+ };
+
+ //_stockService.StockInfoService.Repository.AddData(dt_Stock);
+ Db.InsertNav(dt_Stock).Include(x => x.Details).ExecuteCommand();
+ return _stockService.StockInfoService.Repository.GetStockInfo(palletCode);
+ }
+
+ private void CreateStockInfoDetail(Dt_StockInfo stockInfo, Dt_InboundOrder inboundOrder, Dt_InboundOrderDetail inboundOrderDet)
+ {
+ var dt_StockInfoDetail = new Dt_StockInfoDetail
+ {
+ StockId = stockInfo.Id,
+ MaterielCode = inboundOrderDet.MaterielCode,
+ MaterielName = inboundOrderDet.MaterielName,
+ OrderNo = inboundOrder.OrderNo,
+ BatchNo = inboundOrderDet.BatchNo,
+ LinId = inboundOrderDet.LinId,
+ StockQuantity = inboundOrderDet.OrderQuantity,
+ Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ Creater = "WMS",
+ CreateDate = DateTime.Now,
+ Id = inboundOrderDet.LinId.ObjToInt(),
+ };
+
+ _stockService.StockInfoDetailService.Repository.AddData(dt_StockInfoDetail);
+ }
+
+ //鏌ヨ浠撳簱鎵樼洏璐х墿绫诲瀷
+ public int GetPalletType(Dt_Warehouse warehouse, string palletCode)
+ {
+ if (warehouse.WarehouseCode.Contains("BC"))
+ {
+ Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 3));
+ if (palletTypeInfo == null)
+ {
+ throw new Exception($"鎵樼洏鍙烽敊璇�");
+ }
+ return palletTypeInfo.PalletType;
+ }
+ else
+ {
+ Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 2));
+ if (palletTypeInfo == null)
+ {
+ throw new Exception($"鎵樼洏鍙烽敊璇�");
+ }
+ return palletTypeInfo.PalletType;
+ }
+ return 0;
+ }
+
+
+
+
+ #region
+ //public WebResponseContent InboundRequest(SaveModel saveModel)
+ //{
+ // string palletCode = saveModel.palletCode;
+ // if (saveModel.palletCode == null) return WebResponseContent.Instance.Error($"璇疯緭鍏ユ纭墭鐩樺彿");
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+ // Dt_InboundOrderDetail inboundOrderDet = BaseDal.Db.Queryable<Dt_InboundOrderDetail>().Where(x => x.LPNNo == palletCode).First();
+ // Dt_InboundOrder inboundOrder = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == inboundOrderDet.OrderId).Includes(x => x.Details).First();
+ // if (inboundOrder == null)
+ // {
+ // return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅");
+ // }
+ // Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseId == inboundOrder.WarehouseId);
+ // Dt_RoadwayInfo roadwayInfo = _basicService.RoadwayInfoService.Repository.QueryFirst(x => x.RoadwayNo == warehouse.WarehouseCode);
+ // if (roadwayInfo != null) { }
+
+ // if (inboundOrder.Details == null || inboundOrder.Details.Count <= 0)
+ // {
+ // return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟鏄庣粏淇℃伅");
+ // }
+ // Dt_StockInfo stockInfo1 = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
+ // if (stockInfo1 == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // BatchNo = inboundOrderDet.BatchNo,
+ // PalletCode = palletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.鎴愬搧,
+ // Materialweight = 0,
+ // Wlstatus = (int)InventoryMaterialStatus.鍚堟牸,
+ // Mgeneratetime = DateTime.Now,
+ // };
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+
+ // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.GetStockInfo(palletCode);
+ // Dt_StockInfoDetail dt_StockInfoDetail = new()
+ // {
+ // StockId = dt_StockInfo.Id,
+ // MaterielCode = inboundOrderDet.MaterielCode, //鐗╂枡鍙�
+ // MaterielName = inboundOrderDet.MaterielName, //鐗╂枡鍚嶇О
+ // OrderNo = inboundOrder.OrderNo, //鐗╂枡璇︽儏
+ // BatchNo = inboundOrderDet.BatchNo, //鐗╂枡鎵规
+ // LinId = inboundOrderDet.LinId, //SerialNumber = targetCodes[2].ToString(), //鍖呭彿
+ // //BatchNoName = dt_Int.OrderNo,
+ // StockQuantity = inboundOrderDet.OrderQuantity, //閲嶉噺
+ // //OutboundQuantity = 1, //搴忓垪鍙�
+ // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // Id = inboundOrderDet.LinId.ObjToInt(),
+ // };
+ // _stockService.StockInfoDetailService.Repository.AddData(dt_StockInfoDetail);
+ // }
+ // Dt_StockInfo stockInfo = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
+ // (bool, string) result = CheckRequestInbound(roadwayInfo.InSCStationCode, palletCode, true, stockInfo);
+ // if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2);
+ // content = AssignLocUpdateData(roadwayInfo.InSCStationCode, TaskTypeEnum.Inbound.ObjToInt(), palletCode, true, stockInfo, inboundOrder.OrderNo);
+ // }
+ // catch (Exception ex)
+ // {
+ // content = WebResponseContent.Instance.Error(ex.Message);
+ // }
+ // return content;
+ //}
+ #endregion
+ public string ReceiveWMSInventoryIn = WIDESEA_Core.Helper.AppSettings.Configuration["ReceiveWMSInventoryIn"];
+ /// <summary>
+ /// 鐩樼偣宸紓鏁伴噺鍥炰紶
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent InventoryIn(string name, int qty)
+ {
+ WebResponseContent content = new();
+ try
+ {
+ Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == name);
+ Dt_StockInfoDetail stockInfoDetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id);
+ Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.LPNNo == stockInfo.PalletCode);
+ Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId);
+ HouseInventoryIn houseInboundPassBack = new HouseInventoryIn();
+ houseInboundPassBack.ApiType = "StockCountController";
+ houseInboundPassBack.Method = "AsrsFinishedStockCount";
+
+ data data = new data();
+ data.InventoryIn data1 = new data.InventoryIn();
+ data1.No = outboundOrder.OrderNo;
+ data.InventoryIn.Inbound inbound = new data.InventoryIn.Inbound();
+ inbound.LinId = outboundOrderDetail.LinId;
+ inbound.LPN_No = outboundOrderDetail.LPNNo;
+ inbound.MaterielCode = outboundOrderDetail.MaterielCode;
+ inbound.OrderQuantity = outboundOrderDetail.OrderQuantity;
+ inbound.BatchNo = outboundOrderDetail.BatchNo;
+ inbound.FinishQty = qty;
+ inbound.WarehouseCode = outboundOrderDetail.WarehouseCode;
+ inbound.StorageAreaCode = outboundOrderDetail.StorageAreaCode;
+ inbound.StorageLocationCode = outboundOrderDetail.StorageLocationCode;
+ data1.DetailList.Add(inbound);
+ data.Value.Add(data1);
+ houseInboundPassBack.Parameters.Add(data);
+ Authentication authentication = new Authentication()
+ {
+ ApiType = "AuthenticationController",
+ Parameters = new List<Parameter>
+ {
+ new Parameter { Value = "LKAdmin"},
+ new Parameter { Value = "LKAdmin"},
+ },
+ Method = "Login",
+ };
+ var responses1 = HttpHelper.Post<WebResponseContent>(ReceiveWMSTaskAUT, authentication, "鐧诲綍WMS璐﹀彿");
+ var Ticket = responses1.Context["Ticket"].ToString();
+ var InvOrgId = responses1.Context["InvOrgId"].ToString();
+ if (Ticket != null)
+ {
+ houseInboundPassBack.Context = new Dictionary<string, string>();
+ houseInboundPassBack.Context.Add("Ticket", Ticket);
+ houseInboundPassBack.Context.Add("InvOrgId", InvOrgId);
+ var responses = HttpHelper.Post<WebResponseContent>(ReceiveWMSInventoryIn, houseInboundPassBack, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
+ }
+ content = WebResponseContent.Instance.OK();
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+ finally
+ {
+
+ }
+ return content;
+ }
+
+ /// <summary>
+ /// 鍏ュ簱鍒嗛厤璐т綅鍙婂鐞嗘暟鎹�
+ /// </summary>
+ /// <param name="stationCode">璧峰鍦板潃</param>
+ /// <param name="taskType">浠诲姟绫诲瀷</param>
+ /// <param name="palletCode">鎵樼洏缂栧彿</param>
+ /// <param name="isUpdateStock">鏄惁鏇存柊缁勭洏淇℃伅--鍖哄垎鐗╂枡鍏ュ簱鍜岀┖鎵樺叆搴�</param>
+ /// <param name="stockInfo">缁勭洏淇℃伅--鍙┖</param>
+ /// <param name="orderNo">璁㈠崟鍙�--鍙┖</param>
+ /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+ private WebResponseContent AssignLocUpdateData(string stationCode, int taskType, string palletCode, bool isUpdateStock = true, Dt_StockInfo? stockInfo = null,
+ string orderNo = "")
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ Dt_InboundOrder dt_Int = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.OrderNo == orderNo);
+ Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(stationCode, taskType);
+ //Dt_LocationInfo dt_LocationInfo = null;
+ if (locationInfo != null)
+ {
+ Dt_Task task = new()
+ {
+ CurrentAddress = "0",
+ Grade = 0,
+ PalletCode = palletCode,
+ NextAddress = "0",
+ Roadway = locationInfo.RoadwayNo,
+ SourceAddress = stationCode,
+ TargetAddress = locationInfo.LocationCode,
+ TaskStatus = InTaskStatusEnum.InNew.ObjToInt(),
+ TaskType = taskType,
+ OrderNo = orderNo,
+ CreateDate = DateTime.Now,
+ Creater = "WMS"
+ };
+ BaseDal.AddData(task);
+ int beforeStatus = locationInfo.LocationStatus;
+ if (isUpdateStock)
+ {
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ _basicService.LocationInfoService.UpdateLocationLock(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false);
+
+ if (stockInfo != null && stockInfo.Details != null && stockInfo.Details.Count > 0)
+ {
+ orderNo = stockInfo.Details.FirstOrDefault()?.OrderNo ?? "";
+
+ stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+ //stockInfo.LocationCode = task.TargetAddress;
+ _stockService.StockInfoService.Repository.UpdateData(stockInfo);
+ }
+ else
+ {
+ return content = WebResponseContent.Instance.Error("鏈壘鍒板簱瀛樹俊鎭�");
+ }
+ }
+ else
+ {
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ _basicService.LocationInfoService.UpdateLocationLock(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false);
+ }
+ //涓嬪彂鍏ュ簱浠诲姟鑷砏CS
+ //var responses = HttpHelper.Post<WebResponseContent>(ReceiveWMSTask, task, "涓嬪彂浠诲姟鍏ュ簱");
+ dt_Int.OrderStatus = InboundStatusEnum.鍏ュ簱涓�.ObjToInt();
+ _inboundService.InbounOrderService.Repository.UpdateData(dt_Int);
+ _basicService.LocationInfoService.Repository.UpdateData(locationInfo);
+ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), orderNo, task.TaskNum);
+ return content = WebResponseContent.Instance.OK(data: task);
+ }
+ return content = WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤璐т綅");
+ }
+ catch (Exception ex)
+ {
+ content = WebResponseContent.Instance.Error(ex.Message);
+ }
+ return content;
+ }
+
+ /// <summary>
+ /// 楠岃瘉鏁版嵁
+ /// </summary>
+ /// <param name="stationCode">璧峰鍦板潃</param>
+ /// <param name="palletCode">鎵樼洏缂栧彿</param>
+ /// <param name="isCheckStock">鏄惁妫�鏌ョ粍鐩樹俊鎭�--鍖哄垎鐗╂枡鍏ュ簱鍜岀┖鎵樺叆搴�</param>
+ /// <param name="stockInfo">缁勭洏淇℃伅--鍙┖</param>
+ /// <returns>杩斿洖澶勭悊缁撴灉</returns>
+ private (bool, string) CheckRequestInbound(string stationCode, string palletCode, bool isCheckStock = true, Dt_StockInfo? stockInfo = null)
+ {
+ if (BaseDal.QueryFirst(x => x.PalletCode == palletCode) != null)
+ {
+ return (false, "璇ユ墭鐩樺彿宸叉湁浠诲姟");
+ }
+ if (BaseDal.QueryFirst(x => (x.SourceAddress == stationCode || x.CurrentAddress == stationCode) && x.TaskStatus == InTaskStatusEnum.InNew.ObjToInt()) != null)
+ {
+ return (false, "褰撳墠鍏ュ簱绔欏彴宸叉湁涓�鏉℃柊寤轰换鍔�");
+ }
+ if (isCheckStock)
+ {
+ if (stockInfo == null)
+ {
+ return (false, "鏈壘鍒扮粍鐩樹俊鎭�");
+ }
+ if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())
+ {
+ return (false, "璇ョ粍鐩樼姸鎬佷笉鍙叆搴�");
+ }
+ if (!string.IsNullOrEmpty(stockInfo.LocationCode))
+ {
+ return (false, "璇ユ墭鐩樺凡缁戝畾璐т綅");
+ }
+ if (stockInfo.Details == null || stockInfo.Details.Count == 0)
+ {
+ return (false, "娌℃湁搴撳瓨鏄庣粏淇℃伅");
+ }
+ }
+ else
+ {
+ if (_stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == palletCode) != null)
+ {
+ return (false, "璇ユ墭鐩樺凡瀛樺湪搴撳唴");
+ }
+ }
+
+ return (true, "鎴愬姛");
+ }
+
+
+ /// <summary>
+ /// 鏍规嵁鎵樼洏鏉$爜锛岃捣鐐逛綅缃紝鐢熸垚鍏ュ簱淇℃伅
+ /// </summary>
+ /// <param name="PalletCode"></param>
+ /// <returns></returns>
+ //public WebResponseContent GenerateInventoryInformation(GenerateInv generate)
+ //{
+
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+ // Dt_Task task = BaseDal.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // if (task != null)
+ // {
+ // return content = WebResponseContent.Instance.Error($"宸叉湁璇ユ墭鐩樼殑鍏ュ簱浠诲姟锛屾墭鐩樺彿锛歿task.PalletCode}");
+ // }
+ // else
+ // {
+
+ // //if ((generate.SourceAddress == "R01-003-041-011-01" || generate.SourceAddress == "R01-002-043-001-01" || generate.SourceAddress == "R02-003-027-011-01"))
+ // //{
+ // Dt_StockInfo dt_StockInfo2 = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // if (dt_StockInfo2 == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.绌烘墭,
+ // Materialweight = 0,
+ // Wlstatus = (int)InventoryMaterialStatus.绌烘墭,
+ // Mgeneratetime = DateTime.Now,
+ // };
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+ // }
+ // //}
+ // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode && x.StockStatus == (int)StockStatusEmun.缁勭洏鏆傚瓨);
+ // if (dt_StockInfo != null)
+ // {
+ // Dt_LocationInfo newLocation;
+ // Dt_LocationInfo newSourceAddress;
+ // newSourceAddress = _basicService.LocationInfoService.GetLocationplatform(generate.SourceAddress);
+ // int Locationtype = 1; //榛樿涓�9
+ // if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.鎴愬搧 || (generate.SourceAddress == "R01-003-041-001-01" && dt_StockInfo.MaterialType == (int)InventoryMaterialType.鍘熸潗鏂�))
+ // {
+ // Locationtype = 11;
+
+ // }
+ // else if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.鍘熸潗鏂�)
+ // {
+ // Locationtype = 10;
+ // }
+
+ // if (dt_StockInfo.MaterialType == (int)InventoryMaterialType.鎴愬搧)
+ // {
+ // string[] targetCodes = dt_StockInfo.PalletCode.Split("*");
+ // Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.OrderName == targetCodes[0]);
+ // if (dt_Inbound.Startingcolumn != 0 || dt_Inbound.Terminationcolumn != 0)
+ // {
+ // newLocation = _basicService.LocationInfoService.GetLocation2(newSourceAddress.RoadwayNo, Locationtype, dt_Inbound.Startingcolumn, dt_Inbound.Terminationcolumn);
+ // }
+ // else
+ // {
+ // newLocation = _basicService.LocationInfoService.GetLocation(newSourceAddress.RoadwayNo, Locationtype);
+ // }
+
+ // }
+ // else
+ // {
+ // newLocation = _basicService.LocationInfoService.GetLocation(newSourceAddress.RoadwayNo, Locationtype);
+ // }
+
+
+ // //string[] Pallet = PalletCode.Split("-");
+ // if (newLocation != null && newSourceAddress != null)
+ // {
+ // //鐢熸垚鍏ュ簱浠诲姟
+ // Dt_Task dt_Task = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+ // Roadway = newLocation.RoadwayNo,
+ // TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+ // TaskStatus = InTaskStatusEnum.InNew.ObjToInt(),
+ // SourceAddress = newSourceAddress.LocationCode,
+ // TargetAddress = newLocation.LocationCode,
+ // CurrentAddress = newSourceAddress.LocationCode,
+ // NextAddress = newLocation.LocationCode,
+ // Grade = 1,
+ // Creater = "WMS",
+ // Depth = newLocation.Depth,
+ // CreateDate = DateTime.Now,
+ // MaterialType = dt_StockInfo.MaterialType
+ // };
+ // _unitOfWorkManage.BeginTran();
+ // if (newLocation.LocationStatus == LocationStatusEnum.Free.ObjToInt())
+ // {
+ // newLocation.LocationStatus = newSourceAddress.LocationType == (int)LocationTypeEnum.EmptyOut ? LocationStatusEnum.PalletLock.ObjToInt() : LocationStatusEnum.Lock.ObjToInt();
+ // }
+ // BaseDal.AddData(dt_Task);
+ // _basicService.LocationInfoService.UpdateData(newLocation);
+
+ // _unitOfWorkManage.CommitTran();
+
+ // return content = WebResponseContent.Instance.OK(data: dt_Task);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"鏈壘鍒板搴旂殑璧风偣:{generate.SourceAddress},鎴栫粓鐐箋newSourceAddress.RoadwayNo}锛屼俊鎭�");
+ // }
+
+ // }
+ // else
+ // {
+ // //Queryinventory(generate.PalletCode);
+ // return content = WebResponseContent.Instance.Error($"缁勭洏锛岃鏍稿鎵樼洏鍙�:{generate.PalletCode}");
+ // }
+
+ // }
+
+ // }
+ // catch (Exception ex)
+ // {
+ // return content = WebResponseContent.Instance.Error($"鐢熸垚鍏ュ簱浠诲姟鍑洪敊锛屽嚭閿欎俊鎭�:{ex.Message}");
+ // throw;
+ // }
+ //}
+
+ ///// <summary>
+ ///// 鏌ヨ1宸烽亾搴撳瓨锛屾槸鍚﹁繍琛岃繘琛屽叆搴� //甯﹀悗缁噸鏂版嫾鎺�
+ ///// </summary>
+ ///// <returns></returns>
+ //public WebResponseContent Queryinventory3(GenerateInv generate)
+ //{
+ // try
+ // {
+ // WebResponseContent content = new WebResponseContent();
+ // string result = generate.PalletCode.Substring(0, 2);
+ // Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.UpperOrderNo == result);
+ // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // if (dt_Inbound != null)
+ // {
+ // if (dt_StockInfo == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.鍘熸潗鏂�,
+ // Materialweight = 0,
+ // };
+ // _unitOfWorkManage.BeginTran();
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+
+ // string part2 = generate.PalletCode.Substring(2, 8);
+
+ // string part3 = generate.PalletCode.Split('#')[1];
+ // Dt_StockInfo dt_StockInfo2 = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // Dt_StockInfoDetail dt_StockInfoDetail = new()
+ // {
+ // StockId = dt_StockInfo2.Id,
+ // MaterielCode = result, //鐗╂枡缂栧彿
+ // MaterielName = dt_Inbound.OrderNo, //鏉愯川
+ // OrderNo = generate.PalletCode, //鍗曟嵁锛堟墭鐩樻潯鐮侊級
+ // BatchNo = part2, //鎵规鍙�
+ // SerialNumber = part3, //搴忓垪鍙�
+ // StockQuantity = 1, //搴忓垪鍙�
+ // OutboundQuantity = 1, //搴忓垪鍙�
+ // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // };
+ // _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail);
+
+ // _unitOfWorkManage.CommitTran();
+ // return content = WebResponseContent.Instance.OK();
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.OK();
+ // }
+
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error("鏈壘鍒拌绫诲瀷鐨勮В鏋�");
+ // }
+
+ // }
+ // catch (Exception ex)
+ // {
+
+ // throw;
+ // }
+ //}
+
+ ///// <summary>
+ ///// 瑙f瀽搴撳瓨
+ ///// </summary>
+ ///// <returns></returns>
+ //public WebResponseContent Queryinventory(GenerateInv generate)
+ //{
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+
+ // string[] targetCodes = generate.PalletCode.Split("*");
+ // if (targetCodes.Length == 4)
+ // {
+ // Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.OrderName == targetCodes[0]);
+
+ // if (dt_Inbound != null)
+ // {
+ // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // if (dt_Inbound.OrderType == (int)InventoryMaterialType.鍘熸潗鏂�) //0涓哄師鏉愭枡缂栫爜
+ // {
+ // List<Dt_LocationInfo> locationInfos = _basicService.LocationInfoService.Repository.QueryData(x => x.RoadwayNo == "2" && x.LocationStatus == (int)LocationStatusEnum.Free && x.Depth == 1 && x.EnableStatus == (int)EnableStatusEnum.Normal && x.LocationType == (int)LocationTypeEnum.MaterialsCube);
+
+ // if (dt_StockInfo == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.鍘熸潗鏂�,
+ // Materialweight = decimal.Parse(targetCodes[3]),
+ // Wlstatus = (int)InventoryMaterialStatus.寰呮,
+ // Mgeneratetime = DateTime.Now,
+ // };
+ // _unitOfWorkManage.BeginTran();
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+ // Dt_StockInfo dt_StockInfo2 = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // string part2 = targetCodes[1].Substring(0, 2); //瑙f瀽鐗╂枡鎵规鎵捐鎯�
+ // Dt_InboundOrder dt_Int = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.UpperOrderNo == part2);
+
+ // Dt_StockInfoDetail dt_StockInfoDetail = new()
+ // {
+ // StockId = dt_StockInfo2.Id,
+ // MaterielCode = dt_Inbound.OrderName, //鐗╂枡鍙�
+ // MaterielName = dt_Inbound.UpperOrderNo, //鐗╂枡鍚嶇О
+ // OrderNo = dt_Inbound.OrderNo, //鐗╂枡璇︽儏
+ // BatchNo = targetCodes[1].ToString(), //鐗╂枡鎵规
+ // SerialNumber = targetCodes[2].ToString(), //鍖呭彿
+ // BatchNoName = dt_Int.OrderNo,
+ // //StockQuantity = decimal.Parse(targetCodes[3].ToString()), //閲嶉噺
+ // OutboundQuantity = 1, //搴忓垪鍙�
+ // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+
+ // };
+ // _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail);
+ // _unitOfWorkManage.CommitTran();
+ // if (locationInfos.Count < 50)
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 3);
+ // }
+ // }
+ // else
+ // {
+ // if (dt_StockInfo.StockStatus == (int)StockStatusEmun.缁勭洏鏆傚瓨)
+ // {
+ // if (locationInfos.Count < 50)
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 3);
+ // }
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"搴撳瓨宸叉湁璇ユ潯鐮侊紝鏉$爜淇℃伅锛歿generate.PalletCode}");
+ // }
+
+ // }
+ // }
+ // else if (dt_Inbound.OrderType == (int)InventoryMaterialType.鎴愬搧)
+ // {
+ // if (dt_StockInfo == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.鎴愬搧,
+ // Materialweight = decimal.Parse(targetCodes[3]),
+ // Wlstatus = (int)InventoryMaterialStatus.寰呮,
+ // Mgeneratetime = DateTime.Now,
+ // };
+ // _unitOfWorkManage.BeginTran();
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+ // Dt_StockInfo dt_StockInfo2 = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // Dt_StockInfoDetail dt_StockInfoDetail = new()
+ // {
+ // StockId = dt_StockInfo2.Id,
+ // MaterielCode = dt_Inbound.OrderName, //鐗╂枡鍙�
+ // MaterielName = dt_Inbound.UpperOrderNo, //鐗╂枡鍚嶇О
+ // OrderNo = dt_Inbound.OrderNo, //鐗╂枡璇︽儏
+ // BatchNo = targetCodes[1].ToString(), //鐗╂枡鎵规
+ // BatchNoName = "",
+ // SerialNumber = targetCodes[2], //鍖呭彿
+ // //StockQuantity = decimal.Parse(targetCodes[3]), //閲嶉噺
+ // OutboundQuantity = 1, //搴忓垪鍙�
+ // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // };
+ // _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail);
+ // _unitOfWorkManage.CommitTran();
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // else
+ // {
+ // if (dt_StockInfo.StockStatus == (int)StockStatusEmun.缁勭洏鏆傚瓨)
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"搴撳瓨宸叉湁璇ユ潯鐮侊紝鏉$爜淇℃伅锛歿generate.PalletCode}");
+ // }
+ // }
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"鏈壘鍒版潯鐮佽В鏋愶紝鏉$爜淇℃伅锛歿generate.PalletCode}");
+ // }
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟锛屾潯鐮佷俊鎭細{generate.PalletCode}");
+ // }
+
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"瑙f瀽鐨勬墭鐩樻潯鐮侀暱搴︿笉瓒�4,鏉$爜淇℃伅锛歿generate.PalletCode}");
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // return content = WebResponseContent.Instance.Error($"绯荤粺宸烽亾鍏ュ簱鎺ュ彛瑙f瀽閿欒锛氶敊璇細{ex.Message}");
+ // throw;
+ // }
+ //}
+
+ //public WebResponseContent Queryinventory2(GenerateInv generate)
+ //{
+ // try
+ // {
+ // WebResponseContent content = new WebResponseContent();
+ // string result = generate.PalletCode.Substring(0, 2);
+ // if (result == "B-")
+ // {
+ // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // if (dt_StockInfo == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.鎴愬搧,
+ // Materialweight = 0,
+ // };
+ // _unitOfWorkManage.BeginTran();
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+
+ // //string part2 = generate.PalletCode.Substring(2, 8);
+
+ // //string part3 = generate.PalletCode.Split('#')[1];
+ // Dt_StockInfo dt_StockInfo2 = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // Dt_StockInfoDetail dt_StockInfoDetail = new()
+ // {
+ // StockId = dt_StockInfo2.Id,
+ // MaterielCode = dt_StockInfo2.PalletCode, //鐗╂枡缂栧彿
+ // MaterielName = dt_StockInfo2.PalletCode, //鏉愯川
+ // OrderNo = dt_StockInfo2.PalletCode, //鍗曟嵁锛堟墭鐩樻潯鐮侊級
+ // BatchNo = dt_StockInfo2.PalletCode, //鎵规鍙�
+ // SerialNumber = dt_StockInfo2.PalletCode, //搴忓垪鍙�
+ // StockQuantity = 1, //搴忓垪鍙�
+ // OutboundQuantity = 1, //搴忓垪鍙�
+ // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // };
+ // _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail);
+
+ // _unitOfWorkManage.CommitTran();
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // else
+ // {
+ // if (dt_StockInfo.StockStatus == (int)StockStatusEmun.缁勭洏鏆傚瓨)
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"搴撳瓨宸叉湁璇ユ潯鐮侊紝鏉$爜淇℃伅锛歿generate.PalletCode}");
+ // }
+ // }
+ // }
+ // else
+ // {
+ // Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.UpperOrderNo == result);
+ // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // List<Dt_LocationInfo> locationinfoData = _basicService.LocationInfoService.Repository.QueryData(x => x.RoadwayNo == "2" && x.LocationStatus == LocationStatusEnum.Free.ObjToInt()
+ // && x.LocationType == (int)LocationTypeEnum.MaterialsCube);
+ // if (dt_Inbound != null)
+ // {
+ // if (dt_StockInfo == null)
+ // {
+ // Dt_StockInfo dt_Stock = new()
+ // {
+ // PalletCode = generate.PalletCode,
+ // IsFull = true,
+ // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // MaterialType = (int)InventoryMaterialType.鍘熸潗鏂�,
+ // Materialweight = 0,
+ // };
+ // _unitOfWorkManage.BeginTran();
+ // _stockService.StockInfoService.Repository.AddData(dt_Stock);
+
+ // string part2 = generate.PalletCode.Substring(2, 8);
+
+ // string part3 = generate.PalletCode.Split('#')[1];
+ // Dt_StockInfo dt_StockInfo2 = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == generate.PalletCode);
+ // Dt_StockInfoDetail dt_StockInfoDetail = new()
+ // {
+ // StockId = dt_StockInfo2.Id,
+ // MaterielCode = result, //鐗╂枡缂栧彿
+ // MaterielName = dt_Inbound.OrderNo, //鏉愯川
+ // OrderNo = generate.PalletCode, //鍗曟嵁锛堟墭鐩樻潯鐮侊級
+ // BatchNo = part2, //鎵规鍙�
+ // SerialNumber = part3, //搴忓垪鍙�
+ // StockQuantity = 1, //搴忓垪鍙�
+ // OutboundQuantity = 1, //搴忓垪鍙�
+ // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨,
+ // Creater = "WMS",
+ // CreateDate = DateTime.Now,
+ // };
+ // _stockService.StockInfoDetailService.AddData(dt_StockInfoDetail);
+
+ // _unitOfWorkManage.CommitTran();
+
+
+ // if (locationinfoData.Count > 40)
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 3);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+
+ // }
+ // else
+ // {
+ // if (dt_StockInfo.StockStatus == (int)StockStatusEmun.缁勭洏鏆傚瓨)
+ // {
+ // if (locationinfoData.Count > 40)
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 3);
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.OK(data: 1);
+ // }
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error($"搴撳瓨宸叉湁璇ユ潯鐮侊紝鏉$爜淇℃伅锛歿generate.PalletCode}");
+ // }
+ // }
+
+ // }
+ // else
+ // {
+ // return content = WebResponseContent.Instance.Error("鏈壘鍒拌绫诲瀷鐨勮В鏋�");
+ // }
+
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+
+ // throw;
+ // }
+ //}
}
}
--
Gitblit v1.9.3