| | |
| | | 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) |