From fe77f3c9d11e3087c1efa56fd6205ffc10e39991 Mon Sep 17 00:00:00 2001
From: helongyang <647556386@qq.com>
Date: 星期四, 05 六月 2025 18:45:23 +0800
Subject: [PATCH] 更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs |  388 ------------------------------------------------------
 1 files changed, 5 insertions(+), 383 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
index 86aad6c..0df30d5 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -866,7 +866,9 @@
                     TaskType = TaskTypeEnum.Inbound.ObjToInt(),
                     TaskStatus = TaskStatusEnum.New.ObjToInt(),
                     WarehouseId = stockInfo.WarehouseId,
-                    PalletType = stockInfo.PalletType
+                    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();
@@ -928,186 +930,7 @@
                 return MesResponseContent.Instance.Error(ex.Message);
             }
         }
-        /// <summary>
-        /// MES鎴愬搧鍏ュ簱鍗曟帴鏀�
-        /// </summary>
-        /// <returns></returns>
-        public MesResponseContent BagInfoSync(MesBagInfoModel bagInfoModel)
-        {
-            MesResponseContent content = new MesResponseContent();
-            try
-            {
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == bagInfoModel.WarehouseCode);
-                if (warehouse == null)
-                {
-                    return content.Error("鏈壘鍒颁粨搴撲俊鎭�");
-                }
-                Dt_LocationInfo locationInfo = _basicRepository.LocationInfoRepository.QueryFirst(x => x.WarehouseId == warehouse.WarehouseId);
-                if (locationInfo==null)
-                {
-                    return content.Error($"鏈壘鍒皗warehouse.WarehouseCode}璐т綅淇℃伅");
-                }
-                //鍐呭寘淇℃伅缁勭洏
-                List<Dt_MesProInOrderDetail> mesProInOrderDetails = new List<Dt_MesProInOrderDetail>();
-                foreach (var item in bagInfoModel.BagDetails)
-                {
-                    foreach (var child in item.BagItems)
-                    {
-                        Dt_MesProInOrderDetail mesProInOrderDetail = new Dt_MesProInOrderDetail()
-                        {
-                            BagNo = item.BagNo,
-                            ProductCode = item.ProductCode,
-                            ProductVersion = item.ProductVersion,
-                            SETQty = child.SETQty,
-                            OKPCSQTY = child.OKPCSQTY,
-                            DateCode = item.DateCode,
-                            XQty = child.XQty,
-                            XSite = child.XSite,
-                            Weight = item.Weight,
-                            PackingDate = item.PackingDate,
-                            LotNumber = child.LotNumber,
-                            ERPOrder = child.ERPOrder,
-                            SaleOrder = child.SaleOrder,
-                            MoNumber = child.MoNumber,
-                        };
-                        mesProInOrderDetails.Add(mesProInOrderDetail);
-                    }
-                }
-                List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>();
-                foreach (var item in mesProInOrderDetails)
-                {
-                    proStockInfoDetails.Add(_mapper.Map<Dt_ProStockInfoDetail>(item));
-                }
-                Dt_MesProInOrder mesProInOrder = new Dt_MesProInOrder()
-                {
-                    WarehouseId = warehouse.WarehouseId,
-                    BatchNo = bagInfoModel.BatchNo,
-                    WorkCenter = bagInfoModel.WorkCenter,
-                    MesProStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                    UnPackStock = bagInfoModel.UnPackStock,
-                    Details = mesProInOrderDetails
-                };
-                Dt_ProStockInfo proStockInfo = new Dt_ProStockInfo()
-                {
-                    PalletCode = bagInfoModel.BatchNo,
-                    PalletType = 1,
-                    WarehouseId = warehouse.WarehouseId,
-                    StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt(),
-                    proStockInfoDetails = proStockInfoDetails
-                };
-                Dt_Task newTask = new Dt_Task()
-                {
-                    CurrentAddress = bagInfoModel.WorkCenter,
-                    Grade = 0,
-                    NextAddress = "",
-                    PalletCode = proStockInfo.PalletCode,
-                    Roadway = locationInfo.RoadwayNo,
-                    SourceAddress = bagInfoModel.WorkCenter,
-                    TargetAddress = "",
-                    TaskType = TaskTypeEnum.InProduct.ObjToInt(),
-                    TaskStatus = TaskStatusEnum.New.ObjToInt(),
-                    WarehouseId = warehouse.WarehouseId,
-                    PalletType = proStockInfo.PalletType
-                };
-                _unitOfWorkManage.BeginTran();
-                int taskId = BaseDal.AddData(newTask);
-                newTask.TaskId = taskId;
-                Db.InsertNav(mesProInOrder).Include(x => x.Details).ExecuteCommand();
-                Db.InsertNav(proStockInfo).Include(x => x.proStockInfoDetails).ExecuteCommand();
-                _unitOfWorkManage.CommitTran();
-                //鎺ㄩ�佷换鍔�
-                PushTasksToWCS(new List<Dt_Task> { newTask });
-                return content.OK("鎺ユ敹鎴愬姛");
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        //澶栧寘淇℃伅鎺ユ敹
-        public MesResponseContent BoxStockin(MesBoxInfoModel boxInfoModel)
-        {
-            MesResponseContent content = new MesResponseContent();
-            try
-            {
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString());
-                //鍒ゆ柇MES浼犲叆鐨勫嚭搴撳崟鍙锋槸鍚﹀瓨鍦�
-                Dt_ProOutOrder proOutOrder = _outboundRepository.ProOutOrderRepository.Db.Queryable<Dt_ProOutOrder>().Where(x=>x.ProOutOrderNo== boxInfoModel.ShipmentOrder).Includes(x=>x.Details).First();
-                if (proOutOrder==null)
-                {
-                    return content.Error($"鍗曞彿{boxInfoModel.ShipmentOrder}涓嶅瓨鍦�");
-                }
-                //鑾峰彇鎵�鏈夋垚鍝佸嚭搴撳唴鍖呬俊鎭�
-                List<Dt_ProStockInfoDetail> dt_ProStockInfos = _stockRepository.ProStockInfoDetailRepository.QueryData(x=>x.ProOutDetailStatus==StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt());
-                //鑾峰彇MES鍐呭寘淇℃伅
-                List<Dt_MesProInOrderDetail> mesProInOrderDetails = new List<Dt_MesProInOrderDetail>();
-                foreach (var item in boxInfoModel.Bags)
-                {
-                    foreach (var child in item.BagItems)
-                    {
-                        Dt_ProStockInfoDetail? proStockInfoDetail = dt_ProStockInfos.Where(x=>x.BagNo==item.BagNo)?.FirstOrDefault();
-                        if (proStockInfoDetail==null)
-                        {
-                            return content.Error($"鍐呭寘{item.BagNo}璐х墿鐘舵�佸紓甯�");
-                        }
-                        Dt_MesProInOrderDetail mesProInOrderDetail = new Dt_MesProInOrderDetail()
-                        {
-                            BagNo = item.BagNo,
-                            ProductCode = item.ProductCode,
-                            ProductVersion = item.ProductVersion,
-                            SETQty = child.SETQty,
-                            OKPCSQTY = child.OKPCSQTY,
-                            DateCode = item.DateCode,
-                            XQty = child.XQty,
-                            XSite = child.XSite,
-                            Weight = item.Weight,
-                            PackingDate = item.PackingDate,
-                            LotNumber = child.LotNumber,
-                            ERPOrder = child.ERPOrder,
-                            SaleOrder = child.SaleOrder,
-                            MoNumber = child.MoNumber,
-                        };
-                        mesProInOrderDetails.Add(mesProInOrderDetail);
-                    }
-                }
-                List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>();
-                foreach (var item in mesProInOrderDetails)
-                {
-                    proStockInfoDetails.Add(_mapper.Map<Dt_ProStockInfoDetail>(item));
-                }
-                proStockInfoDetails.ForEach(x =>
-                {
-                    x.ProOutDetailStatus = StockStatusEmun.骞冲簱鍏ュ簱瀹屾垚.ObjToInt();
-                });
-                
-                Dt_ProStockInfo proStockInfo = new Dt_ProStockInfo()
-                {
-                    PalletCode = boxInfoModel.BoxNo,
-                    PalletType = 0,
-                    WarehouseId = warehouse.WarehouseId,
-                    ShipmentOrder = boxInfoModel.ShipmentOrder,
-                    StockStatus = StockStatusEmun.骞冲簱鍏ュ簱瀹屾垚.ObjToInt(),
-                    proStockInfoDetails = proStockInfoDetails
-                };
-                _unitOfWorkManage.BeginTran();
-                //鏍规嵁澶栧寘淇℃伅瑙g粦鍐呭寘涓庤兌妗嗗簱瀛樺叧绯�
-                WebResponseContent UnBindContent = _stockService.ProStockInfoService.UnBindStock(proStockInfoDetails);
-                if (!UnBindContent.Status)
-                {
-                    throw new Exception(UnBindContent.Message);
-                }
-                Db.InsertNav(proStockInfo).Include(x => x.proStockInfoDetails).ExecuteCommand();
-                _unitOfWorkManage.CommitTran();
-                return content.OK("澶栧寘鎺ユ敹鎴愬姛");
-            }
-            catch (Exception ex)
-            {
-                content.Error(ex.Message);
-            }
-            return content;
-        }
+        
         
 
         /// <summary>
