wxw
11 小时以前 6ec432ea8db5aa36c7cc50f90a7e02676950a22f
Wms/WMS.BLL/HttpServer.cs
@@ -1763,9 +1763,9 @@
                    {
                        throw new Exception("储位损坏不能出库");
                    }
                    if (locate.WareHouseNo != "W02")
                    if (locate.WareHouseNo != "W02" && locate.WareHouseNo != "W04")
                    {
                        throw new Exception("托盘不在货架库上");
                        throw new Exception("托盘不在货架库上也不在平库");
                    }
                    var locateEnd = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == outModeLocate && m.IsDel == "0");//当前出库的目标储位信息
                    if (locateEnd == null)
@@ -1778,11 +1778,16 @@
                        if (logEnd != null && logEnd.PalletNo != palletNo)
                        {
                            throw new Exception("目标储位状态不是空储位");
                        }
                        }
                        var detailEnd = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == locateEnd.LocatNo);
                        if (detailEnd != null && detailEnd.PalletNo != palletNo)
                        {
                            throw new Exception("目标储位状态不是空储位");
                        }
                    }
                    #endregion
                    if (locate.Status == "1") //有物品
                    if (locate.WareHouseNo == "W02" && locate.Status == "1") //有物品
                    {
                        #region 添加出库任务
@@ -1861,9 +1866,9 @@
                        Db.Updateable(item).ExecuteCommand();
                        #endregion
                    }
                    else if (locate.Status == "3") //出库中
                    else if (locate.Status == "3" || locate.WareHouseNo == "W04") //出库中或已在平库
                    {
                        #region 改变数据
                        //判断是否是已经出过库又回库(状态为待拣货的 1)
@@ -1887,21 +1892,31 @@
                                }
                            }
                        }
                        var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
                        if (taskNo == null)
                        if (locate.WareHouseNo == "W04")
                        {
                            taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//当前有同托盘不同物料出库
                            item.TaskNo = "";
                            item.Status = "2"; // 出库分配信息状态改为正在执行
                            item.OutMode = item.OutMode;//出库口
                            //item.UnstackingMode = unstackingMode2;//拆垛模式
                            Db.Updateable(item).ExecuteCommand();
                        }
                        if (taskNo == null)
                        else
                        {
                            throw new Exception($"托盘号:{item.PalletNo},出库异常");
                        }
                        item.TaskNo = taskNo.TaskNo;
                        item.Status = "1"; // 出库分配信息状态改为正在执行
                        item.OutMode = item.OutMode;//出库口
                        //item.UnstackingMode = unstackingMode2;//拆垛模式
                        Db.Updateable(item).ExecuteCommand();
                            var taskNo = Db.Queryable<LogTask>().First(m => m.OrderType == "1" && m.TaskNo != item.TaskNo && m.Status == "1" && m.PalletNo == item.PalletNo);
                            if (taskNo == null)
                            {
                                taskNo = logTaskList.FirstOrDefault(m => m.PalletNo == item.PalletNo);//当前有同托盘不同物料出库
                            }
                            if (taskNo == null)
                            {
                                throw new Exception($"托盘号:{item.PalletNo},出库异常");
                            }
                            item.TaskNo = taskNo.TaskNo;
                            item.Status = "1"; // 出库分配信息状态改为正在执行
                            item.OutMode = item.OutMode;//出库口
                            //item.UnstackingMode = unstackingMode2;//拆垛模式
                            Db.Updateable(item).ExecuteCommand();
                        }
                        #endregion
                    }
                    else if (locate.Status == "5") //移出中