From 67348f250a1b7970059698002949a5e0a5f3c52f Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期四, 14 八月 2025 08:51:04 +0800
Subject: [PATCH] 上传最新代码

---
 项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs | 1389 ---------------------------------------------------------
 1 files changed, 0 insertions(+), 1,389 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
index 0df30d5..7e96894 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -36,1394 +36,5 @@
     public partial class TaskService
     {
         static object lock_out = new object();
-
-        /// <summary>
-        /// 娴嬭瘯鏋跺嚭浠�
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent TestToolOut(TestToolOutModel model)
-        {
-            lock (lock_out)
-            {
-                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.HA64.ToString());
-                    //鑾峰彇搴撳瓨璁板綍
-                    List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
-                      x.WarehouseId == warehouse.WarehouseId &&
-                      x.StockStatus == (int)StockStatusEmun.鍏ュ簱瀹屾垚).Includes(x => x.Details).ToList();
-                    Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == model.ToolCode));
-                    if (stockInfo == null)
-                    {
-                        return responseContent.Error($"娴嬭瘯鏋�:{model.ToolCode}鏃犲彲鐢ㄥ簱瀛�");
-                    }
-                    Dt_Task exsit2 = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode);
-                    if (exsit2 != null)
-                    {
-                        return responseContent.Error($"娴嬭瘯鏋舵壒娆″彿閲嶅");
-                    }
-
-                    Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode &&
-                      x.WarehouseId == stockInfo.WarehouseId &&
-                      x.LocationStatus == (int)LocationStatusEnum.InStock &&
-                      (x.EnableStatus == (int)EnableStatusEnum.Normal || x.EnableStatus == (int)EnableStatusEnum.OnlyOut));
-                    if (locationInfo == null)
-                    {
-                        return responseContent.Error($"娴嬭瘯鏋惰揣浣嶃�傘�傘�傘�傘�傘�傘�傘�傘��:{stockInfo.LocationCode}鍑哄簱鏉′欢涓嶆弧瓒�");
-                    }
-                    //鐢熸垚娴嬭瘯鏋跺嚭搴撲换鍔� 閿佸畾搴撳瓨 鏇存敼璐т綅鐘舵��
-                    Dt_Task taskOut = new()
-                    {
-                        CurrentAddress = stockInfo.LocationCode,
-                        Grade = 0,
-                        PalletCode = stockInfo.PalletCode,
-                        NextAddress = "",
-                        Roadway = locationInfo.RoadwayNo,
-                        SourceAddress = stockInfo.LocationCode,
-                        TargetAddress = model.TargetAddressCode,
-                        TaskStatus = (int)TaskStatusEnum.New,
-                        TaskType = (int)TaskTypeEnum.Outbound,
-                        TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
-                        PalletType = stockInfo.PalletType,
-                        WarehouseId = stockInfo.WarehouseId,
-                    };
-                    stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾;
-                    LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus;
-                    locationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
-                    //鍒ゆ柇鏄惁鏈夊嚭搴撳崟淇℃伅
-                    _unitOfWorkManage.BeginTran();
-                    //鏇存柊搴撳瓨鐘舵��
-                    _stockRepository.StockInfoRepository.UpdateData(stockInfo);
-                    //鏇存柊璐т綅鐘舵��
-                    _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId);
-                    //鏂板缓浠诲姟
-                    BaseDal.AddData(taskOut);
-                    //鍔犲叆璐т綅鍙樺姩璁板綍
-                    _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationStatusEnum.Lock, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum);
-                    _unitOfWorkManage.CommitTran();
-                    //灏嗕换鍔℃帹閫佸埌WCS
-                    PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV_CSJ");
-                    responseContent.OK();
-                }
-                catch (Exception ex)
-                {
-                    _unitOfWorkManage.RollbackTran();
-                    responseContent.Error(ex.Message);
-                }
-                return responseContent;
-            }
-        }
-        /// <summary>
-        /// 娴嬭瘯鏋堕��搴�
-        /// </summary>
-        /// <returns></returns>
-        public MesResponseContent TestToolBack(TestToolBackModel backModel)
-        {
-            MesResponseContent responseContent = new MesResponseContent();
-            try
-            {
-                //鑾峰彇娴嬭瘯鏋跺師搴撳瓨淇℃伅
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
-                //鑾峰彇搴撳瓨璁板綍
-                List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
-                  x.WarehouseId == warehouse.WarehouseId &&
-                  x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚).Includes(x => x.Details).ToList();
-                Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == backModel.TestToolCode));
-                if (stockInfo == null)
-                {
-                    return responseContent.Error($"{backModel.TestToolCode}搴撳瓨淇℃伅涓嶅瓨鍦�");
-                }
-                //鐢熸垚閫�搴撲换鍔�
-                Dt_Task taskIn = new()
-                {
-                    CurrentAddress = backModel.SourceAddressCode,
-                    Grade = 0,
-                    PalletCode = stockInfo.PalletCode,
-                    NextAddress = "",
-                    Roadway = "",
-                    SourceAddress = backModel.SourceAddressCode,
-                    TargetAddress = "",
-                    TaskStatus = (int)TaskStatusEnum.New,
-                    TaskType = (int)TaskTypeEnum.ProductionReturn,
-                    TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
-                    PalletType = stockInfo.PalletType,
-                    WarehouseId = stockInfo.WarehouseId,
-                };
-                //鏇存敼搴撳瓨鐘舵��
-                stockInfo.StockStatus = StockStatusEmun.閫�搴�.ObjToInt();
-                BaseDal.AddData(taskIn);
-                _stockRepository.StockInfoRepository.UpdateData(stockInfo);
-                //灏嗕换鍔℃帹閫佸埌WCS
-                PushTasksToWCS(new List<Dt_Task>() { taskIn }, "AGV_CSJ"); ;
-                responseContent.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                responseContent.Error(ex.Message);
-            }
-            return responseContent;
-        }
-        /// <summary>
-        /// 娴嬭瘯鏋舵姤搴�
-        /// </summary>
-        /// <returns></returns>
-        public MesResponseContent TestScrap(TestToolScrap toolScraps)
-        {
-            MesResponseContent responseContent = new MesResponseContent();
-            try
-            {
-                //鑾峰彇娴嬭瘯鏋舵壒娆″彿搴撳瓨
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
-                //鑾峰彇搴撳瓨璁板綍
-                List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
-                  x.WarehouseId == warehouse.WarehouseId &&
-                  x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚).Includes(x => x.Details).ToList();
-                List<Dt_StockInfo> stockInfoUpdates = new List<Dt_StockInfo>();
-                List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
-                foreach (var item in toolScraps.ToolCodes)
-                {
-                    Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == item));
-                    if (stockInfo == null)
-                    {
-                        return responseContent.Error($"{item}搴撳瓨淇℃伅涓嶅瓨鍦�");
-                    }
-                    stockInfoUpdates.Add(stockInfo);
-                    stockInfoDetails.Add(stockInfo.Details.FirstOrDefault());
-                }
-                //娓呴櫎搴撳瓨淇℃伅
-                _unitOfWorkManage.BeginTran();
-                _stockRepository.StockInfoRepository.DeleteAndMoveIntoHty(stockInfoUpdates, OperateTypeEnum.鑷姩鍒犻櫎);
-                _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfoDetails, OperateTypeEnum.鑷姩鍒犻櫎);
-                _unitOfWorkManage.CommitTran();
-                responseContent.OK($"鎶ュ簾鎴愬姛");
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                responseContent.Error(ex.Message);
-            }
-            return responseContent;
-        }
-        /// <summary>
-        /// 鍚屾娴嬭瘯鏋跺鍛�
-        /// </summary>
-        /// <param name="toolSynInfo"></param>
-        /// <returns></returns>
-        public WebResponseContent TestSynStock(TestToolSynInfo toolSynInfo)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_TestToolSync.ToString());
-                MESRoot<TestToolSynInfo> root = new MESRoot<TestToolSynInfo>()
-                {
-                    From = "WMS",
-                    DateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
-                    Content = toolSynInfo
-                };
-                JsonSerializerSettings settings = new JsonSerializerSettings
-                {
-                    ContractResolver = new CamelCasePropertyNamesContractResolver()
-                };
-                string request = JsonConvert.SerializeObject(root, settings);
-                string response = HttpMesHelper.Post(apiInfo.ApiAddress, request);
-                MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
-                //璋冪敤鎺ュ彛
-                if (mesResponseContent.BSucc == true)
-                {
-                    content.OK(mesResponseContent.StrMsg);
-                }
-                else
-                {
-                    content.Error(mesResponseContent.StrMsg);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 鐗╂枡鍑哄簱锛學MS鍚屾鍑哄簱鐗╂枡鎵规鑷矼ES
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public WebResponseContent UploadMesMaterialLotaAcept(MesMaterialLotaAceptModel model)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_MaterialLotaAcept.ToString());
-                MESRoot<MesMaterialLotaAceptModel> root = new MESRoot<MesMaterialLotaAceptModel>()
-                {
-                    From = "WMS",
-                    DateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
-                    Content = model
-                };
-                JsonSerializerSettings settings = new JsonSerializerSettings
-                {
-                    ContractResolver = new CamelCasePropertyNamesContractResolver()
-                };
-                string request = JsonConvert.SerializeObject(root, settings);
-                string response = HttpMesHelper.Post(apiInfo.ApiAddress, request);
-                MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
-                //璋冪敤鎺ュ彛
-                if (mesResponseContent.BSucc == true)
-                {
-                    content.OK(mesResponseContent.StrMsg);
-                }
-                else
-                {
-                    content.Error(mesResponseContent.StrMsg);
-                }
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="stockInfo"></param>
-        /// <param name="stockInfoDetail"></param>
-        /// <param name="taskNo"></param>
-        /// <param name="warehouseCode"></param>
-        /// <param name="quantity"></param>
-        /// <param name="cutedType"></param>
-        /// <param name="ppWidth"></param>
-        /// <returns></returns>
-        public MesMaterialLotaAceptModel GetMesMaterialLotaAceptModel(Dt_StockInfo stockInfo, Dt_StockInfoDetail stockInfoDetail, string taskNo, string warehouseCode, float quantity, string cutedType = "", float ppWidth = 0)
-        {
-            MesMaterialLotaAceptModel model = new MesMaterialLotaAceptModel()
-            {
-                CarrierCode = stockInfo.PalletCode,
-                CutedType = cutedType,
-                ExpirationDate = stockInfoDetail.EffectiveDate,
-                MaterialBarCode = stockInfoDetail.SerialNumber,
-                MaterialCode = stockInfoDetail.MaterielCode,
-                MaterialLot = stockInfoDetail.MaterielCode + "," + stockInfoDetail.BatchNo,
-                MaterialName = stockInfoDetail.MaterielName,
-                PPWidth = ppWidth,
-                ProductionDate = stockInfoDetail.ProductionDate,
-                Quantity = quantity,
-                Supplier = "",
-                TaskNo = taskNo,
-                Type = 1,
-                WarehouseArea = warehouseCode,
-                WarehouseLocation = warehouseCode
-            };
-
-            return model;
-        }
-
-        /// <summary>
-        /// 鍩烘澘鍑哄簱
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent SubstrateOut(SubstrateOutModel model)
-        {
-            try
-            {
-                string line = string.Empty;
-                if (!model.Line.Contains("SCUTL"))
-                {
-                    line = WarehouseEnum.HA58.ToString();
-                }
-                else
-                {
-                    line = WarehouseEnum.HA57.ToString();
-                }
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == line);
-                if (warehouse == null)
-                {
-                    return MesResponseContent.Instance.Error($"浠撳簱鍩虹淇℃伅鏈厤缃�");
-                }
-
-                Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterialCode);
-                if (materielInfo == null)
-                {
-                    return MesResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡淇℃伅");
-                }
-
-                Dt_MesOutboundOrder mesOutboundOrder = new Dt_MesOutboundOrder()
-                {
-                    CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
-                    Line = model.Line,
-                    MaterialCode = model.MaterialCode,
-                    MaterialName = model.MaterialName,
-                    OrderQuantity = model.RequiredQuantity,
-                    TaskNo = model.TaskNo,
-                    Unit = model.Unit,
-                    OrderType = MesOutboundOrderTypeEnum.SubstrateOut.ObjToInt(),
-                    OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                    WarehouseId = warehouse.WarehouseId
-                };
-
-                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 =>
-                        {
-                            x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
-                        });
-
-                        stockInfos = result.Item1;
-                        mesOutboundOrder = result.Item2;
-                        outStockLockInfos = result.Item3;
-                        locationInfos = result.Item4;
-                    }
-                    else
-                    {
-                        throw new Exception("鏃犲簱瀛�");
-                    }
-                }
-                tasks.ForEach(x =>
-                {
-                    x.TargetAddress = model.Line;
-                    x.OrderNo = mesOutboundOrder.TaskNo;
-                });
-                _unitOfWorkManage.BeginTran();
-
-                int id = BaseDal.AddData(tasks);
-                outStockLockInfos.ForEach(x =>
-                {
-                    x.OrderNo = mesOutboundOrder.TaskNo;
-                    x.OrderDetailId = id;
-                });
-                _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);
-
-                    if (!content.Status)
-                    {
-                        _unitOfWorkManage.RollbackTran();
-                        return MesResponseContent.Instance.Error(content.Message);
-                    }
-                }
-                _unitOfWorkManage.CommitTran();
-                PushTasksToWCS(tasks);
-
-
-                return MesResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                return MesResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鍩烘澘浣欐枡閫�搴�
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent SubstrateBack(SubstrateBackModel model)
-        {
-            try
-            {
-                Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => model.CarrierCode.Contains(x.CodeStartStr));
-                if (palletTypeInfo == null)
-                {
-                    return MesResponseContent.Instance.Error($"鏈瘑鍒鎵樼洏绫诲瀷锛岃纭鎵樼洏鍙�");
-                }
-
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == palletTypeInfo.WarehouseId);
-
-
-                Dt_StockInfo_Hty stockInfo_Hty = _stockRepository.StockInfo_HtyRepository.QueryData(x => x.PalletCode == model.CarrierCode).OrderByDescending(x => x.SourceId).First();
-                Dt_StockInfoDetail_Hty stockInfoDetail_Hty = _stockRepository.StockInfoDetail_HtyRepository.QueryFirst(x => x.StockId == stockInfo_Hty.SourceId);
-
-                Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
-                {
-                    MaterielSpec = stockInfoDetail_Hty.MaterielSpec,
-                    BatchNo = stockInfoDetail_Hty?.BatchNo ?? "",
-                    EffectiveDate = model.ExpirationDate,
-                    MaterielCode = model.MaterialCode,
-                    InboundOrderRowNo = stockInfoDetail_Hty?.InboundOrderRowNo ?? 0,
-                    MaterielName = stockInfoDetail_Hty.MaterielName,
-                    ProductionDate = model.ProductionDate,
-                    OrderNo = stockInfoDetail_Hty?.OrderNo ?? "",
-                    OutboundQuantity = 0,
-                    SerialNumber = stockInfoDetail_Hty?.SerialNumber ?? "0",
-                    StockQuantity = model.Quantity,
-                    Status = model.Quantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt() : StockStatusEmun.MES閫�搴�.ObjToInt(),
-                    Unit = model.Unit
-                };
-                Dt_StockInfo stockInfo = new Dt_StockInfo()
-                {
-                    PalletCode = model.CarrierCode,
-                    PalletType = palletTypeInfo.PalletType,
-                    WarehouseId = warehouse.WarehouseId,
-                    StockStatus = stockInfoDetail.StockQuantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt() : StockStatusEmun.MES閫�搴�.ObjToInt(),
-                    Details = new List<Dt_StockInfoDetail> { stockInfoDetail },
-                    Remark = stockInfoDetail.StockQuantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ToString() : StockStatusEmun.MES閫�搴�.ToString()
-                };
-                //Dt_Task task = new Dt_Task()
-                //{
-                //    PalletCode = stockInfo.PalletCode,
-                //    CurrentAddress = "",
-                //    NextAddress = "",
-                //    PalletType = stockInfo.PalletType,
-                //    Roadway = "RGV01_BC",
-                //    SourceAddress = "RGV01_BC",
-                //    TargetAddress = "",
-                //    TaskStatus = TaskStatusEnum.New.ObjToInt(),
-                //    TaskType = TaskTypeEnum.MesMatReturn.ObjToInt(),
-                //    WarehouseId = warehouse.WarehouseId
-                //};
-
-                _unitOfWorkManage.BeginTran();
-                Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
-                //BaseDal.AddData(task);
-                _unitOfWorkManage.CommitTran();
-
-                return MesResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return MesResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// PP澶у嵎鍑哄簱-杩涜鍒嗗嵎
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent PPSubsectionOut(PPSubsectionOutModel model)
-        {
-            MesResponseContent modelCount = new MesResponseContent();
-            try
-            {
-
-                Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
-                if (warehouse == null)
-                {
-                    return MesResponseContent.Instance.Error("浠撳簱淇℃伅鏈厤缃�");
-                }
-                Dt_MesPPOutboundOrder mesPPOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPOutboundOrder>().Where(x => x.TaskNo == model.TaskNo).Includes(x => x.Details).First();
-                if (mesPPOutboundOrder != null)
-                {
-                    return MesResponseContent.Instance.Error("宸插瓨鍦ㄦ浠诲姟鍗曞彿");
-                }
-                List<Dt_MesPPOutboundOrderDetail> mesPPOutboundOrderDetail = new List<Dt_MesPPOutboundOrderDetail>();
-                foreach (var item in model.Carriers)
-                {
-                    //mesPPOutboundOrderDetail.Add(_mapper.Map<Dt_MesPPOutboundOrderDetail>(item));
-                    Dt_MesPPOutboundOrderDetail dt_MesPPOutboundOrderDetail = new Dt_MesPPOutboundOrderDetail
-                    {
-                        CarrierCode = item.CarrierCode,
-                        Warehouse = item.Warehouse,
-                        OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt()
-                    };
-                    mesPPOutboundOrderDetail.Add(dt_MesPPOutboundOrderDetail);
-                }
-                Dt_MesPPOutboundOrder mesOutboundOrder = new Dt_MesPPOutboundOrder()
-                {
-                    CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
-                    MaterialCode = model.MaterialCode,
-                    MaterialName = model.MaterialName,
-                    OrderQuantity = model.RequiredQuantity,
-                    TaskNo = model.TaskNo,
-                    Unit = model.Unit,//PP闇�瑕佽浆鎹㈡垚绫�(闇�姹傚钩鏂�(PNL鏁�*闈㈢Н)/瀹藉害)
-                    Width = model.Width,
-                    TargetAddressCode = model.TargetAddressCode,
-                    OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                    OrderType = OutOrderTypeEnum.Issue.ObjToInt(),
-                    WarehouseId = warehouse.WarehouseId,
-                    Details = mesPPOutboundOrderDetail
-                };
-                #region
-                //Db.InsertNav(mesOutboundOrder).Include(x=>x.Details).ExecuteCommand();
-                //    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_MesPPOutboundOrder, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.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 =>
-                //            {
-                //                x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
-                //            });
-
-                //            stockInfos = result.Item1;
-                //            mesOutboundOrder = result.Item2;
-                //            outStockLockInfos = result.Item3;
-                //            locationInfos = result.Item4;
-                //            mesPPOutboundOrderDetail.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-
-                //        }
-                //        else
-                //        {
-                //            throw new Exception("鏃犲簱瀛�");
-                //        }
-                //    }
-                //    tasks.ForEach(x =>
-                //    {
-                //        x.TargetAddress = model.TargetAddressCode;
-                //    });
-                //    _unitOfWorkManage.BeginTran();
-
-                //    int id = BaseDal.AddData(tasks);
-                //    outStockLockInfos.ForEach(x =>
-                //    {
-                //        x.OrderNo = mesOutboundOrder.TaskNo;
-                //        x.OrderDetailId = id;
-                //    });
-                //    //_outboundService.MesPPOutboundOrderService.Repository.AddData(mesOutboundOrder);
-                //    Db.InsertNav(mesOutboundOrder).Include(x => x.Details).ExecuteCommand();
-                //    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);
-
-                //        if (!content.Status)
-                //        {
-                //            _unitOfWorkManage.RollbackTran();
-                //            return MesResponseContent.Instance.Error(content.Message);
-                //        }
-                //    }
-                //    _unitOfWorkManage.CommitTran();
-                //    PushTasksToWCS(tasks);
-
-                //}
-                #endregion
-                _unitOfWorkManage.BeginTran();
-                Db.InsertNav(mesOutboundOrder).Include(x => x.Details).ExecuteCommand();
-                _unitOfWorkManage.CommitTran();
-                return MesResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return MesResponseContent.Instance.Error(ex.Message);
-            }
-
-        }
-
-        /// <summary>
-        /// PP灏忓嵎鍑哄簱
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent PPCutOut(PPCutOutModle model)
-        {
-            try
-            {
-
-                Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
-                if (warehouse == null)
-                {
-                    return MesResponseContent.Instance.Error("浠撳簱鍩虹淇℃伅鏈厤缃�");
-                }
-                Dt_MesPPCutOutboundOrder mesPPCutOutboundOrder = BaseDal.Db.Queryable<Dt_MesPPCutOutboundOrder>().Where(x => x.TaskNo == model.TaskNo).Includes(x => x.Details).First();
-                if (mesPPCutOutboundOrder != null)
-                {
-                    return MesResponseContent.Instance.Error("宸插瓨鍦ㄦ浠诲姟鍗曞彿");
-                }
-                List<Dt_MesPPCutOutboundOrderDetail> mesPPCutOutboundOrderDetail = new List<Dt_MesPPCutOutboundOrderDetail>();
-                foreach (var item in model.MaterialDetails)
-                {
-                    mesPPCutOutboundOrderDetail.Add(_mapper.Map<Dt_MesPPCutOutboundOrderDetail>(item));
-                }
-                Dt_MesPPCutOutboundOrder mesPPOutboundOrder = new Dt_MesPPCutOutboundOrder()
-                {
-                    CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
-                    TaskNo = model.TaskNo,
-                    OrderType = OutOrderTypeEnum.Issue.ObjToInt(),
-                    OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                    WarehouseId = warehouse.WarehouseId,
-                    Details = mesPPCutOutboundOrderDetail,
-                };
-                _unitOfWorkManage.BeginTran();
-                Db.InsertNav(mesPPOutboundOrder).Include(x => x.Details).ExecuteCommand();
-                _unitOfWorkManage.CommitTran();
-                #region
-                //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_MesPPCutOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPOutboundOrderService.AssignStockOutbound(mesPPOutboundOrder, mesPPCutOutboundOrderDetail);
-                //    if (result.Item1 != null && result.Item1.Count > 0)
-                //    {
-                //        tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
-                //        result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-                //        result.Item3.ForEach(x =>
-                //        {
-                //            x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
-                //        });
-
-                //        stockInfos = result.Item1;
-                //        mesPPCutOutboundOrderDetail = result.Item2;
-                //        outStockLockInfos = result.Item3;
-                //        locationInfos = result.Item4;
-
-                //    }
-                //    else
-                //    {
-                //        throw new Exception("鏃犲簱瀛�");
-                //    }
-                //}
-                //tasks.ForEach(x =>
-                //{
-                //    x.TargetAddress = mesPPCutOutboundOrderDetail.TargetAddressCode;
-                //});
-                //_unitOfWorkManage.BeginTran();
-
-                //int id = BaseDal.AddData(tasks);
-                //outStockLockInfos.ForEach(x =>
-                //{
-                //    x.OrderNo = mesPPOutboundOrder.TaskNo;
-                //    x.OrderDetailId = id;
-                //});
-                ////_outboundService.MesPPOutboundOrderService.Repository.AddData(mesOutboundOrder);
-                //Db.InsertNav(mesPPOutboundOrder).Include(x => x.Details).ExecuteCommand();
-                //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);
-
-                //    if (!content.Status)
-                //    {
-                //        _unitOfWorkManage.RollbackTran();
-                //        return MesResponseContent.Instance.Error(content.Message);
-                //    }
-                //}
-                //_unitOfWorkManage.CommitTran();
-                //PushTasksToWCS(tasks, "AGV_PP");
-                #endregion
-                return MesResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return MesResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        ///  PP鍏ュ簱(澶у嵎銆佸皬鍗枫�佸紶鏂�)
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent PPBack(PPBackModel model)
-        {
-            try
-            {
-                //涓�娆″彧鍙戜竴鍗风墿鏂欏叆搴撴槑缁�
-                foreach (var item in model.MaterialLotInfo)
-                {
-                    //鑾峰彇鐗╂枡淇℃伅
-                    Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == item.MaterialCode);
-                    if (materielInfo == null)
-                    {
-                        return MesResponseContent.Instance.Error($"鐗╂枡{item.MaterialCode}涓嶅瓨鍦�!");
-                    }
-                    Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
-                    if (warehouse == null)
-                    {
-                        return MesResponseContent.Instance.Error($"鏈壘鍒颁粨搴撲俊鎭�");
-                    }
-                    Dt_MesPPBackInboundOrderDetail mesPPBackInboundOrderDetail = new Dt_MesPPBackInboundOrderDetail()
-                    {
-                        MaterialLot = item.MaterialLot,
-                        MaterielCode = item.MaterialCode,
-                        OrderQuantity = item.Quantity,
-                        CutedWidth = item.CutedWidth,
-                        MaterialLotOld = item.MaterialLotOld,
-                        Unit = item.Unit,
-                        ProductionDate = item.ProductionDate,
-                        EffectiveDate = item.ExpirationDate,
-                        OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
-                    };
-                    Dt_MesPPBackInboundOrder mesPPBackInboundOrder = new Dt_MesPPBackInboundOrder()
-                    {
-                        WarehouseId = warehouse.WarehouseId,
-                        SourceAddressCode = model.SourceAddressCode,
-                        CarrierCode = model.CarrierCode,
-                        OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                        CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
-                        Details = new List<Dt_MesPPBackInboundOrderDetail> { mesPPBackInboundOrderDetail }
-                    };
-
-                    Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
-                    {
-                        BatchNo = mesPPBackInboundOrderDetail.MaterialLot,
-                        MaterielCode = mesPPBackInboundOrderDetail.MaterielCode,
-                        MaterielName = materielInfo.MaterielName,
-                        OrderNo = "",
-                        SerialNumber = "",
-                        StockQuantity = mesPPBackInboundOrderDetail.OrderQuantity,
-                        OutboundQuantity = 0,
-                        Unit = materielInfo.MaterielUnit,
-                        Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
-                        ProductionDate = mesPPBackInboundOrderDetail.ProductionDate,
-                        EffectiveDate = mesPPBackInboundOrderDetail.EffectiveDate,
-                        InboundOrderRowNo = mesPPBackInboundOrderDetail.RowNo,
-                    };
-
-                    Dt_StockInfo stockInfo = new Dt_StockInfo()
-                    {
-                        PalletCode = model.CarrierCode,
-                        StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
-                        WarehouseId = mesPPBackInboundOrder.WarehouseId,
-                        Details = new List<Dt_StockInfoDetail> { stockInfoDetail }
-                    };
-                    _unitOfWorkManage.BeginTran();
-                    Db.InsertNav(mesPPBackInboundOrder).Include(x => x.Details).ExecuteCommand();
-                    Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
-                    WebResponseContent content = DeviceRequestInboundTask(mesPPBackInboundOrder, stockInfo);
-                    if (!content.Status)
-                    {
-                        _unitOfWorkManage.RollbackTran();
-                        return MesResponseContent.Instance.Error(content.Message);
-                    }
-                    _unitOfWorkManage.CommitTran();
-                }
-                return MesResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return MesResponseContent.Instance.Error(ex.Message);
-            }
-
-        }
-
-        public WebResponseContent DeviceRequestInboundTask(Dt_MesPPBackInboundOrder mesPPBackInboundOrder, Dt_StockInfo stockInfo)
-        {
-            try
-            {
-                Dt_Task task = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode);
-                if (task != null)
-                {
-                    PushTasksToWCS(new List<Dt_Task> { task });
-                    return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡鐢熸垚浠诲姟");
-                }
-                if (Repository.QueryFirst(x => x.SourceAddress == stockInfo.PalletCode && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
-                {
-                    return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�");
-                }
-                //Dt_StockInfo stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
-                //if (stockInfos == null)
-                //{
-                //    return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
-                //}
-                //if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎷i�夊畬鎴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.閫�搴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.MES閫�搴�.ObjToInt())
-                //{
-                //    return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱");
-                //}
-                //if (!string.IsNullOrEmpty(stockInfo.LocationCode))
-                //{
-                //    return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
-                //}
-                //鍙叆骞冲簱,闇�鍒ゆ柇骞冲簱瀹氫箟璐т綅绫诲瀷銆傘�傘�傘�傘�傘�傘�傘�傘�傘�傘�傘��
-                Dt_LocationInfo? locationInfos = _basicRepository.LocationInfoRepository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId && x.LocationType == LocationTypeEnum.MediumPallet.ObjToInt());
-                Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(locationInfos.RoadwayNo, stockInfo.PalletType, stockInfo.WarehouseId);
-                if (locationInfo == null)
-                {
-                    return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
-                }
-
-                Dt_Task newTask = new Dt_Task()
-                {
-                    CurrentAddress = mesPPBackInboundOrder.SourceAddressCode,
-                    Grade = 0,
-                    NextAddress = locationInfo.LocationCode,
-                    PalletCode = stockInfo.PalletCode,
-                    Roadway = locationInfo.RoadwayNo,//宸烽亾鍙峰寘鍚獳GV
-                    SourceAddress = mesPPBackInboundOrder.SourceAddressCode,
-                    TargetAddress = locationInfo.LocationCode,
-                    TaskType = TaskTypeEnum.Inbound.ObjToInt(),
-                    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,
-                };
-                LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus;
-                _unitOfWorkManage.BeginTran();
-                _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus, LocationStatusEnum.Lock, LocationChangeType.InboundAssignLocation);
-                _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, newTask.PalletType, LocationStatusEnum.Lock, newTask.WarehouseId);
-                BaseDal.AddData(newTask);
-                _stockRepository.StockInfoRepository.UpdateData(stockInfo);
-                _unitOfWorkManage.CommitTran();
-
-                PushTasksToWCS(new List<Dt_Task> { newTask });
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        ///  PP搴撳瓨鏌ヨ
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent QueryPpByWidth(QueryPpByWidthModel model)
-        {
-            MesResponseContent content = new MesResponseContent();
-            try
-            {
-                //闇�鍒ゆ柇鏌ヨ绔嬪簱,骞冲簱
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA58.ToString());
-                List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
-                x.WarehouseId == warehouse.WarehouseId &&
-                x.StockStatus == (int)StockStatusEmun.鍏ュ簱瀹屾垚).Includes(x => x.Details).ToList();
-                Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.MaterielCode == model.MaterialCode && x.CutedWidth == model.CutedWidth));
-                if (stockInfo == null)
-                {
-                    return content.Error($"PP浠撶珛搴�/骞冲簱锛氱墿鏂欑紪鍙�:{model.MaterialCode},瑁佸垏瀹�:{model.CutedWidth},鏈壘鍒版鐗╂枡搴撳瓨淇℃伅");
-                }
-                var stock = stockInfo.Details.FirstOrDefault();
-                if (stock != null)
-                {
-                    content.Content = new
-                    {
-                        MaterialCode = stock.MaterielCode,
-                        Quantity = stock.StockQuantity,
-                        Unit = stock.Unit,
-                        Warehouse = warehouse.WarehouseCode,
-                        WarehouseName = warehouse.WarehouseName,
-                        CutedWidth = stock.CutedWidth,
-                        CarrierCode = stockInfo.PalletCode,
-                        MaterialLot = stock.BatchNo,
-                    };
-                }
-                return content.OK();
-            }
-            catch (Exception ex)
-            {
-                return MesResponseContent.Instance.Error(ex.Message);
-            }
-        }
-        
-        
-
-        /// <summary>
-        /// 鐢熸垚PP澶у嵎鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="keys">鍑哄簱鍗曟槑缁嗕富閿�</param>
-        /// <returns></returns>
-        public WebResponseContent MESPPGenerateOutboundTasks(int[] keys)
-        {
-            try
-            {
-                List<Dt_Task> tasks = new List<Dt_Task>();
-                List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>();
-                List<Dt_StockInfo> stockInfos = new List<Dt_StockInfo>();
-                List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails = new List<Dt_MesPPOutboundOrderDetail>();
-                List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
-                List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
-
-                (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?, Dt_MesPPOutboundOrder mesPPOutboundOrder) result = MESPPOutboundTaskDataHandle(keys);
-                if (result.Item2 != null && result.Item2.Count > 0)
-                {
-                    stockInfos.AddRange(result.Item2);
-                }
-                if (result.Item3 != null && result.Item3.Count > 0)
-                {
-                    outboundOrderDetails.AddRange(result.Item3);
-                }
-                if (result.Item4 != null && result.Item4.Count > 0)
-                {
-                    outStockLockInfos.AddRange(result.Item4);
-                }
-                if (result.Item5 != null && result.Item5.Count > 0)
-                {
-                    locationInfos.AddRange(result.Item5);
-                }
-                if (result.Item1 != null && result.Item1.Count > 0)
-                {
-                    tasks.AddRange(result.Item1);
-                }
-                if (result.mesPPOutboundOrder != null)
-                {
-
-                }
-
-                WebResponseContent content = MESPPGenerateOutboundTaskDataUpdate(tasks, stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, result.mesPPOutboundOrder);
-                return content;
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// PP澶у嵎鍑哄簱浠诲姟鏁版嵁澶勭悊
-        /// </summary>
-        /// <param name="orderDetailId"></param>
-        /// <param name="stockSelectViews"></param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?, Dt_MesPPOutboundOrder mesPPOutboundOrder) MESPPOutboundTaskDataHandle(int[] keys)
-        {
-            List<Dt_Task> tasks = new List<Dt_Task>();
-            List<Dt_MesPPOutboundOrderDetail> outboundOrderDetails = BaseDal.Db.Queryable<Dt_MesPPOutboundOrderDetail>().Where(x => keys.Contains(x.Id)).ToList();
-            if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
-            {
-                throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
-            }
-            if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null)
-            {
-                throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�");
-            }
-            List<Dt_StockInfo>? stockInfos = null;
-            List<Dt_MesPPOutboundOrderDetail>? orderDetails = null;
-            List<Dt_OutStockLockInfo>? outStockLockInfos = null;
-            List<Dt_LocationInfo>? locationInfos = null;
-            Dt_MesPPOutboundOrder? mesPPOutboundOrders = null;
-            if (outboundOrderDetails.FirstOrDefault().OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
-            {
-                (List<Dt_StockInfo>, List<Dt_MesPPOutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>, Dt_MesPPOutboundOrder mesPPOutboundOrder) result = _outboundService.MesPPOutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
-                if (result.Item1 != null && result.Item1.Count > 0)
-                {
-                    Dt_MesPPOutboundOrder outboundOrder = _outboundService.MesPPOutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId);
-                    TaskTypeEnum typeEnum = outboundOrder.OrderType switch
-                    {
-                        (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound,
-                        (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate,
-                        (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality,
-                        _ => new TaskTypeEnum()
-                    };
-                    tasks = GetTasks(result.Item1, typeEnum);
-                    result.Item2.ForEach(x =>
-                    {
-                        x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-                    });
-                    result.Item3.ForEach(x =>
-                    {
-                        x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
-                    });
-
-                    stockInfos = result.Item1;
-                    orderDetails = result.Item2;
-                    outStockLockInfos = result.Item3;
-                    locationInfos = result.Item4;
-                    mesPPOutboundOrders = result.mesPPOutboundOrder;
-                }
-                else
-                {
-                    throw new Exception("鏃犲簱瀛�");
-                }
-            }
-            //else
-            //{
-            //    List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetails.oi, OutLockStockStatusEnum.宸插垎閰�);
-            //    if (stockLockInfos != null && stockLockInfos.Count > 0)
-            //    {
-            //        List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
-            //        tasks = GetTasks(stocks);
-            //    }
-            //}
-
-            return (tasks, stockInfos, orderDetails, outStockLockInfos, locationInfos, mesPPOutboundOrders);
-        }
-
-        /// <summary>
-        /// PP骞冲簱鐩存帴鍑哄簱
-        /// </summary>
-        /// <param name="orderDetailId"></param>
-        /// <param name="stockSelectViews"></param>
-        /// <returns></returns>
-        public WebResponseContent PPGeneratePKOutboundTask(int orderDetailId, List<PPStockSelectViewDTO> stockSelectViews)
-        {
-            try
-            {
-                (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPCutOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) result = PPOutboundTaskDataHandle(orderDetailId, stockSelectViews);
-
-                WebResponseContent content = PPGenerateOutboundTaskDataUpdate(result.Item1, result.Item2, result.Item3, result.Item4, result.Item5);
-
-                return content;
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-        /// <summary>
-        /// PP绔嬪簱灏忓嵎鐩存帴鍑哄簱
-        /// </summary>
-        /// <param name="orderDetailId"></param>
-        /// <param name="stockSelectViews"></param>
-        /// <returns></returns>
-        public WebResponseContent PPCutOutGenerateOutboundTasks(int orderDetailId, List<PPStockSelectViewDTO> stockSelectViews)
-        {
-            try
-            {
-                (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPCutOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) result = PPOutboundTaskDataHandle(orderDetailId, stockSelectViews);
-
-                WebResponseContent content = PPGenerateOutboundTaskDataUpdate(result.Item1, result.Item2, result.Item3, result.Item4, result.Item5);
-
-                return content;
-            }
-            catch (Exception ex)
-            {
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-
-        /// <summary>
-        /// 鍑哄簱浠诲姟鏁版嵁澶勭悊
-        /// </summary>
-        /// <param name="orderDetailId"></param>
-        /// <param name="stockSelectViews"></param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPCutOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) PPOutboundTaskDataHandle(int orderDetailId, List<PPStockSelectViewDTO> stockSelectViews)
-        {
-            List<Dt_Task> tasks = new List<Dt_Task>();
-            Dt_MesPPCutOutboundOrderDetail outboundOrderDetail = _outboundService.MesPPCutOutboundOrderDetailService.Repository.QueryFirst(x => x.Id == orderDetailId);
-
-            if (outboundOrderDetail == null)
-            {
-                throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
-            }
-
-            if (stockSelectViews.Sum(x => x.UseableQuantity) > outboundOrderDetail.OrderQuantity - outboundOrderDetail.LockQuantity)
-            {
-                throw new Exception("閫夋嫨鏁伴噺瓒呭嚭鍗曟嵁鏁伴噺");
-            }
-            List<Dt_StockInfo>? stockInfos = null;
-            Dt_MesPPCutOutboundOrderDetail? orderDetail = null;
-            List<Dt_OutStockLockInfo>? outStockLockInfos = null;
-            List<Dt_LocationInfo>? locationInfos = null;
-            if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
-            {
-                (List<Dt_StockInfo>, Dt_MesPPCutOutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPCutOutboundOrderDetailService.AssignStockOutbound(outboundOrderDetail, stockSelectViews);
-                if (result.Item1 != null && result.Item1.Count > 0)
-                {
-                    Dt_MesPPCutOutboundOrder outboundOrder = _outboundService.MesPPCutOutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId);
-                    TaskTypeEnum typeEnum = outboundOrder.OrderType switch
-                    {
-                        (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound,
-                        (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate,
-                        (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality,
-                        _ => new TaskTypeEnum()
-                    };
-                    tasks = GetTasks(result.Item1, TaskTypeEnum.Outbound);
-                    result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-                    result.Item3.ForEach(x =>
-                    {
-                        x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
-                    });
-
-                    stockInfos = result.Item1;
-                    orderDetail = result.Item2;
-                    outStockLockInfos = result.Item3;
-                    locationInfos = result.Item4;
-                }
-                else
-                {
-                    throw new Exception("鏃犲簱瀛�");
-                }
-            }
-            else
-            {
-                List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetail.OrderId, OutLockStockStatusEnum.宸插垎閰�);
-                if (stockLockInfos != null && stockLockInfos.Count > 0)
-                {
-                    List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
-                    tasks = GetTasks(stocks, TaskTypeEnum.Outbound);
-                }
-            }
-
-            return (tasks, stockInfos, orderDetail == null ? null : new List<Dt_MesPPCutOutboundOrderDetail> { orderDetail }, outStockLockInfos, locationInfos);
-        }
-
-        public WebResponseContent PPGenerateOutboundTaskDataUpdate(List<Dt_Task> tasks, List<Dt_StockInfo>? stockInfos = null, List<Dt_MesPPCutOutboundOrderDetail>? outboundOrderDetails = null, List<Dt_OutStockLockInfo>? outStockLockInfos = null, List<Dt_LocationInfo>? locationInfos = null)
-        {
-            try
-            {
-                _unitOfWorkManage.BeginTran();
-
-                BaseDal.AddData(tasks);
-                if (stockInfos != null && stockInfos.Count > 0 && outboundOrderDetails != null && outboundOrderDetails.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
-                {
-                    stockInfos.ForEach(x =>
-                    {
-                        x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
-                    });
-                    WebResponseContent content = _outboundService.MesPPCutOutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks);
-                    if (!content.Status)
-                    {
-                        _unitOfWorkManage.RollbackTran();
-                        return content;
-                    }
-                }
-                else if (outboundOrderDetails != null && outboundOrderDetails.Count > 0)
-                {
-                    outboundOrderDetails.ForEach(x =>
-                    {
-                        x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-                    });
-
-                    _outboundService.MesPPCutOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
-                }
-                _unitOfWorkManage.CommitTran();
-                PushTasksToWCS(tasks);
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-
-        }
-        #region
-        /// <summary>
-        /// 鐢熸垚PP灏忓嵎鍑哄簱浠诲姟
-        /// </summary>
-        /// <param name="keys">鍑哄簱鍗曟槑缁嗕富閿�</param>
-        /// <returns></returns>
-        //public WebResponseContent PPCutOutGenerateOutboundTasks(int[] keys)
-        //{
-        //    try
-        //    {
-        //        List<Dt_Task> tasks = new List<Dt_Task>();
-        //        List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>();
-        //        List<Dt_StockInfo> stockInfos = new List<Dt_StockInfo>();
-        //        List<Dt_MesPPCutOutboundOrderDetail> outboundOrderDetails = new List<Dt_MesPPCutOutboundOrderDetail>();
-        //        List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
-        //        List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
-
-        //        (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPCutOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) result = PPCutOutboundTaskDataHandle(keys);
-        //        if (result.Item2 != null && result.Item2.Count > 0)
-        //        {
-        //            stockInfos.AddRange(result.Item2);
-        //        }
-        //        if (result.Item3 != null && result.Item3.Count > 0)
-        //        {
-        //            outboundOrderDetails.AddRange(result.Item3);
-        //        }
-        //        if (result.Item4 != null && result.Item4.Count > 0)
-        //        {
-        //            outStockLockInfos.AddRange(result.Item4);
-        //        }
-        //        if (result.Item5 != null && result.Item5.Count > 0)
-        //        {
-        //            locationInfos.AddRange(result.Item5);
-        //        }
-        //        if (result.Item1 != null && result.Item1.Count > 0)
-        //        {
-        //            tasks.AddRange(result.Item1);
-        //        }
-
-        //        WebResponseContent content = PPCutOutGenerateOutboundTaskDataUpdate(tasks, stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos);
-        //        return content;
-        //    }
-        //    catch (Exception ex)
-        //    {
-        //        _unitOfWorkManage.RollbackTran();
-        //        return WebResponseContent.Instance.Error(ex.Message);
-        //    }
-        //}
-
-        ///// <summary>
-        ///// PP灏忓嵎鍑哄簱浠诲姟鏁版嵁澶勭悊
-        ///// </summary>
-        ///// <param name="orderDetailId"></param>
-        ///// <param name="stockSelectViews"></param>
-        ///// <returns></returns>
-        ///// <exception cref="Exception"></exception>
-        //public (List<Dt_Task>, List<Dt_StockInfo>?, List<Dt_MesPPCutOutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?) PPCutOutboundTaskDataHandle(int[] keys)
-        //{
-        //    List<Dt_Task> tasks = new List<Dt_Task>();
-        //    List<Dt_MesPPCutOutboundOrderDetail> outboundOrderDetails = BaseDal.Db.Queryable<Dt_MesPPCutOutboundOrderDetail>().Where(x => keys.Contains(x.Id)).ToList();
-        //    if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
-        //    {
-        //        throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
-        //    }
-        //    if (outboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus > OrderDetailStatusEnum.New.ObjToInt() && x.OrderDetailStatus != OrderDetailStatusEnum.AssignOverPartial.ObjToInt()) != null)
-        //    {
-        //        throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�");
-        //    }
-        //    List<Dt_StockInfo>? stockInfos = null;
-        //    List<Dt_MesPPCutOutboundOrderDetail>? orderDetails = null;
-        //    List<Dt_OutStockLockInfo>? outStockLockInfos = null;
-        //    List<Dt_LocationInfo>? locationInfos = null;
-        //    if (outboundOrderDetails.FirstOrDefault().OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt())
-        //    {
-        //        (List<Dt_StockInfo>, List<Dt_MesPPCutOutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.MesPPCutOutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails);
-        //        if (result.Item1 != null && result.Item1.Count > 0)
-        //        {
-        //            Dt_MesPPCutOutboundOrder outboundOrder = _outboundService.MesPPCutOutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId);
-        //            //TaskTypeEnum typeEnum = outboundOrder.OrderType switch
-        //            //{
-        //            //    (int)OutOrderTypeEnum.Issue => TaskTypeEnum.Outbound,
-        //            //    (int)OutOrderTypeEnum.Allocate => TaskTypeEnum.OutAllocate,
-        //            //    (int)OutOrderTypeEnum.Quality => TaskTypeEnum.OutQuality,
-        //            //    _ => new TaskTypeEnum()
-        //            //};
-        //            tasks = GetTasks(result.Item1, TaskTypeEnum.MesOutbound);
-        //            result.Item2.ForEach(x =>
-        //            {
-        //                x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-        //            });
-        //            result.Item3.ForEach(x =>
-        //            {
-        //                x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt();
-        //            });
-
-        //            stockInfos = result.Item1;
-        //            orderDetails = result.Item2;
-        //            outStockLockInfos = result.Item3;
-        //            locationInfos = result.Item4;
-        //        }
-        //        else
-        //        {
-        //            throw new Exception("鏃犲簱瀛�");
-        //        }
-        //    }
-        //    //else
-        //    //{
-        //    //    List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetails.OrderId, OutLockStockStatusEnum.宸插垎閰�);
-        //    //    if (stockLockInfos != null && stockLockInfos.Count > 0)
-        //    //    {
-        //    //        List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList());
-        //    //        tasks = GetTasks(stocks);
-        //    //    }
-        //    //}
-
-        //    return (tasks, stockInfos, orderDetails, outStockLockInfos, locationInfos);
-        //}
-
-        ///// <summary>
-        ///// 鐢熸垚PP灏忓嵎鍑哄簱浠诲姟鍚庢暟鎹洿鏂板埌鏁版嵁搴�
-        ///// </summary>
-        ///// <param name="tasks"></param>
-        ///// <param name="stockInfos"></param>
-        ///// <param name="outboundOrderDetails"></param>
-        ///// <param name="outStockLockInfos"></param>
-        ///// <param name="locationInfos"></param>
-        ///// <returns></returns>
-        //public WebResponseContent PPCutOutGenerateOutboundTaskDataUpdate(List<Dt_Task> tasks, List<Dt_StockInfo>? stockInfos = null, List<Dt_MesPPCutOutboundOrderDetail>? outboundOrderDetails = null, List<Dt_OutStockLockInfo>? outStockLockInfos = null, List<Dt_LocationInfo>? locationInfos = null)
-        //{
-        //    try
-        //    {
-        //        _unitOfWorkManage.BeginTran();
-
-        //        BaseDal.AddData(tasks);
-        //        if (stockInfos != null && stockInfos.Count > 0 && outboundOrderDetails != null && outboundOrderDetails.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
-        //        {
-        //            stockInfos.ForEach(x =>
-        //            {
-        //                x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
-        //            });
-        //            WebResponseContent content = _outboundService.MesPPCutOutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks);
-
-        //            if (!content.Status)
-        //            {
-        //                _unitOfWorkManage.RollbackTran();
-        //                return content;
-        //            }
-        //        }
-        //        else if (outboundOrderDetails != null && outboundOrderDetails.Count > 0)
-        //        {
-        //            outboundOrderDetails.ForEach(x =>
-        //            {
-        //                x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-        //            });
-
-        //            _outboundService.MesPPCutOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
-        //        }
-        //        _unitOfWorkManage.CommitTran();
-        //        PushTasksToWCS(tasks,"AGV_PP");
-        //        return WebResponseContent.Instance.OK();
-        //    }
-        //    catch (Exception ex)
-        //    {
-        //        _unitOfWorkManage.RollbackTran();
-        //        return WebResponseContent.Instance.Error(ex.Message);
-        //    }
-        //}
-        #endregion
-        /// <summary>
-        /// 鐢熸垚PP澶у嵎鍑哄簱浠诲姟鍚庢暟鎹洿鏂板埌鏁版嵁搴�
-        /// </summary>
-        /// <param name="tasks"></param>
-        /// <param name="stockInfos"></param>
-        /// <param name="outboundOrderDetails"></param>
-        /// <param name="outStockLockInfos"></param>
-        /// <param name="locationInfos"></param>
-        /// <returns></returns>
-        public WebResponseContent MESPPGenerateOutboundTaskDataUpdate(List<Dt_Task> tasks, List<Dt_StockInfo>? stockInfos = null, List<Dt_MesPPOutboundOrderDetail>? outboundOrderDetails = null, List<Dt_OutStockLockInfo>? outStockLockInfos = null, List<Dt_LocationInfo>? locationInfos = null, Dt_MesPPOutboundOrder? mesPPOutboundOrder = null)
-        {
-            try
-            {
-                _unitOfWorkManage.BeginTran();
-
-                BaseDal.AddData(tasks);
-                if (stockInfos != null && stockInfos.Count > 0 && outboundOrderDetails != null && outboundOrderDetails.Count > 0 && outStockLockInfos != null && outStockLockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
-                {
-                    stockInfos.ForEach(x =>
-                    {
-                        x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
-                    });
-                    WebResponseContent content = _outboundService.MesPPOutboundOrderDetailService.LockOutboundStockDataUpdate(mesPPOutboundOrder, stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks);
-
-                    if (!content.Status)
-                    {
-                        _unitOfWorkManage.RollbackTran();
-                        return content;
-                    }
-                }
-                else if (outboundOrderDetails != null && outboundOrderDetails.Count > 0)
-                {
-                    outboundOrderDetails.ForEach(x =>
-                    {
-                        x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
-                    });
-
-                    _outboundService.MesPPOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
-                }
-                _unitOfWorkManage.CommitTran();
-                PushTasksToWCS(tasks);
-                return WebResponseContent.Instance.OK();
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                return WebResponseContent.Instance.Error(ex.Message);
-            }
-        }
-       
     }
 }

--
Gitblit v1.9.3