From 96f8501cc973232b340e36a61992ec1ad47e4a31 Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期六, 12 七月 2025 11:10:34 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/MeiRuiAn/JiAnLiKu --- WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs | 478 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 340 insertions(+), 138 deletions(-) diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs index 3c97516..eb22505 100644 --- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs +++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs @@ -15,142 +15,371 @@ using static WIDESEA_Common.HouseInventoryIn; using WIDESEA_Common; using Parameter = WIDESEA_Common.Parameter; +using WIDESEA_Core.LogHelper; +using WIDESEA_DTO.Task; +using WIDESEA_Core.TaskEnum; namespace WIDESEA_TaskInfoService { public partial class TaskService { + + /// <summary> - /// PDA鐢宠鍏ュ簱--鍫嗗灈鏈虹珛搴撳叆搴� + /// 绔嬪簱鍏ュ簱鎸囦护涓婁紶 /// </summary> /// <param name="stationCode">璧峰鍦板潃</param> - /// <param name="taskType">浠诲姟绫诲瀷--鍏ョ┖锛屽叆鏂�</param> /// <param name="palletCode">鎵樼洏缂栧彿</param> /// <returns>杩斿洖澶勭悊缁撴灉</returns> - public WebResponseContent GenerateInboundTask(string stationCode, int taskType, string palletCode) + public WebResponseContent InboundRequest(string stationCode, string roadwayNo, string palletCode) { - string? name = Enum.GetName(typeof(TaskTypeEnum), taskType); - MethodInfo? methodInfo = GetType().GetMethod(name + "Request"); - if (methodInfo != null) + // 杈撳叆楠岃瘉 + if (string.IsNullOrWhiteSpace(palletCode)) + return WebResponseContent.Instance.Error("璇疯緭鍏ユ纭墭鐩樺彿"); + + try { - WebResponseContent? responseContent = (WebResponseContent?)methodInfo.Invoke(this, new object[] { stationCode, palletCode }); - if (responseContent != null) + Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode); + if (task != null) { - return responseContent; + PushTasksToWCS(new List<Dt_Task> { task }); + return WebResponseContent.Instance.OK($"璇ユ墭鐩樺凡鐢熸垚浠诲姟", _mapper.Map<WMSTaskDTO>(task)); } + // 鑾峰彇鍏ュ簱鍗曟槑缁� + var inboundOrderDet = GetInboundOrderDetail(palletCode); + if (inboundOrderDet == null) + return WebResponseContent.Instance.Error($"鏈壘鍒版墭鐩樺彿 {palletCode} 瀵瑰簲鐨勫叆搴撳崟鏄庣粏"); + + // 鑾峰彇鍏ュ簱鍗� + var inboundOrder = GetInboundOrder(inboundOrderDet.OrderId); + if (inboundOrder == null) + return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅"); + + // 楠岃瘉鍏ュ簱鍗曟槑缁� + if (inboundOrder.Details == null || inboundOrder.Details.Count == 0) + return WebResponseContent.Instance.Error($"鍏ュ簱鍗� {inboundOrder.OrderNo} 娌℃湁鏄庣粏淇℃伅"); + + // 鑾峰彇浠撳簱鍜屽贩閬撲俊鎭� + var warehouse = GetWarehouse(inboundOrder.WarehouseId); + var roadwayInfo = GetRoadwayInfo(warehouse.WarehouseCode); + + // 澶勭悊搴撳瓨淇℃伅 + //var stockInfo = GetOrCreateStockInfo(palletCode, inboundOrder, inboundOrderDet, warehouse); + var dt_StockInfoDetail = new Dt_StockInfoDetail + { + //StockId = stockInfo.Id, + MaterielCode = inboundOrderDet.MaterielCode, + MaterielName = inboundOrderDet.MaterielName, + OrderNo = inboundOrder.OrderNo, + BatchNo = inboundOrderDet.BatchNo, + LinId = inboundOrderDet.LinId, + StockQuantity = inboundOrderDet.OrderQuantity, + Status = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + Id = inboundOrderDet.LinId.ObjToInt(), + }; + + var dt_Stock = new Dt_StockInfo + { + BatchNo = inboundOrderDet.BatchNo, + PalletCode = palletCode, + PalletType = GetPalletType(warehouse, palletCode), + IsFull = true, + StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + MaterialType = (int)InventoryMaterialType.鎴愬搧, + Materialweight = 0, + Wlstatus = (int)InventoryMaterialStatus.鍚堟牸, + Mgeneratetime = DateTime.Now, + WarehouseId = warehouse.WarehouseId, + Details = new List<Dt_StockInfoDetail> { dt_StockInfoDetail } + }; + + // 妫�鏌ュ叆搴撹姹� + var checkResult = CheckRequestInbound(roadwayInfo.InSCStationCode, palletCode, true, dt_Stock); + if (!checkResult.Item1) + return WebResponseContent.Instance.Error(checkResult.Item2); + + // 鍒嗛厤搴撲綅骞舵洿鏂版暟鎹� + Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayNo, dt_Stock.PalletType, dt_Stock.WarehouseId); + //Dt_LocationInfo? locationInfo = _basicService.LocationInfoService.AssignLocation(stationCode, TaskTypeEnum.Inbound.ObjToInt()); + if (locationInfo == null) + { + return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅"); + } + + Dt_Task newTask = new Dt_Task() + { + CurrentAddress = stationCode, + Grade = 0, + NextAddress = locationInfo.LocationCode, + PalletCode = palletCode, + Roadway = roadwayNo, + SourceAddress = stationCode, + TargetAddress = locationInfo.LocationCode, + TaskType = TaskTypeEnum.Inbound.ObjToInt(), + TaskStatus = TaskStatusEnum.New.ObjToInt(), + WarehouseId = dt_Stock.WarehouseId, + PalletType = dt_Stock.PalletType, + Creater = "WMS", + CreateDate = DateTime.Now, + }; + + LocationStatusEnum lastStatus = (LocationStatusEnum)locationInfo.LocationStatus; + _unitOfWorkManage.BeginTran(); + Db.InsertNav(dt_Stock).Include(x => x.Details).ExecuteCommand(); + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, lastStatus.ObjToInt(), LocationStatusEnum.Lock.ObjToInt(), LocationChangeType.InboundAssignLocation.ObjToInt()); + //_basicService.LocationInfoService.UpdateLocationStatus(locationInfo, newTask.PalletType, LocationStatusEnum.Lock, newTask.WarehouseId); + int taskId = BaseDal.AddData(newTask); + newTask.TaskId = taskId; + _stockRepository.StockInfoRepository.UpdateData(dt_Stock); + _unitOfWorkManage.CommitTran(); + WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask); + + PushTasksToWCS(new List<Dt_Task> { newTask }); + if (newTask.WarehouseId == 5) PutFinish(stationCode); + return WebResponseContent.Instance.OK(data: wMSTaskDTO); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + return WebResponseContent.Instance.Error(ex.Message); + } + } + + private Dt_InboundOrderDetail GetInboundOrderDetail(string palletCode) + { + return BaseDal.Db.Queryable<Dt_InboundOrderDetail>() + .Where(x => x.LPNNo == palletCode) + .First(); + } + + private Dt_InboundOrder GetInboundOrder(int orderId) + { + return BaseDal.Db.Queryable<Dt_InboundOrder>() + .Where(x => x.Id == orderId) + .Includes(x => x.Details) + .First(); + } + + private Dt_Warehouse GetWarehouse(int warehouseId) + { + return _basicService.WarehouseService.Repository + .QueryFirst(x => x.WarehouseId == warehouseId); + } + + private Dt_RoadwayInfo GetRoadwayInfo(string warehouseCode) + { + return _basicService.RoadwayInfoService.Repository + .QueryFirst(x => x.RoadwayNo == warehouseCode); + } + + private Dt_StockInfo GetOrCreateStockInfo(string palletCode, Dt_InboundOrder inboundOrder, Dt_InboundOrderDetail inboundOrderDet, Dt_Warehouse warehouse) + { + var stockInfo = BaseDal.Db.Queryable<Dt_StockInfo>() + .Where(x => x.PalletCode == palletCode) + .Includes(x => x.Details) + .First(); + decimal beforeQuantity = 0; + if (stockInfo == null) + { + stockInfo = CreateNewStockInfo(palletCode, inboundOrder, inboundOrderDet, warehouse); + //CreateStockInfoDetail(stockInfo, inboundOrder, inboundOrderDet); } else { - return WebResponseContent.Instance.Error("鏈壘鍒拌浠诲姟绫诲瀷涓氬姟"); + if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt()) + { + return null; + } + beforeQuantity = stockInfo.Details.Sum(x => x.StockQuantity); } - return WebResponseContent.Instance.Error("閿欒"); + + return stockInfo; } - /// <summary> - /// 绌烘墭鐩樺叆搴� - /// </summary> - /// <param name="stationCode">璧峰鍦板潃</param> - /// <param name="palletCode">鎵樼洏缂栧彿</param> - /// <returns>杩斿洖澶勭悊缁撴灉</returns> - public WebResponseContent PalletInboundRequest(string stationCode, string palletCode) + private Dt_StockInfo CreateNewStockInfo(string palletCode, Dt_InboundOrder inboundOrder, Dt_InboundOrderDetail inboundOrderDet, Dt_Warehouse warehouse) { - WebResponseContent content = new WebResponseContent(); - try + var dt_StockInfoDetail = new Dt_StockInfoDetail { - (bool, string) result = CheckRequestInbound(stationCode, palletCode, false); - if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); - content = AssignLocUpdateData(stationCode, TaskTypeEnum.PalletInbound.ObjToInt(), palletCode, false); - } - catch (Exception ex) + //StockId = stockInfo.Id, + MaterielCode = inboundOrderDet.MaterielCode, + MaterielName = inboundOrderDet.MaterielName, + OrderNo = inboundOrder.OrderNo, + BatchNo = inboundOrderDet.BatchNo, + LinId = inboundOrderDet.LinId, + StockQuantity = inboundOrderDet.OrderQuantity, + Status = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + Id = inboundOrderDet.LinId.ObjToInt(), + }; + + var dt_Stock = new Dt_StockInfo { - content = WebResponseContent.Instance.Error(ex.Message); - } - return content; + BatchNo = inboundOrderDet.BatchNo, + PalletCode = palletCode, + PalletType = GetPalletType(warehouse, palletCode), + IsFull = true, + StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + MaterialType = (int)InventoryMaterialType.鎴愬搧, + Materialweight = 0, + Wlstatus = (int)InventoryMaterialStatus.鍚堟牸, + Mgeneratetime = DateTime.Now, + WarehouseId = warehouse.WarehouseId, + Details = new List<Dt_StockInfoDetail> { dt_StockInfoDetail } + }; + + //_stockService.StockInfoService.Repository.AddData(dt_Stock); + Db.InsertNav(dt_Stock).Include(x => x.Details).ExecuteCommand(); + return _stockService.StockInfoService.Repository.GetStockInfo(palletCode); } - /// <summary> - /// 鐗╂枡鍏ュ簱 - /// </summary> - /// <param name="stationCode">璧峰鍦板潃</param> - /// <param name="palletCode">鎵樼洏缂栧彿</param> - /// <returns>杩斿洖澶勭悊缁撴灉</returns> - public WebResponseContent InboundRequest(SaveModel saveModel) + private void CreateStockInfoDetail(Dt_StockInfo stockInfo, Dt_InboundOrder inboundOrder, Dt_InboundOrderDetail inboundOrderDet) { - string palletCode = saveModel.palletCode; - WebResponseContent content = new WebResponseContent(); - try + var dt_StockInfoDetail = new Dt_StockInfoDetail { - Dt_InboundOrderDetail inboundOrderDet = BaseDal.Db.Queryable<Dt_InboundOrderDetail>().Where(x => x.LPNNo == palletCode).First(); - Dt_InboundOrder inboundOrder = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == inboundOrderDet.OrderId).Includes(x => x.Details).First(); - Dt_RoadwayInfo roadwayInfo = _basicService.RoadwayInfoService.Repository.QueryFirst(x => x.RoadwayNo == inboundOrder.OutWareHouse); - if (inboundOrder == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅"); - } - if (inboundOrder.Details == null || inboundOrder.Details.Count <= 0) - { - return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟鏄庣粏淇℃伅"); - } - Dt_StockInfo stockInfo1 = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); - if (stockInfo1 != null) - { - return WebResponseContent.Instance.Error($"宸插瓨鍦ㄦ鎵樼洏搴撳瓨淇℃伅"); - } + StockId = stockInfo.Id, + MaterielCode = inboundOrderDet.MaterielCode, + MaterielName = inboundOrderDet.MaterielName, + OrderNo = inboundOrder.OrderNo, + BatchNo = inboundOrderDet.BatchNo, + LinId = inboundOrderDet.LinId, + StockQuantity = inboundOrderDet.OrderQuantity, + Status = (int)StockStatusEmun.缁勭洏鏆傚瓨, + Creater = "WMS", + CreateDate = DateTime.Now, + Id = inboundOrderDet.LinId.ObjToInt(), + }; - //Dt_InboundOrder dt_Int = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.UpperOrderNo == palletCode); - //Dt_InboundOrderDetail dt_InboundOrderDetail = _inboundService.InboundOrderDetailService.Repository.QueryFirst(x => x.OrderId == dt_Int.Id); - if (inboundOrder != null) - { - Dt_StockInfo dt_Stock = new() - { - BatchNo = inboundOrderDet.BatchNo, - PalletCode = palletCode, - IsFull = true, - StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨, - Creater = "WMS", - CreateDate = DateTime.Now, - MaterialType = (int)InventoryMaterialType.鎴愬搧, - Materialweight = 0, - Wlstatus = (int)InventoryMaterialStatus.鍚堟牸, - Mgeneratetime = DateTime.Now, - }; - _stockService.StockInfoService.Repository.AddData(dt_Stock); - } - Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.GetStockInfo(palletCode); - if (inboundOrderDet != null) - { - Dt_StockInfoDetail dt_StockInfoDetail = new() - { - StockId = dt_StockInfo.Id, - MaterielCode = inboundOrderDet.MaterielCode, //鐗╂枡鍙� - MaterielName = inboundOrderDet.MaterielName, //鐗╂枡鍚嶇О - OrderNo = inboundOrder.OrderNo, //鐗╂枡璇︽儏 - BatchNo = inboundOrderDet.BatchNo, //鐗╂枡鎵规 - LinId = inboundOrderDet.LinId, //SerialNumber = targetCodes[2].ToString(), //鍖呭彿 - //BatchNoName = dt_Int.OrderNo, - StockQuantity = inboundOrderDet.OrderQuantity, //閲嶉噺 - //OutboundQuantity = 1, //搴忓垪鍙� - Status = (int)StockStatusEmun.缁勭洏鏆傚瓨, - Creater = "WMS", - CreateDate = DateTime.Now, - Id = inboundOrderDet.LinId.ObjToInt(), - }; - _stockService.StockInfoDetailService.Repository.AddData(dt_StockInfoDetail); - } - Dt_StockInfo stockInfo = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); - (bool, string) result = CheckRequestInbound(roadwayInfo.InSCStationCode, palletCode, true, stockInfo); - if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); - content = AssignLocUpdateData(roadwayInfo.InSCStationCode, TaskTypeEnum.Inbound.ObjToInt(), palletCode, true, stockInfo, inboundOrder.OrderNo); - } - catch (Exception ex) - { - content = WebResponseContent.Instance.Error(ex.Message); - } - return content; + _stockService.StockInfoDetailService.Repository.AddData(dt_StockInfoDetail); } + + //鏌ヨ浠撳簱鎵樼洏璐х墿绫诲瀷 + public int GetPalletType(Dt_Warehouse warehouse, string palletCode) + { + if (warehouse.WarehouseCode == WarehouseEnum.SC01_BC.ToString()) + { + if (palletCode.Substring(0, 1) == "6") + { + return PalletTypeEnum.MediumPallet.ObjToInt(); + } + else + { + return PalletTypeEnum.LargestPallet.ObjToInt(); + } + } + else if (warehouse.WarehouseCode == WarehouseEnum.SC01_BC.ObjToString()) + { + Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 1)); + if (palletTypeInfo == null) + { + throw new Exception($"鎵樼洏鍙烽敊璇�"); + } + return palletTypeInfo.PalletType; + } + //else if (warehouse.WarehouseCode == WarehouseEnum.HA152.ObjToString()) + //{ + // Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 2)); + // if (palletTypeInfo == null) + // { + // throw new Exception($"鎵樼洏鍙烽敊璇�"); + // } + // return palletTypeInfo.PalletType; + //} + //else if (warehouse.WarehouseCode == WarehouseEnum.HA57.ObjToString()) + //{ + // Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.CodeStartStr == palletCode.Substring(0, 3)); + // if (palletTypeInfo == null) + // { + // throw new Exception($"鎵樼洏鍙烽敊璇�"); + // } + // return palletTypeInfo.PalletType; + //} + return -1; + } + + + + + #region + //public WebResponseContent InboundRequest(SaveModel saveModel) + //{ + // string palletCode = saveModel.palletCode; + // if (saveModel.palletCode == null) return WebResponseContent.Instance.Error($"璇疯緭鍏ユ纭墭鐩樺彿"); + // WebResponseContent content = new WebResponseContent(); + // try + // { + // Dt_InboundOrderDetail inboundOrderDet = BaseDal.Db.Queryable<Dt_InboundOrderDetail>().Where(x => x.LPNNo == palletCode).First(); + // Dt_InboundOrder inboundOrder = BaseDal.Db.Queryable<Dt_InboundOrder>().Where(x => x.Id == inboundOrderDet.OrderId).Includes(x => x.Details).First(); + // if (inboundOrder == null) + // { + // return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟淇℃伅"); + // } + // Dt_Warehouse warehouse = _basicService.WarehouseService.Repository.QueryFirst(x => x.WarehouseId == inboundOrder.WarehouseId); + // Dt_RoadwayInfo roadwayInfo = _basicService.RoadwayInfoService.Repository.QueryFirst(x => x.RoadwayNo == warehouse.WarehouseCode); + // if (roadwayInfo != null) { } + + // if (inboundOrder.Details == null || inboundOrder.Details.Count <= 0) + // { + // return WebResponseContent.Instance.Error($"鏈壘鍒板叆搴撳崟鏄庣粏淇℃伅"); + // } + // Dt_StockInfo stockInfo1 = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); + // if (stockInfo1 == null) + // { + // Dt_StockInfo dt_Stock = new() + // { + // BatchNo = inboundOrderDet.BatchNo, + // PalletCode = palletCode, + // IsFull = true, + // StockStatus = (int)StockStatusEmun.缁勭洏鏆傚瓨, + // Creater = "WMS", + // CreateDate = DateTime.Now, + // MaterialType = (int)InventoryMaterialType.鎴愬搧, + // Materialweight = 0, + // Wlstatus = (int)InventoryMaterialStatus.鍚堟牸, + // Mgeneratetime = DateTime.Now, + // }; + // _stockService.StockInfoService.Repository.AddData(dt_Stock); + + // Dt_StockInfo dt_StockInfo = _stockService.StockInfoService.Repository.GetStockInfo(palletCode); + // Dt_StockInfoDetail dt_StockInfoDetail = new() + // { + // StockId = dt_StockInfo.Id, + // MaterielCode = inboundOrderDet.MaterielCode, //鐗╂枡鍙� + // MaterielName = inboundOrderDet.MaterielName, //鐗╂枡鍚嶇О + // OrderNo = inboundOrder.OrderNo, //鐗╂枡璇︽儏 + // BatchNo = inboundOrderDet.BatchNo, //鐗╂枡鎵规 + // LinId = inboundOrderDet.LinId, //SerialNumber = targetCodes[2].ToString(), //鍖呭彿 + // //BatchNoName = dt_Int.OrderNo, + // StockQuantity = inboundOrderDet.OrderQuantity, //閲嶉噺 + // //OutboundQuantity = 1, //搴忓垪鍙� + // Status = (int)StockStatusEmun.缁勭洏鏆傚瓨, + // Creater = "WMS", + // CreateDate = DateTime.Now, + // Id = inboundOrderDet.LinId.ObjToInt(), + // }; + // _stockService.StockInfoDetailService.Repository.AddData(dt_StockInfoDetail); + // } + // Dt_StockInfo stockInfo = BaseDal.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First(); + // (bool, string) result = CheckRequestInbound(roadwayInfo.InSCStationCode, palletCode, true, stockInfo); + // if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); + // content = AssignLocUpdateData(roadwayInfo.InSCStationCode, TaskTypeEnum.Inbound.ObjToInt(), palletCode, true, stockInfo, inboundOrder.OrderNo); + // } + // catch (Exception ex) + // { + // content = WebResponseContent.Instance.Error(ex.Message); + // } + // return content; + //} + #endregion public string ReceiveWMSInventoryIn = WIDESEA_Core.Helper.AppSettings.Configuration["ReceiveWMSInventoryIn"]; /// <summary> - /// 鐩樼偣鍏ュ簱 + /// 鐩樼偣宸紓鏁伴噺鍥炰紶 /// </summary> /// <returns></returns> public WebResponseContent InventoryIn(string name, int qty) @@ -160,7 +389,6 @@ { Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == name); Dt_StockInfoDetail stockInfoDetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id); - //Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.OrderNo == stockInfoDetail.OrderNo); Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.LPNNo == stockInfo.PalletCode); Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId); HouseInventoryIn houseInboundPassBack = new HouseInventoryIn(); @@ -203,18 +431,6 @@ houseInboundPassBack.Context.Add("InvOrgId", InvOrgId); var responses = HttpHelper.Post<WebResponseContent>(ReceiveWMSInventoryIn, houseInboundPassBack, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS"); } - - // #region 楠岃瘉鏁版嵁 - //(bool, string, object ?) result = CheckInboundOrderAddData(orderAddDTO1); - // if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2); - // #endregion - - // Dt_OutboundOrder inboundOrder = _mapper.Map<Dt_OutboundOrder>(orderAddDTO1); - // inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt(); - // inboundOrder.OrderType = OutOrderTypeEnum.OutInventory.ObjToInt(); - // inboundOrder.Creater = "WMS"; - // inboundOrder.CreateDate = DateTime.Now; - // bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand(); content = WebResponseContent.Instance.OK(); } catch (Exception ex) @@ -290,7 +506,7 @@ _basicService.LocationInfoService.UpdateLocationLock(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false); } //涓嬪彂鍏ュ簱浠诲姟鑷砏CS - var responses = HttpHelper.Post<WebResponseContent>(ReceiveWMSTask, task, "涓嬪彂浠诲姟鍏ュ簱"); + //var responses = HttpHelper.Post<WebResponseContent>(ReceiveWMSTask, task, "涓嬪彂浠诲姟鍏ュ簱"); dt_Int.OrderStatus = InboundStatusEnum.鍏ュ簱涓�.ObjToInt(); _inboundService.InbounOrderService.Repository.UpdateData(dt_Int); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); @@ -320,10 +536,10 @@ { return (false, "璇ユ墭鐩樺彿宸叉湁浠诲姟"); } - //if (BaseDal.QueryFirst(x => (x.SourceAddress == stationCode || x.CurrentAddress == stationCode) && x.TaskStatus == InTaskStatusEnum.InNew.ObjToInt()) != null) - //{ - // return (false, "褰撳墠鍏ュ簱绔欏彴宸叉湁涓�鏉℃柊寤轰换鍔�"); - //} + if (BaseDal.QueryFirst(x => (x.SourceAddress == stationCode || x.CurrentAddress == stationCode) && x.TaskStatus == InTaskStatusEnum.InNew.ObjToInt()) != null) + { + return (false, "褰撳墠鍏ュ簱绔欏彴宸叉湁涓�鏉℃柊寤轰换鍔�"); + } if (isCheckStock) { if (stockInfo == null) @@ -353,6 +569,7 @@ return (true, "鎴愬姛"); } + /// <summary> /// 鏍规嵁鎵樼洏鏉$爜锛岃捣鐐逛綅缃紝鐢熸垚鍏ュ簱淇℃伅 @@ -866,20 +1083,5 @@ // throw; // } //} - - public WebResponseContent PalletQueryinventory() - { - WebResponseContent content = new WebResponseContent(); - List<Dt_LocationInfo> locationinfoData = _basicService.LocationInfoService.Repository.QueryData(x => x.RoadwayNo == "2" && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() - && x.LocationType == (int)LocationTypeEnum.EmptyCube && x.EnableStatus == (int)EnableStatusEnum.Normal); - if (locationinfoData.Count < 20) - { - return content = WebResponseContent.Instance.OK(data: 1); - } - else - { - return content = WebResponseContent.Instance.OK(data: 3); - } - } } } -- Gitblit v1.9.3