@@ -1601,207 +1424,6 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
-        /// <summary>
-        /// MES鎴愬搧鍑哄簱鍗曞悓姝ユ暟鎹鐞�
-        /// </summary>
-        public MesShipmentOrderSync MesOutSync(Dt_OutProStockInfo outProStockInfo, Dt_ProOutOrderDetail proOutOrderDetail)
-        {
-            List<MesShipOrderDetail> mesShipOrderDetails = new List<MesShipOrderDetail>();
-            //鑾峰彇鍑哄簱鍗�
-            Dt_ProOutOrder proOutOrder = _outboundService.ProOutOrderService.Repository.QueryFirst(x=>x.Id== proOutOrderDetail.ProOrderId);
-            //鑾峰彇瀹㈡埛
-            Dt_CustomerInfo customerInfo = _basicRepository.CustomerInfoRepository.QueryFirst(x=>x.Code==proOutOrderDetail.Customer);
-            
-            MesShipOrderDetail orderDetail = new MesShipOrderDetail()
-            {
-                ProductCode = proOutOrderDetail.PCode,
-                ProductVersion = proOutOrderDetail.PVer,
-                Qty = outProStockInfo.AssignQuantity,
-                SaleOrder = proOutOrderDetail.SaleOrder,
-                Sequence = outProStockInfo.Id,
-                WorkCenter = "SPCK_OUTER-001"
-            };
-            mesShipOrderDetails.Add(orderDetail);
-            MesShipmentOrderSync shipmentOrderSync = new MesShipmentOrderSync()
-            {
-                ShipmentOrder = proOutOrder.ProOutOrderNo,
-                PlantShipDate = proOutOrder.PlantShipDate.ToString("yyyy-MM-dd HH:mm:ss"),
-                Customer = proOutOrderDetail.Customer,
-                FactoryCode = proOutOrderDetail.FactoryCode,
-                ShipName = customerInfo.Name,
-                ShippingAddress = customerInfo.NickName,
-                OrderDetails = mesShipOrderDetails
-            };
-            return shipmentOrderSync;
-        }
-        /// <summary>
-        /// WMS鍚屾鎴愬搧鍑哄簱鑷矼ES
-        /// </summary>
-        public WebResponseContent ShipmentOrderSync(MesShipmentOrderSync model)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_ShipmentOrderSync.ToString());
-                MESRoot<MesShipmentOrderSync> root = new MESRoot<MesShipmentOrderSync>()
-                {
-                    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>
-        /// MES鎴愬搧杩斿伐鎻愬簱
-        /// </summary>
-        /// <param name="model"></param>
-        /// <returns></returns>
-        public MesResponseContent RworkTask(RworkTaskModel model)
-        {
-            MesResponseContent content = new MesResponseContent();
-            try
-            {
-                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA72.ToString());
-                if (warehouse == null)
-                {
-                    return content.Error($"灏炬暟浠撲俊鎭湭閰嶇疆");
-                }
-                Dt_MesRworkOutboundOrder rworkOutboundOrderOld = _outboundRepository.RworkOutboundOrderRepository.QueryFirst(x=>x.TaskNo== model.TaskNo);
-                if (rworkOutboundOrderOld==null)
-                {
-                    return content.Error($"鎻愬簱浠诲姟鍗晎model.TaskNo}宸插瓨鍦�");
-                }
-                Dt_MesRworkOutboundOrder mesRworkOutboundOrder = new Dt_MesRworkOutboundOrder()
-                {
-                    WarehouseId = warehouse.WarehouseId,
-                    TaskNo = model.TaskNo,
-                    OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
-                    CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(),
-                    ProductCode = model.ProductCode,
-                    ProductName = model.ProductName,
-                    ProductVersion = model.ProductVersion,
-                    DateCode = model.DateCode,
-                    RequiredQuantity = model.RequiredQuantity,
-                    FactoryCode = model.FactoryCode,
-                    SaleOrder = model.SaleOrder,
-                    OrderType = model.InventoryType,
-                };
-                List<Dt_Task> tasks = new List<Dt_Task>();
-                List<Dt_ProStockInfo>? proStockInfos = null;
-                List<Dt_OutProStockInfo>? outProStockInfos = null;
-                List<Dt_LocationInfo>? locationInfos = null;
-                //鍒嗛厤搴撳瓨鐢熸垚鎻愬簱浠诲姟
-                (List<Dt_ProStockInfo>?, Dt_MesRworkOutboundOrder?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>) result = _outboundService.RworkOutboundOrderService.AssignMesStocks(mesRworkOutboundOrder);
-                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();
-                    });
-
-                    proStockInfos = result.Item1;
-                    mesRworkOutboundOrder = result.Item2;
-                    outProStockInfos = result.Item3;
-                    locationInfos = result.Item4;
-                }
-                else
-                {
-                    throw new Exception("鏃犲簱瀛樺垎閰�");
-                }
-                tasks.ForEach(x =>
-                {
-                    x.TargetAddress = "5236";
-                    x.OrderNo = mesRworkOutboundOrder.TaskNo;
-                });
-                _unitOfWorkManage.BeginTran();
-
-                int id = BaseDal.AddData(tasks);
-                outProStockInfos.ForEach(x =>
-                {
-                    x.OrderNo = mesRworkOutboundOrder.TaskNo;
-                    x.OrderDetailId = id;
-                });
-                if (proStockInfos != null && proStockInfos.Count > 0 && outProStockInfos != null && outProStockInfos.Count > 0 && locationInfos != null && locationInfos.Count > 0)
-                {
-                    WebResponseContent updateContent = _outboundService.RworkOutboundOrderService.LockOutboundStockDataUpdate(proStockInfos, outProStockInfos, locationInfos, tasks: tasks);
-
-                    if (!updateContent.Status)
-                    {
-                        _unitOfWorkManage.RollbackTran();
-                        return content.Error(updateContent.Message);
-                    }
-                }
-                _outboundService.RworkOutboundOrderService.Repository.AddData(mesRworkOutboundOrder);
-                return content.OK("鎻愪緵杩斿簱鍗曟帴鏀舵垚鍔�");
-            }
-            catch (Exception ex)
-            {
-                _unitOfWorkManage.RollbackTran();
-                content.Error(ex.Message);
-            }
-            return content;
-        }
-        /// <summary>
-        /// 搴撳瓨鏉垮悓姝ユ帴鍙�
-        /// </summary>
-        public WebResponseContent ProductOutBoundSync(MesProductOutBound model)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_ProductOutBound.ToString());
-                MESRoot<MesProductOutBound> root = new MESRoot<MesProductOutBound>()
-                {
-                    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;
-        }
+       
     }
 }

--
Gitblit v1.9.3