zhaowc
2025-03-27 d07f25c163706ac46a83bd2c63db1e3c52715222
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -1283,8 +1283,7 @@
                                throw new Exception("当前单据明细中计划数量与拣货数量不符,请核实");
                            }
                        }
                        if (d.Qty < d.CompleteQty)
                        {
                            //更改库存明细锁定数量
                            var allotList = Db.Queryable<BllExportAllot>().Where(o => o.SODetailNo == d.Id && o.Status == "3" && o.IsDel == "0").ToList();
                            foreach (var o in allotList)
@@ -1335,7 +1334,7 @@
                                Db.Updateable(st).UpdateColumns(it => new { it.LockQty }).ExecuteCommand();
                            }
                            #endregion
                        }
                    }
                    //添加操作日志记录
@@ -1707,8 +1706,8 @@
                {
                    throw new Exception($"未找到{soNo}出库单信息");
                }
                //所有要出库的出库分配信息(未下发的信息和待拣货的信息)
                var list = Db.Queryable<BllExportAllot>().Where(a => a.IsDel == "0" && a.SONo == soNo && a.Status == "0").ToList();
                //所有要出库的出库分配信息(未下发的信息和待拣货的信息和部分拣货后回流入库的托盘)
                var list = Db.Queryable<BllExportAllot>().Where(a => a.IsDel == "0" && a.SONo == soNo && (a.Status == "0" || a.Status == "3")).ToList();
                if (list.Count == 0) //判断是否有需要下发的出库流水
                {
                    throw new Exception("当前出库单据无需要下发的托盘");
@@ -2427,11 +2426,11 @@
                                if (outLine == "443")//西侧出库
                                {
                                    positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 1 && m.Status == "0" && m.Flag == "0").LocatNo; //西侧房间库位和对面房间
                                    positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 1 && m.Status == "0" && m.Flag == "0").LocatNo; //西侧房间库位
                                }
                                else if (outLine == "440")  //东侧出库
                                {
                                    positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 2  && m.Status == "0" && m.Flag == "0").LocatNo; //东侧房间库位
                                    positionEnd = locateno.OrderBy(m => m.LocatNo).First(m => m.Row == 3  && m.Status == "0" && m.Flag == "0").LocatNo; //东侧房间库位和对面房间
                                }
                            }
                            else if (type1.Type == "2" || type1.Type == "3") //抽检出库 /取样出库
@@ -2441,7 +2440,7 @@
                            else if (type1.Type == "4")//不合格品出库
                            {
                                positionEnd = Db.Queryable<SysStorageLocat>().OrderBy(m => m.LocatNo).First(m => m.AreaNo == "B03" && m.Status == "0" && m.Flag == "0").LocatNo;
                                positionEnd = Db.Queryable<SysStorageLocat>().OrderBy(m => m.LocatNo).First(m => (m.AreaNo == "B01"|| m.AreaNo == "B02"||m.AreaNo == "B04") && m.Status == "0" && m.Flag == "0").LocatNo;
                            }
                            else //其他单据类型都存放发货缓存区
                            {
@@ -2669,8 +2668,9 @@
                    StartLocate = locateNo, // 起始位置
                    StartRoadway = locate.RoadwayNo,
                    EndLocate = task.EndLocat, // 目标位置 
                    EndRoadway = task.EndRoadway,
                    TaskNo = task.TaskNo, // 任务号
                    TaskType = "1",// 任务类型 (出库)
                    TaskType = task.Type,// 任务类型 (出库)
                    OutMode = "",  //目标地址
                    Order = 1
                }; //出库数据