admin
2025-11-13 88faaead38486c9c6b43a550707dceb8e826e60e
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -151,8 +151,8 @@
                {
                    throw new Exception("当前物料包装信息不存在,请核实!");
                }
                var pNum = 0;//托盘物品数量
                var bNum = 0;//箱码物品数量
                var pNum = 0m;//托盘物品数量
                var bNum = 0m;//箱码物品数量
                //公共方法获取包装数量
                new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -274,19 +274,8 @@
                    // 判断库存明细是否已有此托盘信息  
                    var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.LotNo == detail.LotNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
                    var sdId1 = 0;
                    if (sd1 != null)
                    if (sd1 == null)
                    {
                        sdId1 = sd1.Id;
                        // 库存已存在 更新数据
                        sd1.Qty += bind.Qty;
                        sd1.CompleteTime = comTime;
                        sd1.UpdateUser = userId;
                        sd1.UpdateTime = comTime;
                        Db.Updateable(sd1).ExecuteCommand();
                    }
                    else
                    {
                        // 库存不存在 插入数据
                        sd1 = new DataStockDetail()
                        {
@@ -296,7 +285,7 @@
                            SkuNo = sku.SkuNo,
                            SkuName = sku.SkuName,
                            Standard = sku.Standard,
                            Qty = bind.Qty,
                            Qty = 0,
                            LockQty = 0,
                            FrozenQty = 0,
                            InspectQty = 0,
@@ -317,7 +306,7 @@
                            InspectMark = bind.InspectMark,
                            InspectStatus = sku.IsInspect,
                            BitPalletMark = bind.BitPalletMark,
                            PackagNo = sku.PackagNo,
                            PackagNo = sku.PackagNo,
                            IsBale = bind.IsBale,
                            IsBelt = bind.IsBelt,
@@ -325,6 +314,14 @@
                            CreateUser = 0,
                            CreateTime = comTime
                        };
                        if (!string.IsNullOrEmpty(detail.Lot1))
                        {
                            sd1.ProductionTime = Convert.ToDateTime(detail.Lot1);//生产日期
                        }
                        if (!string.IsNullOrEmpty(detail.Lot2))
                        {
                            sd1.ExpirationTime = Convert.ToDateTime(detail.Lot2);//到期日期
                        }
                        var palletData = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == sd1.PalletNo && !string.IsNullOrEmpty(w.LocatNo));
                        if (palletData != null)
                        {
@@ -350,20 +347,19 @@
                            //修改合格不合格数量
                            if (quality.IsQualified == "1") //合格
                            {
                                //增加合格数量
                                quality.PassQty += bind.Qty;
                                sd1.InspectStatus = "1";
                            }
                            else if (quality.IsQualified == "0") //不合格
                            {
                                //增加不合格数量
                                quality.FailQty += bind.Qty;
                                sd1.InspectStatus = "2";
                            }
                            Db.Updateable(quality).ExecuteCommand(); //修改质检信息
                        }
                        //添加库存明细
                        sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
                    }
                    else
                    {
                        sdId1 = sd1.Id;
                    }
                    #endregion
@@ -516,10 +512,13 @@
                    #endregion
                    #region 库存明细
                    if (sd1.Qty <= 0)
                    {
                        sd1.Qty = bind.Qty;
                    }
                    // 库存已存在 更新数据
                    sd1.Qty += bind.Qty;
                    sd1.CompleteTime = comTime;
                    sd1.UpdateUser = userId;
                    sd1.UpdateTime = comTime;
                    //更改库存明细数量
                    Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand();
                    #endregion
@@ -1188,7 +1187,15 @@
                    throw new Exception("未查询到托盘信息,请核实!");
                }
                // 验证入库单明细是否存在
                var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
                var detail = new BllArrivalNoticeDetail();
                if (string.IsNullOrEmpty(model.LotNo))
                {
                    detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo);
                }
                else
                {
                    detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
                }
                if (detail == null)
                {
                    throw new Exception("当前物料及批次与单据无关联,请核实!");
@@ -1219,8 +1226,8 @@
                    throw new Exception("未查询到该物料包装信息,请核实!");
                }
                var pNum = 0;//托盘物品数量
                var bNum = 0;//箱码物品数量
                var pNum = 0m;//托盘物品数量
                var bNum = 0m;//箱码物品数量
                //公共方法获取包装数量
                new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
                 
@@ -1327,14 +1334,23 @@
                    throw new Exception("当前托盘含有贴标物料信息,不能组托");
                }
                // 判断库存明细是否已有此托盘信息  
                var sd1 = Db.Queryable<DataStockDetail>()
                    .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);
                var sd1 = new DataStockDetail();
                if (!string.IsNullOrEmpty(bind.LotNo))
                {
                    sd1 = Db.Queryable<DataStockDetail>()
                    .First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);//&& m.ASNDetailNo == bind.ASNDetailNo
                }
                else
                {
                    sd1 = Db.Queryable<DataStockDetail>()
                    .First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
                }
                var sdId1 = 0;
                if (sd1 != null)
                {
                    sdId1 = sd1.Id;
                    // 库存已存在 更新数据
                    sd1.Qty = bind.Qty;
                    sd1.Qty += bind.Qty;
                    sd1.CompleteTime = comTime;
                    sd1.UpdateUser = userId;
                    sd1.UpdateTime = comTime;
@@ -1961,8 +1977,8 @@
                        var addComBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotId).ToList();
                        var addComList = addComBox.GroupBy(m => m.BoxNo).ToList();
                        var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == addComBox.First().SkuNo);
                        var pNum = 0;
                        var bNum = 0;
                        var pNum = 0m;
                        var bNum = 0m;
                        new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
                        var boxList = new List<BllBoxInfo>();
                        foreach (var com in addComList)
@@ -2236,8 +2252,8 @@
                    throw new Exception($"未查询到物料{obj.Data.SkuNo}信息");
                }
                var pNum = 0;//托盘物品数量
                var bNum = 0;//箱码物品数量
                var pNum = 0m;//托盘物品数量
                var bNum = 0m;//箱码物品数量
                //获取包装信息
                new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
                if (pNum == 0 || bNum == 0)
@@ -2667,8 +2683,8 @@
                var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo);
                var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
                var pNum = 0;//托盘物品数量
                var bNum = 0;//箱码物品数量
                var pNum = 0m;//托盘物品数量
                var bNum = 0m;//箱码物品数量
                //公共方法获取包装数量
                new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -2933,8 +2949,8 @@
                 
                var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
                var pNum = 0;//托盘物品数量
                var bNum = 0;//箱码物品数量
                var pNum = 0m;//托盘物品数量
                var bNum = 0m;//箱码物品数量
                //公共方法获取包装数量
                new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -3280,8 +3296,8 @@
                }
                //获取托盘信息
                var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
                var pNum = 0;
                var bNum = 0;
                var pNum = 0m;
                var bNum = 0m;
                new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -6272,6 +6288,10 @@
                {
                    throw new Exception("储位信息不存,请核查!");
                }
                if (storageLocat.WareHouseNo != "W04")
                {
                    throw new Exception("该储位不是平库储位,请检查!");
                }
                if (storageLocat.Status != "0")
                { 
                    var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
@@ -6279,6 +6299,11 @@
                    {
                        throw new Exception("储位不是空闲状态,请核查!");
                    }
                    var logIng = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.EndLocat == storageLocat.LocatNo && w.Status == "1" && w.PalletNo != model.PalletNo);
                    if (logIng != null)
                    {
                        throw new Exception("该储位有正在执行的入库任务,请核查!");
                    }
                }
                #endregion