Administrator
2024-03-04 778d43af844492ef0496b0981ee95e0a1da17a6e
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -42,6 +42,23 @@
            }
        }
        //根据入库单号获取入库总单信息
        public List<BllArrivalNotice> GetArrivalNotice(ArrivalNoticeVm model)
        {
            string sqlString = string.Empty;
            try
            {
                sqlString = $"select * from BllArrivalNotice where ASNNo = '{model.ASNNo}' and isdel='0'  ";
                var modelList = Db.Ado.SqlQuery<BllArrivalNotice>(sqlString);
                return modelList;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        // 根据单据号获取单据明细列表
        public List<ArrivalNoticeDetailDto> GetArrivalNoticeDetails(ArrivalNoticeVm model)
        {
@@ -1286,7 +1303,7 @@
        /// </summary>
        /// <param name="locatNo">储位编码</param>
        /// <returns></returns>
        public string CheckLocatNo(string locatNo)
        public string CheckLocatNo(string locatNo)
        {
            try
            {
@@ -1792,6 +1809,10 @@
                    {
                        model.LotNo = model.LotNo.Substring(indexOfDash + 1);
                    }
                    else
                    {
                        model.LotNo = "";
                    }
                }
                //判断物料数量是否为0 为0判断箱码信息 不为0继续
                if (model.SkuQty == 0)
@@ -1810,6 +1831,52 @@
                    }
                }
                int isDeposit = 0;
                //判断总单单据是否为寄存单据
                if (notice.Type == "7")
                {
                    isDeposit = 1;
                }
                if (isDeposit == 1)
                {
                    //判断总单备注是否为空
                    if (!string.IsNullOrWhiteSpace(notice.Demo))
                    {
                        //分割总单备注及托盘备注
                        var noticeDemo = notice.Demo.Split('、'); //总单备注
                        var palletDemo = model.Demo.Split('、'); //托盘备注
                        //循环托盘备注
                        foreach (var itemPallet in palletDemo)
                        {
                            int isDemo = 0;
                            //循环总单备注
                            foreach (var itemNotice in noticeDemo)
                            {
                                //判断是否有相同备注
                                if (itemPallet == itemNotice)
                                {
                                    isDemo = 1;
                                    break;
                                }
                            }
                            if (isDemo == 0)
                            {
                                throw new Exception("-1:总单备注与托盘备注不符,请核实后重新绑定!");
                            }
                        }
                    }
                    else if (string.IsNullOrWhiteSpace(notice.Demo))
                    {
                        //判断托盘备注是否为空
                        if (!string.IsNullOrWhiteSpace(model.Demo))
                        {
                            throw new Exception("-1:请添加总单备注后输入托盘备注!");
                        }
                    }
                }
                #endregion
                Db.BeginTran();
@@ -1836,40 +1903,46 @@
                var package = Db.Queryable<SysPackag>().Where(m => m.IsDel == "0");
                var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == detail.SkuNo);
                var pack = package.First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
                if (pack == null)
                {
                    throw new Exception("-1:获取物料包装失败,请核实!");
                }
                var pNum = 0;//托盘物品数量 
                var bNum = 0;//箱码物品数量 
                if (pack.L5Num.HasValue)
                //判断是否为寄存物料
                if (isDeposit == 0)
                {
                    pNum = (int)pack.L5Num;
                    bNum = (int)pack.L4Num;
                }
                else if (pack.L4Num.HasValue)
                {
                    pNum = (int)pack.L4Num;
                    bNum = (int)pack.L3Num;
                }
                else if (pack.L3Num.HasValue)
                {
                    pNum = (int)pack.L3Num;
                    bNum = (int)pack.L2Num;
                }
                else if (pack.L2Num.HasValue)
                {
                    pNum = (int)pack.L2Num;
                    bNum = (int)pack.L1Num;
                }
                else if (pack.L1Num.HasValue)
                {
                    pNum = (int)pack.L1Num;
                    bNum = (int)pack.L1Num;
                }
                if (pNum == 0 || bNum == 0)
                {
                    throw new Exception($"绑定失败,{detail.SkuNo}物品包装未找到!");
                    if (pack == null)
                    {
                        throw new Exception("-1:获取物料包装失败,请核实!");
                    }
                    if (pack.L5Num.HasValue)
                    {
                        pNum = (int)pack.L5Num;
                        bNum = (int)pack.L4Num;
                    }
                    else if (pack.L4Num.HasValue)
                    {
                        pNum = (int)pack.L4Num;
                        bNum = (int)pack.L3Num;
                    }
                    else if (pack.L3Num.HasValue)
                    {
                        pNum = (int)pack.L3Num;
                        bNum = (int)pack.L2Num;
                    }
                    else if (pack.L2Num.HasValue)
                    {
                        pNum = (int)pack.L2Num;
                        bNum = (int)pack.L1Num;
                    }
                    else if (pack.L1Num.HasValue)
                    {
                        pNum = (int)pack.L1Num;
                        bNum = (int)pack.L1Num;
                    }
                    if (pNum == 0 || bNum == 0)
                    {
                        throw new Exception($"绑定失败,{detail.SkuNo}物品包装未找到!");
                    }
                }
                #endregion
@@ -1910,9 +1983,11 @@
                        BitPalletMark = "1",
                        IsBale = "0",
                        IsBelt = "0",
                        CreateUser = userId
                        CreateUser = userId,
                        Demo = model.Demo,
                    };
                    if (model.SkuQty > pNum)
                    if (model.SkuQty > pNum && isDeposit == 0)
                    {
                        throw new Exception($"绑定失败,{model.PalletNo}托盘绑定数量大于该物品托盘包装数量!");
                    }
@@ -2002,7 +2077,7 @@
                    // 更新托盘绑定表
                    bind.Qty += factQty;
                }
                if (bind.FullQty < bind.Qty)
                if (bind.FullQty < bind.Qty && isDeposit == 0)
                {
                    throw new Exception("托盘绑定数量已超出该物料包装数量");
                }
@@ -2011,7 +2086,7 @@
                {
                    bind.BitPalletMark = "0";
                }
                if (bind.Qty > pNum)
                if (bind.Qty > pNum && isDeposit == 0)
                {
                    throw new Exception($"绑定失败,{bind.PalletNo}托盘绑定数量大于该物品托盘包装数量!");
                }
@@ -2155,7 +2230,7 @@
                    {
                        // 不贴码物料 无需验证箱码信息
                    }
                    else
                    else
                    {
                        //验证箱码信息是否存在
                        if (boxInfoList.Count <= 0)