wxw
12 小时以前 a9513fe0529abf7d63a955b83a4e784ce531be4b
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -691,9 +691,9 @@
            {
                throw Oops.Bah("托盘储位信息不存在,请检查!");
            }
            if (models.WareHouseNo != "W04")
            if (models.WareHouseNo != "W04" && models.WareHouseNo != "W02")
            {
                throw Oops.Bah("该托盘未在平库内,请检查!");
                throw Oops.Bah("该托盘未在平库内或货架库内,请检查!");
            }
            return models.LocatNo;
        }
@@ -721,7 +721,7 @@
                {
                    throw Oops.Bah("托盘储位信息不存在,请检查!");
                }
                if (models.WareHouseNo != "W04")
                if (models.WareHouseNo != "W04" && models.WareHouseNo != "W02")
                {
                    throw Oops.Bah("该托盘未在平库内,请检查!");
                }
@@ -731,8 +731,14 @@
                    throw Oops.Bah("储位信息不存在,请检查!");
                }
                storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04").OrderBy(o => o.AreaNo).ToListAsync();
                if (models.WareHouseNo == "W02")
                {
                    storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04" && (w.AreaNo == "B01" || w.AreaNo == "B02")).OrderBy(o => o.AreaNo).ToListAsync();
                }
                else
                {
                    storageArea = await Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo != storageLocat.AreaNo && w.WareHouseNo == "W04").OrderBy(o => o.AreaNo).ToListAsync();
                }
                
            }
            return storageArea;
@@ -829,7 +835,7 @@
                {
                    throw Oops.Bah("托盘储位信息不存在,请检查!");
                }
                if (stockDetail.WareHouseNo != "W04")
                if (stockDetail.WareHouseNo != "W04" && stockDetail.WareHouseNo != "W02")
                {
                    throw Oops.Bah("该托盘未在平库内,请检查!");
                }
@@ -1001,9 +1007,13 @@
                }
                //根据目标区域获取目标储位地址
                EndLocat = await GetLocat(areaNo);
                if (string.IsNullOrEmpty(EndLocat))
                {
                    throw Oops.Bah("获取目标储位失败!");
                }
                
                //起始储位信息
                var storageLocat = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == stockDetail.LocatNo);
                var storageLocat = await Db.Queryable<SysStorageLocat>().FirstAsync(w => w.IsDel == "0" && w.LocatNo == locatNo);
                if (storageLocat == null)
                {
                    throw Oops.Bah("储位信息不存在,请检查!");
@@ -1026,10 +1036,10 @@
                    Receiver = "WCS",
                    IsSuccess = 0, //是否下发成功 0失败 1成功
                    StartLocat = stockDetail.LocatNo,//起始位置
                    StartLocat = storageLocat.LocatNo,//起始位置
                    EndLocat = EndLocat,//目标位置
                    PalletNo = palletNo,//托盘码
                    Msg = string.Format("转运任务:{0}=>>{1}", stockDetail.LocatNo, EndLocat),
                    Msg = string.Format("转运任务:{0}=>>{1}", storageLocat.LocatNo, EndLocat),
                    IsSend = 1,//是否可再次下发
                    IsCancel = 1,//是否可取消
                    IsFinish = 1,//是否可完成
@@ -1046,11 +1056,11 @@
                await Db.Updateable(storageLocat).ExecuteCommandAsync();
                //修改目标储位地址状态
                if (storageLocatEnd != null)
                {
                    storageLocatEnd.Status = "4";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中
                    await Db.Updateable(storageLocatEnd).ExecuteCommandAsync();
                }
                //if (storageLocatEnd != null)
                //{
                //    storageLocatEnd.Status = "4";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中
                //    await Db.Updateable(storageLocatEnd).ExecuteCommandAsync();
                //}
                //添加操作日志记录
                var k = new OperationCrServer().AddLogOperationCr("PDA模块", "AGV空托转运", palletNo, "移库", $"PDA呼叫小车对托盘号:{palletNo}发起转运", userId);
@@ -1265,9 +1275,18 @@
            string endLocat = string.Empty;//目标储位
            //当前区域所有储位信息
            var storageLocatList = await Db.Queryable<SysStorageLocat>().Where(w => w.WareHouseNo == "W04" && w.AreaNo == areaNo).ToListAsync();
            var locatInfo2 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0" && w.Status == "0")
            var locatInfo2 = new SysStorageLocat();
            if (areaNo == "B10")
            {
                locatInfo2 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0")
                           .OrderByDescending(m => m.Layer).OrderByDescending(m => m.Column).OrderByDescending(m => m.Row).First();
            }
            else
            {
                locatInfo2 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0" && w.Status == "0")
                               .OrderByDescending(m => m.Layer).OrderByDescending(m => m.Column).OrderByDescending(m => m.Row).First();
            }
            if (locatInfo2 != null)
            {