wxw
2 天以前 9c324879cee66f4be0b9de62dadae446ed14e940
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -111,7 +111,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("当前物料及批次与单据无关联,请核实!");
@@ -188,9 +196,9 @@
                //绑定箱总数量
                //model.SkuQty = boxInfoList.Sum(s => s.Qty);
                //和选择的批次同批次的箱码信息
                var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo && w.Status == "0").ToList();
                var sameBoxInfoList = boxInfoList.Where(w => (w.LotNo ?? "") == model.LotNo && w.Status == "0").ToList();
                //和选择的批次不同批次的箱码信息(拼箱批次)
                var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList();
                var notBoxInfoList = boxInfoList.Where(w => (w.LotNo ?? "") != model.LotNo).ToList();
                #endregion
                if (sameBoxInfoList.Count <= 0)
@@ -360,7 +368,7 @@
                                continue;
                            }
                            //箱内物料批次与单据明细不符合
                            if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo)
                            if (box.SkuNo != detail.SkuNo || (box.LotNo ?? "") != model.LotNo)
                            {
                                throw new Exception($"-1:{box.BoxNo}箱内物料及批次与单据不一致,请核实!");
                            }
@@ -1164,7 +1172,7 @@
                }
                //判断托盘是否在库外
                var stockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo);
                if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo))
                if (stockDetail != null && !string.IsNullOrEmpty(stockDetail.WareHouseNo) && stockDetail.WareHouseNo != "W04")
                {
                    throw new Exception("该托盘已有储位信息,请核实!");
                }
@@ -1348,6 +1356,13 @@
                        CreateUser = 0,
                        CreateTime = comTime
                    };
                    if (stockDetail != null)
                    {
                        sd1.WareHouseNo = stockDetail.WareHouseNo;
                        sd1.AreaNo = stockDetail.AreaNo;
                        sd1.RoadwayNo = stockDetail.RoadwayNo;
                        sd1.LocatNo = stockDetail.LocatNo;
                    }
                    //维护库存明细货主/供应商信息 //0:成品入库,2:中间品入库,4:车间余料入库,6:代储入库,7:寄存入库
                    if (notice.Type == "0" || notice.Type == "2" || notice.Type == "4" || notice.Type == "6" || notice.Type == "7")
@@ -4287,10 +4302,18 @@
            try
            {
                string strMsg = "";
                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W04");
                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.WareHouseNo == "W04");
                if (storageLocat == null)
                {
                    throw new Exception("-1:地码(储位信息)不存在或非空闲状态,请核查!");
                    throw new Exception("-1:地码(储位信息)不存在,请核查!");
                }
                if (storageLocat.Status != "0")
                {
                    var detailInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
                    if (detailInfo != null)
                    {
                        throw new Exception("-1:地码(储位信息)非空闲,请核查!");
                    }
                }
                return strMsg;
@@ -6087,10 +6110,18 @@
                #endregion
                #region 地码信息(储位信息)
                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0");
                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo);
                if (storageLocat == null)
                {
                    throw new Exception("储位信息不存在或非空闲状态,请核查!");
                    throw new Exception("储位信息不存,请核查!");
                }
                if (storageLocat.Status != "0")
                {
                    var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
                    if (detailInfo != null)
                    {
                        throw new Exception("储位不是空闲状态,请核查!");
                    }
                }
                #endregion
@@ -6556,10 +6587,10 @@
                foreach (var item in stockDetailList)
                {
                    if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09")
                    {
                        throw new Exception("该托盘非线边回库托盘!");
                    }
                    //if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09")
                    //{
                    //    throw new Exception("该托盘非线边回库托盘!");
                    //}
                    //库存总表
                    var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
                    if (stock == null)