wxw
2024-08-13 28e3d62189b7509d0fcc1528a1c3e9b8be44cd24
修改测试问题
1个文件已修改
54 ■■■■■ 已修改文件
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -3527,12 +3527,12 @@
                    boxInfoList.AddRange(list);
                    msgStr += $"尾箱号为{model.TailBoxNo}";
                }
                //绑定箱总数量
                //model.SkuQty = boxInfoList.Sum(s => s.Qty);
                //和选择的批次同批次的箱码信息
                var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo).ToList();
                //和选择的批次不同批次的箱码信息(拼箱批次)
                var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList();
                //拼箱数量(和选择的批次不同批次的箱码数量)
                decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
                #endregion
                if (sameBoxInfoList.Count <= 0)
@@ -3553,7 +3553,7 @@
                            PalletNo = model.PalletNo,
                            PalletNo2 = "",
                            PalletNo3 = "",
                            Qty = model.SkuQty - pinBoxQty,//不包含拼箱中非同批次数量
                            Qty = model.SkuQty,//不包含拼箱中非同批次数量
                            FullQty = pNum,
                            Status = "2",//入库完成
                            Type = "0",
@@ -3576,10 +3576,10 @@
                        bindId = bind.Id;
                        bind.Qty += model.SkuQty;
                    }
                    if (bind.Qty < 0)
                    /*if (bind.Qty < 0)
                    {
                        throw new Exception("组盘数量不能小于0");
                    }
                    }*/
                    #endregion
                    #region 库存明细和质检信息
@@ -3917,6 +3917,8 @@
                    }
                    var pinBoxNo = notBoxInfoList[0].BoxNo;//拼箱箱码
                    var pinBoxLotNo = notBoxInfoList[0].LotNo;//拼箱批次号
                    //拼箱数量(和选择的批次不同批次的箱码数量)
                    decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
                    var dataBoxList = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == pinBoxNo && w.LotNo == pinBoxLotNo).ToList();
                    if (dataBoxList.Count > 0)//已有库存
@@ -3925,6 +3927,8 @@
                        var oldPalletBind = Db.Queryable<BllPalletBind>().First(w => w.Id == notBoxInfoList[0].BindNo);
                        //原入库单明细
                        var oldAsnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.Id == oldPalletBind.ASNDetailNo);
                        //原入库单
                        var oldAsnNotice = Db.Queryable<BllArrivalNotice>().First(w => w.ASNNo == oldAsnDetail.ASNNo);
                        #region 托盘绑定信息
                        var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == oldAsnDetail.Id && m.PalletNo == model.PalletNo);
                        var bindId = 0;
@@ -3937,7 +3941,7 @@
                                PalletNo = model.PalletNo,
                                PalletNo2 = "",
                                PalletNo3 = "",
                                Qty = pinBoxQty,
                                Qty = 0,
                                FullQty = pNum,
                                Status = "2",//入库完成
                                Type = "0",
@@ -3967,7 +3971,7 @@
                        // 插入库存明细数据
                        var sd1 = new DataStockDetail()
                        {
                            LotNo = pinBoxNo,
                            LotNo = pinBoxLotNo,
                            LotText = notBoxInfoList[0].LotText,
                            SupplierLot = notBoxInfoList[0].SupplierLot,
                            SkuNo = sku.SkuNo,
@@ -3983,9 +3987,9 @@
                            RoadwayNo = "",//所属巷道
                            AreaNo = "",//所属区域
                            LocatNo = "",//储位地址
                            PalletNo = oldPalletBind.PalletNo,
                            PalletNo2 = oldPalletBind.PalletNo2,
                            PalletNo3 = oldPalletBind.PalletNo3,
                            PalletNo = bind.PalletNo,
                            PalletNo2 = bind.PalletNo2,
                            PalletNo3 = bind.PalletNo3,
                            PalletTags = "0",
                            CompleteTime = comTime,
                            ProductionTime = oldPalletBind.ProductionTime,
@@ -4002,6 +4006,17 @@
                            CreateUser = 0,
                            CreateTime = comTime
                        };
                        //维护库存明细货主/供应商信息
                        if (oldAsnNotice.Type == "0" || oldAsnNotice.Type == "2" || oldAsnNotice.Type == "4" || oldAsnNotice.Type == "6" || oldAsnNotice.Type == "7")//0:成品入库,2:中间品入库,4:车间余料入库,6:代储入库,7:寄存入库
                        {
                            sd1.OwnerNo = oldAsnNotice.CustomerNo;//货主编码
                            sd1.OwnerName = oldAsnNotice.CustomerName;//货主名称
                        }
                        else if (oldAsnNotice.Type == "1" || oldAsnNotice.Type == "5")//1:采购入库,2:其它入库
                        {
                            sd1.SupplierNo = oldAsnNotice.CustomerNo;//供应商编码
                            sd1.SupplierName = oldAsnNotice.CustomerName;//供应商名称
                        }
                        //添加库存明细
                        var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
                        foreach (var item in dataBoxList)
