| | |
| | | using Model.ModelVm.DataVm; |
| | | using SqlSugar; |
| | | using WMS.DAL; |
| | | using WMS.Entity.BllSoEntity; |
| | | using WMS.Entity.Context; |
| | | using WMS.Entity.DataEntity; |
| | | using WMS.Entity.LogEntity; |
| | | using WMS.Entity.SysEntity; |
| | | using WMS.IBLL.IDataServer; |
| | | |
| | |
| | | return stockDetailsList; |
| | | } |
| | | #endregion |
| | | |
| | | #region AGV小车任务完成 |
| | | |
| | | /// <summary> |
| | | /// AGV入库完成 |
| | | /// </summary> |
| | | /// <param name="TaskCode">任务号</param> |
| | | /// <returns></returns> |
| | | public void ArriveFinish(string TaskCode) |
| | | { |
| | | try |
| | | { |
| | | var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "0");//获取任务信息 |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //获取库位信息 |
| | | var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); |
| | | //开启事务 |
| | | Db.BeginTran(); |
| | | |
| | | //修改起始库位状态 |
| | | storageLocat.Status = "0";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中 |
| | | Db.Updateable(storageLocat).ExecuteCommand(); |
| | | |
| | | //修改任务状态 |
| | | palletNo.Status = "2"; //已完成 |
| | | Db.Updateable(palletNo).ExecuteCommand(); |
| | | |
| | | //修改库存明细 |
| | | stockDetail.Status = "0";//待分配 |
| | | stockDetail.LocatNo = ""; |
| | | stockDetail.AreaNo = ""; |
| | | stockDetail.RoadwayNo = ""; |
| | | stockDetail.WareHouseNo = ""; |
| | | Db.Updateable(stockDetail).ExecuteCommand(); |
| | | |
| | | //下发WCS申请入库 |
| | | |
| | | |
| | | Db.CommitTran(); |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw new Exception("AGV返回入库完成信号处理错误,错误信息:" + ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// AGV出库完成 |
| | | /// </summary> |
| | | /// <param name="TaskCode">任务号</param> |
| | | /// <returns></returns> |
| | | public void SoFinish(string TaskCode) |
| | | { |
| | | try |
| | | { |
| | | var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "1");//获取任务信息 |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //获取库位信息 |
| | | var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //获取库位信息 |
| | | var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); //获取库存信息 |
| | | |
| | | //开启事务 |
| | | Db.BeginTran(); |
| | | //修改目的库位状态 |
| | | storageLocat.Status = "1";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中 |
| | | Db.Updateable(storageLocat).ExecuteCommand(); |
| | | |
| | | //修改任务状态 |
| | | palletNo.Status = "2"; //已完成 |
| | | Db.Updateable(palletNo).ExecuteCommand(); |
| | | |
| | | //修改库存明细 |
| | | stockDetail.Status = "2";// 0:待分配 1:部分分配 2:已分配 3:盘点锁定: 4移库锁定 |
| | | stockDetail.LocatNo = storageLocat.LocatNo; |
| | | stockDetail.AreaNo = storageLocat.AreaNo; |
| | | stockDetail.RoadwayNo = storageLocat.RoadwayNo; |
| | | stockDetail.WareHouseNo = storageLocat.WareHouseNo; |
| | | Db.Updateable(stockDetail).ExecuteCommand(); |
| | | |
| | | |
| | | Db.CommitTran(); |
| | | |
| | | } |
| | | catch (Exception ex ) |
| | | { |
| | | |
| | | throw new Exception("AGV返回出库完成信号处理错误,错误信息:" + ex); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// AGV移库完成 |
| | | /// </summary> |
| | | /// <param name="TaskCode">任务号</param> |
| | | /// <returns></returns> |
| | | public void MoveFinish(string TaskCode) |
| | | { |
| | | try |
| | | { |
| | | var palletNo = Db.Queryable<LogTask>().First(m => m.TaskNo == TaskCode && m.OrderType == "3");//获取任务信息 |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.EndLocat); //获取库位信息 |
| | | var storageStart = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == palletNo.StartLocat); //获取库位信息 |
| | | var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo.PalletNo); //获取库存信息 |
| | | //var soAllot = Db.Queryable<BllExportAllot>().First(m => m.IsDel == "0" && m.PalletNo == palletNo.PalletNo);//获取分配信息 |
| | | |
| | | |
| | | //开启事务 |
| | | Db.BeginTran(); |
| | | //修改起始库位状态 |
| | | storageLocat.Status = "0";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中 |
| | | Db.Updateable(storageLocat).ExecuteCommand(); |
| | | |
| | | //修改目的库位状态 |
| | | storageLocat.Status = "1";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中 |
| | | Db.Updateable(storageLocat).ExecuteCommand(); |
| | | |
| | | //修改任务状态 |
| | | palletNo.Status = "2"; //已完成 |
| | | Db.Updateable(palletNo).ExecuteCommand(); |
| | | |
| | | //修改库存明细 |
| | | stockDetail.Status = "2";// 0:待分配 1:部分分配 2:已分配 3:盘点锁定: 4移库锁定 |
| | | stockDetail.LocatNo = storageLocat.LocatNo; |
| | | stockDetail.AreaNo = storageLocat.AreaNo; |
| | | stockDetail.RoadwayNo = storageLocat.RoadwayNo; |
| | | stockDetail.WareHouseNo = storageLocat.WareHouseNo; |
| | | Db.Updateable(stockDetail).ExecuteCommand(); |
| | | |
| | | |
| | | Db.CommitTran(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | throw new Exception("AGV返回移库完成信号处理错误,错误信息:"+ex); |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | } |