| | |
| | | <div class="layui-input-block" id="selectRuku"> |
| | | <select id="Ruku" lay-filter="getRuku" lay-search> |
| | | <option value=""></option> |
| | | <option value="A">A</option> |
| | | <option value="B">B</option> |
| | | <option value="C">C</option> |
| | | <option value="D">D</option> |
| | | <option value="B040101">工位9</option> |
| | | </select> |
| | | <img src="/assets/down_arraw.png"> |
| | | </div> |
| | |
| | | <div class="layui-input-block" id="selectDiv"> |
| | | <select id="bar" lay-filter="getbar" lay-verify="required" lay-search> |
| | | <option value=""></option> |
| | | <option value="1">1</option> |
| | | <option value="2">2</option> |
| | | <option value="3">3</option> |
| | | <option value="4">4</option> |
| | | <option value="17">17</option> |
| | | <option value="18">18</option> |
| | | </select> |
| | | <!-- <img src="/assets/down_arraw.png" > --> |
| | | </div> |
| | |
| | | }; |
| | | var id = Db.Insertable(modelpb).ExecuteReturnIdentity(); |
| | | |
| | | var modelbb = new BllBoxInfo |
| | | { |
| | | ASNNo = "", |
| | | ASNDetailNo = null, |
| | | BindNo = id, |
| | | PalletNo = model.PalletNo, |
| | | PalletNo2 = model.PalletNo2, |
| | | PalletNo3 = model.PalletNo3, |
| | | Status = "2", |
| | | CompleteTime = DateTime.Now, |
| | | Qty = (int)model.Qty, |
| | | FullQty = pNum, |
| | | SkuNo = sku.SkuNo, |
| | | SkuName = sku.PackagNo, |
| | | LotNo = "", |
| | | LotText = "", |
| | | SupplierLot = "", |
| | | InspectStatus = sku.IsInspect, |
| | | Origin = "PDA", |
| | | BoxNo = "", |
| | | BoxNo2 = "", |
| | | BoxNo3 = "", |
| | | InspectMark = "", |
| | | BitBoxMark = "0", |
| | | //var modelbb = new BllBoxInfo |
| | | //{ |
| | | // ASNNo = "", |
| | | // ASNDetailNo = null, |
| | | // BindNo = id, |
| | | // PalletNo = model.PalletNo, |
| | | // PalletNo2 = model.PalletNo2, |
| | | // PalletNo3 = model.PalletNo3, |
| | | // Status = "2", |
| | | // CompleteTime = DateTime.Now, |
| | | // Qty = (int)model.Qty, |
| | | // FullQty = pNum, |
| | | // SkuNo = sku.SkuNo, |
| | | // SkuName = sku.SkuName, |
| | | // LotNo = "", |
| | | // LotText = "", |
| | | // SupplierLot = "", |
| | | // InspectStatus = sku.IsInspect, |
| | | // Origin = "PDA", |
| | | // BoxNo = "", |
| | | // BoxNo2 = "", |
| | | // BoxNo3 = "", |
| | | // InspectMark = "", |
| | | // BitBoxMark = "0", |
| | | |
| | | CreateUser = (int)model.CreateUser, |
| | | CreateTime = datetime |
| | | }; |
| | | Db.Insertable(modelbb).ExecuteCommand(); |
| | | // CreateUser = (int)model.CreateUser, |
| | | // CreateTime = datetime |
| | | //}; |
| | | //Db.Insertable(modelbb).ExecuteCommand(); |
| | | |
| | | //添加库存 |
| | | |
| | |
| | | |
| | | #region 库存箱码明细 |
| | | |
| | | var box2 = new DataBoxInfo() |
| | | { |
| | | StockDetailId = sdId1, |
| | | BindNo = modelpb.Id, |
| | | BoxNo = modelbb.BoxNo, |
| | | BoxNo2 = modelbb.BoxNo2, |
| | | BoxNo3 = modelbb.BoxNo3, |
| | | PalletNo = modelbb.PalletNo, |
| | | PalletNo2 = modelbb.PalletNo2, |
| | | PalletNo3 = modelbb.PalletNo3, |
| | | Qty = modelbb.Qty, |
| | | FullQty = modelbb.FullQty, |
| | | Status = "2", |
| | | LotNo = modelbb.LotNo, |
| | | LotText = modelbb.LotText, |
| | | SkuNo = modelbb.SkuNo, |
| | | SkuName = modelbb.SkuName, |
| | | Standard = sku.Standard, |
| | | ProductionTime = modelbb.ProductionTime, |
| | | SupplierLot = modelbb.SupplierLot, |
| | | InspectStatus = sku.IsInspect, |
| | | InspectMark = modelbb.InspectMark, |
| | | BitBoxMark = modelbb.BitBoxMark, |
| | | ExpirationTime = modelbb.ExpirationTime, |
| | | //var box2 = new DataBoxInfo() |
| | | //{ |
| | | // StockDetailId = sdId1, |
| | | // BindNo = modelpb.Id, |
| | | // BoxNo = modelbb.BoxNo, |
| | | // BoxNo2 = modelbb.BoxNo2, |
| | | // BoxNo3 = modelbb.BoxNo3, |
| | | // PalletNo = modelbb.PalletNo, |
| | | // PalletNo2 = modelbb.PalletNo2, |
| | | // PalletNo3 = modelbb.PalletNo3, |
| | | // Qty = modelbb.Qty, |
| | | // FullQty = modelbb.FullQty, |
| | | // Status = "2", |
| | | // LotNo = modelbb.LotNo, |
| | | // LotText = modelbb.LotText, |
| | | // SkuNo = modelbb.SkuNo, |
| | | // SkuName = modelbb.SkuName, |
| | | // Standard = sku.Standard, |
| | | // ProductionTime = modelbb.ProductionTime, |
| | | // SupplierLot = modelbb.SupplierLot, |
| | | // InspectStatus = sku.IsInspect, |
| | | // InspectMark = modelbb.InspectMark, |
| | | // BitBoxMark = modelbb.BitBoxMark, |
| | | // ExpirationTime = modelbb.ExpirationTime, |
| | | |
| | | CreateUser = 0, |
| | | CreateTime = datetime |
| | | }; |
| | | Db.Insertable(box2).ExecuteCommand(); |
| | | // CreateUser = 0, |
| | | // CreateTime = datetime |
| | | //}; |
| | | //Db.Insertable(box2).ExecuteCommand(); |
| | | #endregion |
| | | |
| | | #region 库存 |
| | |
| | | throw Oops.Bah("储位信息不存在,请检查!"); |
| | | } |
| | | //目标储位信息 |
| | | var storageLocatEnd = new SysStorageLocat(); |
| | | if (!string.IsNullOrEmpty(areaNo)) |
| | | { |
| | | storageLocatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == EndLocat && w.Flag == "0"); |
| | | //var storageLocatEnd = new SysStorageLocat(); |
| | | |
| | | var storageLocatEnd = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == EndLocat && w.Flag == "0"); |
| | | if (storageLocatEnd == null) |
| | | { |
| | | throw Oops.Bah("目标储位信息不存在,请检查!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | //添加出库任务 |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | | var exTask = new LogTask |
| | | var moveTask = new LogTask |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "AGV", |
| | | Receiver = "WCS", |
| | | IsSuccess = 0, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = stockDetail.LocatNo,//起始位置 |
| | |
| | | |
| | | CreateTime = DateTime.Now |
| | | }; |
| | | await Db.Insertable(exTask).ExecuteCommandAsync(); |
| | | await Db.Insertable(moveTask).ExecuteCommandAsync(); |
| | | |
| | | //修改库存明细信息 |
| | | //stockDetail.Status = "4";//移库锁定 |
| | |
| | | var outDto = new List<OutCommandDto>(); |
| | | outDto.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = storageLocat.RoadwayNo,//其实巷道 |
| | | TaskNo = moveTask.TaskNo, // 任务号 |
| | | TaskType = "2",// 任务类型 0入 1出 2移 |
| | | PalletNo = moveTask.PalletNo,//托盘号 |
| | | |
| | | StartLocate = moveTask.StartLocat, // 起始位置 |
| | | EndLocate = EndLocat, // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "2",// 任务类型 (出库)0入 1出 2移 |
| | | OutMode = "", //出库口 |
| | | Order = 1 |
| | | |
| | | Order = 999, |
| | | Type = PLCTypeEnum.AGV |
| | | |
| | | }); |
| | | |
| | |
| | | using WMS.Entity.BllAsnEntity; |
| | | using System.Threading.Tasks; |
| | | using Utility; |
| | | using WMS.BLL.Logic; |
| | | |
| | | namespace WMS.BLL.BllPdaServer |
| | | { |
| | |
| | | //获取当前时间 |
| | | DateTime serverTime = Db.GetDate(); |
| | | //获取库存明细是否小于等于该垛数 |
| | | //string str = "select * from DataStockDetail where IsDel = '0' and SkuNo = '100099' and Status = '0' "; |
| | | //var stockDetail = Db.Ado.SqlQuery<DataStockDetail>(str); |
| | | |
| | | var stockDetail = await Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.SkuNo == "100099" && s.Status == "0").ToListAsync(); |
| | | if (stockDetail.Count > 0) |
| | | { |
| | |
| | | foreach (var s in stockDetail) |
| | | { |
| | | //获取储位信息 |
| | | var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && l.WareHouseNo == "W02"); |
| | | var locat = await Db.Queryable<SysStorageLocat>().FirstAsync(l => l.LocatNo == s.LocatNo && l.IsDel == "0" && (l.WareHouseNo == "W01"||l.WareHouseNo == "W02")); |
| | | |
| | | if (locat == null) |
| | | { |
| | |
| | | { |
| | | TaskNo = taskNo, |
| | | Sender = "WMS", |
| | | Receiver = "PDA", |
| | | Receiver = "WCS", |
| | | IsSuccess = 1, //是否下发成功 0失败 1成功 |
| | | |
| | | StartLocat = locat == null ? "零箱库" : s.LocatNo,//起始位置 |
| | | StartLocat = s.LocatNo,//起始位置 |
| | | EndLocat = model.OutMode,//目标位置 |
| | | PalletNo = s.PalletNo,//托盘码 |
| | | IsSend = 1,//是否可再次下发 |
| | |
| | | OrderType = "1",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | CreateTime = serverTime, //创建时间 |
| | | CreateUser = userId, //创建人 |
| | | Msg = "Pda空托从" + locat == null ? "零箱库" : s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | Msg = "Pda空托从" + s.LocatNo + "到" + model.OutMode + "的出库任务", //关键信息 |
| | | //FinishDate = serverTime, //完成时间 |
| | | }; |
| | | var endroad = ""; |
| | | if (locat.WareHouseNo == "W01") |
| | | { |
| | | endroad = new AllotLocation().RoadwayToStationNum(locat.RoadwayNo, model.OutMode); |
| | | } |
| | | |
| | | outDtoList.Add(new OutCommandDto() |
| | | { |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = "", // 目标位置 |
| | | TaskNo = exTask.TaskNo, // 任务号 |
| | | TaskType = "1",// 任务类型 (出库) |
| | | OutMode = model.OutMode, //目标地址 |
| | | Order = 1, |
| | | Type = PLCTypeEnum.AGV |
| | | PalletNo = exTask.PalletNo,//托盘号 |
| | | |
| | | StartLocate = exTask.StartLocat, // 起始位置 |
| | | StartRoadway = locat.RoadwayNo, //所属巷道 |
| | | EndLocate = model.OutMode, // 目标位置 |
| | | EndRoadway = endroad, |
| | | |
| | | Order = 999, |
| | | Type = locat.WareHouseNo == "W01"?PLCTypeEnum.ShuttleCar : PLCTypeEnum.AGV |
| | | }); |
| | | await Db.Insertable(exTask).ExecuteCommandAsync(); |
| | | |
| | |
| | | var time2 = DateTime.Now;//返回时间 .ToString("yyyy-MM-dd HH:mm:ss") |
| | | |
| | | ////解析返回数据 |
| | | var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response); |
| | | if (wcsModel.StatusCode == 0) |
| | | var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response); |
| | | if (wcsModel.code == 0) |
| | | { |
| | | //更改任务的发送返回时间// |
| | | new TaskServer().EditTaskIssueOk(list2, time1, time2); |
| | | //str += "下发成功"; |
| | | } |
| | | if (wcsModel.StatusCode == -1) |
| | | if (wcsModel.code == -1) |
| | | { |
| | | new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg); |
| | | throw Oops.Bah(wcsModel.Msg); |
| | | new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message); |
| | | throw Oops.Bah(wcsModel.message); |
| | | } |
| | | } |
| | | catch (AppFriendlyException e) |
| | |
| | | OutMode = toLocation, //出库口 |
| | | Order = 1, |
| | | |
| | | UnstackingMode=unstackingMode2,//拣货方式 0机器拆托出 1 人工拣货出 |
| | | CompleteQty= outCount2, //拆的件数 |
| | | BoxexQty = outCount, //总件数 |
| | | }); |
| | | taskNoStr = exTask.TaskNo; |
| | | } |
| | |
| | | OutMode = toLocation, //目标地址 |
| | | Order = 1, |
| | | |
| | | UnstackingMode = "1",//拣货方式 0机器拆托出 1 人工拣货出 |
| | | CompleteQty = 0, //拆的件数 |
| | | BoxexQty = 0, //总件数 |
| | | |
| | | }); |
| | | #endregion |
| | | |
| | |
| | | OutMode = toLocation, //目标地址 |
| | | Order = 1, |
| | | |
| | | UnstackingMode = unstackingMode2,//拣货方式 0机器拆托出 1 人工拣货出 |
| | | CompleteQty = outCount2, //拆的件数 |
| | | BoxexQty = outCount, //总件数 |
| | | }); |
| | | taskNoStr = exTask1.TaskNo; |
| | | #endregion |
| | |
| | | foreach (var item in stockDetail) |
| | | { |
| | | var skuItem = skuList.First(m => m.SkuNo == item.SkuNo); |
| | | if (skuItem.SkuNo == "100099") |
| | | { |
| | | continue; |
| | | } |
| | | if (skuItem.Type != "2") |
| | | { |
| | | throw new Exception("托盘上有不是成品的物料"); |
| | |
| | | } |
| | | |
| | | //巷道组信息 |
| | | var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo)) |
| | | var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo)) |
| | | .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); |
| | | |
| | | #endregion |
| | |
| | | foreach (var item in stockDetail) |
| | | { |
| | | var skuItem = skuList.First(m => m.SkuNo == item.SkuNo); |
| | | if (skuItem.SkuNo == "100099") |
| | | { |
| | | continue; |
| | | } |
| | | if (skuItem.Type != "2") |
| | | { |
| | | throw new Exception("托盘上有不是成品的物料"); |
| | |
| | | } |
| | | |
| | | locate = allotLocate.GetMiJiSuiTableLocate(roadwayNo, areaList); |
| | | |
| | | if (locate == null) |
| | | { |
| | | throw new Exception($"没有空储位"); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | |
| | | { |
| | | throw new Exception($"未查询到任务中的储位信息"); |
| | | } |
| | | var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList(); |
| | | var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04").Select(m => m.AreaNo).ToList(); |
| | | var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == locate.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0"); |
| | | if (pingLocateInfo == null) |
| | | { |
| | | throw new Exception("当前任务起始储位不在平库储位"); |
| | | } |
| | | var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == task.PalletNo).ToList(); |
| | | foreach (var item in stockDetail) |
| | | { |
| | | item.WareHouseNo = ""; |
| | | item.RoadwayNo = ""; |
| | | item.AreaNo = ""; |
| | | item.LocatNo = ""; |
| | | } |
| | | Db.Updateable(stockDetail).ExecuteCommand(); |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 移库任务完成JC34 |
| | | /// </summary> |
| | | /// <param name="taskNo"></param> |
| | | /// <param name="userId"></param> |
| | | /// <exception cref="Exception"></exception> |
| | | public void MoveSuccess(string taskNo, int userId) |
| | | { |
| | | try |
| | | { |
| | | Db.BeginTran(); |
| | | //正常入库 |
| | | var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.TaskNo == taskNo); |
| | | if (task == null) |
| | | { |
| | | throw new Exception("未查询到任务信息"); |
| | | } |
| | | if (task.Status == "2") |
| | | { |
| | | throw new Exception("当前任务已完成"); |
| | | } |
| | | |
| | | var stockDetail = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == task.PalletNo).ToList(); |
| | | //判断是否是回流入库完成 |
| | | if (!stockDetail.Any()) |
| | | { |
| | | throw new Exception("没有查询到库存信息"); |
| | | } |
| | | //当前任务中的储位信息 |
| | | var locate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.StartLocat); |
| | | if (locate == null) |
| | | { |
| | | throw new Exception($"未查询到任务中的起始储位信息"); |
| | | } |
| | | //当前任务中的储位信息 |
| | | var locate2 = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat); |
| | | if (locate2 == null) |
| | | { |
| | | throw new Exception($"未查询到任务中的目标储位信息"); |
| | | } |
| | | |
| | | task.Status = "2";//任务状态 |
| | | task.IsSend = 0; |
| | | task.IsCancel = 0; |
| | | task.IsFinish = 0; |
| | | task.FinishDate = DateTime.Now;//完成时间 |
| | | Db.Updateable(task).ExecuteCommand(); |
| | | if (userId != 0) |
| | | { |
| | | //添加操作日志记录 |
| | | var k = new OperationASNServer().AddLogOperationAsn("入库作业", "入库日志", taskNo, "完成", $"点击完成按钮、完成任务号为:{taskNo}的任务", userId); |
| | | } |
| | | |
| | | foreach (var item in stockDetail) |
| | | { |
| | | if (locate2.LocatNo == "B040101") |
| | | { |
| | | item.WareHouseNo = ""; |
| | | item.RoadwayNo = ""; |
| | | item.AreaNo = ""; |
| | | item.LocatNo = ""; |
| | | } |
| | | else |
| | | { |
| | | item.WareHouseNo = locate2.WareHouseNo; |
| | | item.RoadwayNo = locate2.RoadwayNo; |
| | | item.AreaNo = locate2.AreaNo; |
| | | item.LocatNo = locate2.LocatNo; |
| | | } |
| | | item.UpdateTime = DateTime.Now; |
| | | if (userId != 0) |
| | | { |
| | | item.UpdateUser = userId; |
| | | } |
| | | } |
| | | |
| | | if (locate.WareHouseNo != "W04") |
| | | { |
| | | locate.Status = "0"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | |
| | | if (locate2.LocatNo == "B040101") |
| | | { |
| | | locate2.Status = "0"; |
| | | Db.Updateable(locate2).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | locate2.Status = "1"; |
| | | Db.Updateable(locate).ExecuteCommand(); |
| | | } |
| | | |
| | | Db.Updateable(stockDetail).ExecuteCommand(); |
| | | Db.CommitTran(); |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | Db.RollbackTran(); |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | dataStock = dataStock.Where(m => m.LotNo == lotNo); |
| | | } |
| | | //库存查找相同物料/批次的巷道 |
| | | var yiYouRoad = dataStock.GroupBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).OrderBy(m => m).ToList(); |
| | | foreach (var l in yiYouRoad) |
| | | var yiYouRoad = dataStock.GroupBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); |
| | | foreach (var l in yiYouRoad.OrderBy(m=>m).ToList()) |
| | | { |
| | | // 判断当前巷道(组)是否有空余储位 |
| | | |
| | |
| | | |
| | | } |
| | | } |
| | | } |
| | | if (bl) |
| | | { |
| | | // 判断当前巷道(组)是否有空余储位 |
| | |
| | | if (locateCount - bindNum > 0) |
| | | { |
| | | return l; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | var db = DataContext.Db; |
| | | |
| | | // 判断当前巷道(组)是否有空余储位 |
| | | var locateList = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == roadwayNo && areaList.Contains(m.AreaNo)).ToList(); |
| | | var locateList = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == roadwayNo && areaList.Contains(m.AreaNo) && m.Status == "0").ToList(); |
| | | if (locateList.Count(m => m.Status == "0") > 0) |
| | | { |
| | | var bl = GetLocateASCOrDesc(roadwayNo); |
| | |
| | | var locate = db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.RoadwayNo == roadStr); |
| | | var a = locate.LocatNo.Substring(2,2);//储位列 |
| | | var b = locate.AisleOne.Substring(2, 2);//通道口列 |
| | | return int.Parse(a) < int.Parse(b); |
| | | return int.Parse(a) > int.Parse(b); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | var locatList2 = db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.RoadwayNo == locate.RoadwayNo && m.Column > a).ToList(); |
| | | if (bl) |
| | | { |
| | | if (locatList1.Count(m => str1.Contains(m.Status)) > 0) |
| | | if (locatList1.Count(m => str2.Contains(m.Status)) > 0) |
| | | { |
| | | return false; |
| | | } |
| | | if (locatList2.Count(m => str2.Contains(m.Status)) > 0) |
| | | if (locatList2.Count(m => str1.Contains(m.Status)) > 0) |
| | | { |
| | | return false; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (locatList1.Count(m => str2.Contains(m.Status)) > 0) |
| | | if (locatList1.Count(m => str1.Contains(m.Status)) > 0) |
| | | { |
| | | return false; |
| | | } |
| | | if (locatList2.Count(m => str1.Contains(m.Status)) > 0) |
| | | if (locatList2.Count(m => str2.Contains(m.Status)) > 0) |
| | | { |
| | | return false; |
| | | } |
| | |
| | | /// <param name="areaList">区域集合</param> |
| | | /// <param name="isRoadway">是否指定巷道</param> |
| | | /// <returns></returns> |
| | | private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false ,string houseNo = "W01") |
| | | private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false ,string houseNo = "W02") |
| | | { |
| | | try |
| | | { |
| | |
| | | /// <param name="userId">操作人(下游系统时为空)</param> |
| | | void ArrivalSuccess2(string taskNo, int userId); |
| | | |
| | | /// <summary> |
| | | /// 移库完成 |
| | | /// </summary> |
| | | /// <param name="taskNo"></param> |
| | | /// <param name="userId"></param> |
| | | void MoveSuccess(string taskNo, int userId); |
| | | |
| | | } |
| | | } |
| | |
| | | } |
| | | break; |
| | | case "3"://移库完成任务、优化储位 |
| | | if (model.TaskType == "3") //0:入库 1:出库 2:移库 |
| | | if (model.TaskType == "2") //0:入库 1:出库 2:移库 |
| | | { |
| | | //填写移库完成代码 |
| | | _http.MoveSuccess(model.TaskNo, 0); |
| | | return Ok(new WcsModel { StatusCode = 0, Msg = "移库完成" }); |
| | | } |
| | | break; |
| | | default: |