@@ -4029,7 +4044,7 @@
                        string sql = $@"SELECT detail.* FROM BllArrivalNoticeDetail as detail
                                        JOIN BllArrivalNotice as notice ON detail.ASNNo=notice.ASNNo
                                        WHERE notice.IsDel='0'
                                        AND notice.Status='1'
                                        AND ( notice.Status=0 or notice.Status=1 )
                                        AND detail.IsDel='0' 
                                        AND detail.LotNo='{pinBoxLotNo}' 
                                        AND detail.SkuNo='{sku.SkuNo}'
@@ -4041,7 +4056,7 @@
                            throw new Exception("拼箱内物料所属入库单明细不存在!");
                        }
                        //找到拼箱内其他批次所属入库单
                        var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo && w.Status == "1");
                        var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo);
                        if (arrNotice == null)
                        {
                            throw new Exception("拼箱内物料所属入库单不存在!");
@@ -4058,7 +4073,7 @@
                                PalletNo = model.PalletNo,
                                PalletNo2 = "",
                                PalletNo3 = "",
                                Qty = pinBoxQty,
                                Qty = 0,
                                FullQty = pNum,
                                Status = "2",//入库完成
                                Type = "0",
@@ -4079,9 +4094,6 @@
                        else
                        {
                            bindId = bind.Id;
                            bind.Qty += pinBoxQty;
                            Db.Updateable(bind).ExecuteCommand();
                        }
                        #endregion
@@ -4110,7 +4122,7 @@
                        {
                            sdId1 = sd1.Id;
                            // 库存已存在 更新数据
                            sd1.Qty = pinBoxQty;
                            sd1.Qty = bind.Qty;
                            sd1.CompleteTime = comTime;
                            sd1.UpdateUser = userId;
                            sd1.UpdateTime = comTime;
@@ -4128,7 +4140,7 @@
                                SkuNo = sku.SkuNo,
                                SkuName = sku.SkuName,
                                Standard = sku.Standard,
                                Qty = pinBoxQty,
                                Qty = bind.Qty,
                                LockQty = 0,
                                FrozenQty = 0,
                                InspectQty = 0,
@@ -4149,7 +4161,7 @@
                                InspectMark = bind.InspectMark,
                                InspectStatus = sku.IsInspect,
                                BitPalletMark = bind.BitPalletMark,
                                PackagNo = detail.PackagNo,                    //liudl 由sku的包装编号变为入库单明细的包装编码
                                PackagNo = arrDetail.PackagNo,                    //liudl 由sku的包装编号变为入库单明细的包装编码
                                IsBale = bind.IsBale,
                                IsBelt = bind.IsBelt,
@@ -4208,7 +4220,7 @@
                                    continue;
                                }
                                //箱内物料批次与单据明细不符合
                                if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo)
                                if (box.SkuNo != arrDetail.SkuNo || box.LotNo != arrDetail.LotNo)
                                {
                                    throw new Exception($"-1:{box.BoxNo}箱内物料及批次与单据不一致,请核实!");
                                }
@@ -4309,7 +4321,7 @@
                            arrDetail.IsSampling = "1";
                        }
                        arrDetail.Status = "1";//0:等待执行 1:正在执行 2:执行完成
                        if (arrDetail.CompleteQty >= detail.Qty)
                        if (arrDetail.CompleteQty >= arrDetail.Qty)
                        {
                            arrDetail.Status = "2";
                            arrDetail.CompleteTime = comTime;