Demo
2024-03-22 a9522f978edf6dee98949f9ed715fc36f999ed4f
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -69,7 +69,17 @@
                sqlString = $"select * from BllArrivalNoticeDetail where ASNNo = '{model.ASNNo}' and isdel='0' order by CreateTime;";
                var modelList = Db.Ado.SqlQuery<ArrivalNoticeDetailDto>(sqlString);
                return modelList;
                List<ArrivalNoticeDetailDto> list = new List<ArrivalNoticeDetailDto>();
                foreach (var item in modelList)
                {
                    string str = BySkuNoGetPackInfo(item.SkuNo);
                    if (str == "不存在")
                    {
                        list.Add(item);
                    }
                }
                return list;
            }
            catch (Exception ex)
            {
@@ -367,12 +377,12 @@
            {
                //获取任务信息
                var logtask = Db.Queryable<LogTask>().First(a => a.PalletNo == upBindPalletNo && a.IsDel == "0" && a.Status == "1");
                if (logtask == null)
                if (logtask != null)
                {
                    strMsg = "该托盘任务已完成 或未成功创建任务 请核实!";
                    return strMsg;
                }
                string bindstr = "select * from BllPalletBind Where IsDel = @isdel and PalletNo = @palletno and ASNDetailNo = 0 and ASNNo = ''";
                string bindstr = "select * from BllPalletBind Where IsDel = @isdel and PalletNo = @palletno and ASNDetailNo = 0 and ASNNo = '' ";
                //获取绑定托盘表信息
                List<PalletBindVm> bindVms = Db.Ado.SqlQuery<PalletBindVm>(bindstr, new
                {
@@ -388,10 +398,13 @@
                    return strMsg;
                }
                //删除绑定托盘表信息
                string delstr = "delete from BllPalletBind Where PalletNo = @palletno";
                string delstr = "update BllPalletBind set IsDel = 1,UpdateUser = @UpdateUser,UpdateTime = @UpdateTime Where PalletNo = @palletno and Id =@Id ";
                int i = Db.Ado.ExecuteCommand(delstr, new
                {
                    palletno = upBindPalletNo
                    UpdateUser = createUser,
                    UpdateTime = DateTime.Now,
                    palletno = upBindPalletNo,
                    Id = bindVms[0].Id
                });
                //修改托盘状态
                Db.BeginTran();
@@ -418,12 +431,12 @@
                box.IsDel = "1";
                Db.Updateable(box).ExecuteCommand();
                //修改任务状态
                logtask.IsDel = "1";
                logtask.Status = "4"; //3 已取消
                logtask.UpdateUser = createUser; //取消人
                logtask.UpdateTime = DateTime.Now; //取消时间
                Db.Updateable(logtask).ExecuteCommand();
                ////修改任务状态
                //logtask.IsDel = "1";
                //logtask.Status = "4"; //3 已取消
                //logtask.UpdateUser = createUser; //取消人
                //logtask.UpdateTime = DateTime.Now; //取消时间
                //Db.Updateable(logtask).ExecuteCommand();
                //更改库存数量
                //string str = $"update DataStock set Qty = Qty - {(int)bindVms[0].Qty} Where SkuNo = '100099'";
                // 更改托盘使用状态
@@ -1752,11 +1765,44 @@
                        }
                    }
                }
                return noticeList;
                List<ArrivalNoticeDetailDto> list = new List<ArrivalNoticeDetailDto>();
                foreach (var item in noticeList)
                {
                    string str = BySkuNoGetPackInfo(item.SkuNo);
                    if (str == "存在")
                    {
                        list.Add(item);
                    }
                }
                return list;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //根据物料获取是否存在包装信息
        public string BySkuNoGetPackInfo(string skuNo)
        {
            try
            {
                //获取物料信息
                var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == skuNo);
                //判断物料信息是否为空
                if (!string.IsNullOrWhiteSpace(sku.PackagNo))
                {
                    return "存在";
                }
                else
                {
                    return "不存在";
                }
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
@@ -1816,7 +1862,7 @@
                    }
                }
                //判断物料数量是否为0 为0判断箱码信息 不为0继续
                if (model.SkuQty == 0)
                if (model.TableType == 0)
                {
                    if (string.IsNullOrEmpty(model.BoxNo))
                    {
@@ -1832,6 +1878,7 @@
                    }
                }
                int isTextTable = model.TableType;
                int isDeposit = 0;
                //判断总单单据是否为寄存单据
                if (notice.Type == "7")
@@ -1909,7 +1956,7 @@
                var bNum = 0;//箱码物品数量 
                //判断是否为寄存物料
                if (isDeposit == 0)
                if (isDeposit == 0 && isTextTable == 0)
                {
                    if (pack == null)
                    {
@@ -1988,10 +2035,10 @@
                        Demo = model.Demo,
                    };
                    if (model.SkuQty > pNum && isDeposit == 0)
                    {
                        throw new Exception($"绑定失败,{model.PalletNo}托盘绑定数量大于该物品托盘包装数量!");
                    }
                    //if (model.TableType == 0 && isDeposit == 0 && isTextTable == 0)   不太理解这段代码的含义
                    //{
                    //    throw new Exception($"绑定失败,{model.PalletNo}托盘绑定数量大于该物品托盘包装数量!");
                    //}
                    // 插入托盘绑定表
                    bindId = Db.Insertable(bind).ExecuteReturnIdentity();
                }
@@ -2038,7 +2085,7 @@
                // 更改箱支关系表
                decimal factQty = 0.00m;//托盘总数量
                //成品组托
                if (model.SkuQty == 0)
                if (isTextTable == 0)
                {
                    var boxGroup = boxInfoList.GroupBy(m => m.BoxNo).ToList();
                    foreach (var g in boxGroup)
@@ -2078,7 +2125,7 @@
                    // 更新托盘绑定表
                    bind.Qty += factQty;
                }
                if (bind.FullQty < bind.Qty && isDeposit == 0)
                if (bind.FullQty < bind.Qty && isDeposit == 0 && isTextTable == 0)
                {
                    throw new Exception("托盘绑定数量已超出该物料包装数量");
                }
@@ -2087,7 +2134,7 @@
                {
                    bind.BitPalletMark = "0";
                }
                if (bind.Qty > pNum && isDeposit == 0)
                if (bind.Qty > pNum && isDeposit == 0 && isTextTable == 0)
                {
                    throw new Exception($"绑定失败,{bind.PalletNo}托盘绑定数量大于该物品托盘包装数量!");
                }