admin
2025-11-14 236837a0d5e047662d97428b086feaf042bfbef2
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -143,10 +143,14 @@
                    var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
                    if (newPalletInfo == null)
                    {
                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew &&(m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList();
                        throw Oops.Bah("新托盘信息不存在!");
                    }
                    if (newPalletInfo.Status == "0")
                    {
                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && (m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList();
                        if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
                        {
                            throw Oops.Bah("新托盘信息不存在或已被使用!");
                            throw Oops.Bah("一个托盘只能接受一个出库单拼托!");
                        }
                    }
                    else
@@ -442,22 +446,26 @@
                        var locateStr = stockDetail.LocatNo;
                        await Db.Deleteable(stockDetail).ExecuteCommandAsync();
                        //改变托盘状态
                        var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0");
                        if (pallet == null)
                        var detailOther = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.PalletNo == stockDetail.PalletNo && w.Id != stockDetail.Id).ToList();
                        if (detailOther.Count <= 0)
                        {
                            throw Oops.Bah("未在托盘表中查询到托盘信息");
                        }
                        pallet.Status = "0";
                        await Db.Updateable(pallet).ExecuteCommandAsync();
                            //改变托盘状态
                            var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0");
                            if (pallet == null)
                            {
                                throw Oops.Bah("未在托盘表中查询到托盘信息");
                            }
                            pallet.Status = "0";
                            await Db.Updateable(pallet).ExecuteCommandAsync();
                        //更改储位状态为空储位
                        var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr);
                        if (locate != null)
                        {
                            locate.Status = "0";
                            Db.Updateable(locate).ExecuteCommand();
                        }
                            //更改储位状态为空储位
                            var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr);
                            if (locate != null)
                            {
                                locate.Status = "0";
                                Db.Updateable(locate).ExecuteCommand();
                            }
                        }
                    }
                    else
                    {