Administrator
2024-03-28 142b9361406c50d66699427caec485363bdc6252
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -153,31 +153,58 @@
            try
            {
                string skuType = string.Empty;
                int IsPack = 0; //0:不管 1:贴 2:不贴
                /**
                 * 成品贴       0
                 * 采购可贴可不贴   1
                 * 中间品不贴   2
                 * 退货贴      3
                 * 余料退回可贴可不贴   4
                 * 其它可贴可不贴   5
                 * 代储不贴      6
                 * 寄存不贴      7
                 */
                switch (model.Type)//0:原料 1:包材 2:成品 3:耗材 4:半成品
                {
                    case "0"://成品入库
                    case "3"://退货入库
                    case "5"://其它入库
                    case "6"://代储入库
                        skuType = "(2)";
                        IsPack = 1; //贴
                        break;
                    case "1"://采购入库
                    case "4"://车间余料退回入库
                        skuType = "(0,1,3)";
                        break;
                    case "2"://中间品入库
                        skuType = "(4)";
                        IsPack = 2; //不贴
                        break;
                    case "3"://退货入库
                        skuType = "(2)";
                        IsPack = 1; //贴
                        break;
                    case "4"://车间余料退回入库
                        skuType = "(0,1,3)";
                        break;
                    case "5"://其它入库
                        skuType = "(0,1,3)";
                        break;
                    case "6"://代储入库
                        skuType = "(2)";
                        IsPack = 2; //不贴
                        break;
                    case "7"://寄存入库
                        skuType = "(0,1,2,3,4)";
                        //skuType = "(3)";
                        IsPack = 2; //不贴
                        break;
                    default: //其它
                        skuType = "(0,1,2,3,4)";
                        //skuType = "(0,1,2,3,4)";
                        break;
                }
                Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>()
                    .AndIF(true, it => skuType.Contains(it.Type))
                    .AndIF(model.Type != "7", it => skuType.Contains(it.Type))
                    .AndIF(model.Type == "7", it => it.SkuNo == "100088")
                    .AndIF(IsPack == 1, it => it.PackagNo != "")
                    .AndIF(IsPack == 2, it => it.PackagNo == "")
                    .AndIF(true, it => it.IsDel == "0")
                    .And(it => it.SkuNo != "100099")
                    .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo),
@@ -192,6 +219,8 @@
                    .Includes(x => x.UnitInfo)
                    .Includes(x => x.PackagInfo)
                    .ToList();
                return data.Select(m => new MaterialsDto()
                {
@@ -230,7 +259,7 @@
            string sqlString = string.Empty;
            string sqlDetailStr = string.Empty;
            //0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料入库 5:其它入库 6:代储入库 7:寄存入库
            var TypeLot = "1, 2, 5, 6, 7";
            var TypeLot = "1, 2, 5, 6, 7"; //批次可为空单据类型
            try
            {
@@ -643,6 +672,11 @@
                //{
                //    throw new Exception("参数异常,请检查状态是否为执行完成");
                //}
                var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2").ToList();
                if (palletBind != null && palletBind.Count > 0)
                {
                    throw new Exception("存在未入库完成托盘信息,不允许关单");
                }
                var sqlString = "";
@@ -739,16 +773,35 @@
                    }
                    var info = boxInfo.First(m => m.BindNo == item.Id);
                    if (!msgS.Contains(info.SkuNo))
                    //获取托盘绑定对应单据
                    var noticeDetail = Db.Queryable<BllArrivalNoticeDetail>().First(a => a.IsDel == "0" && a.Id == item.ASNDetailNo);
                    if (info != null)
                    {
                        msgS += info.SkuNo + ";";
                        if (!msgS.Contains(info.SkuNo))
                        {
                            msgS += info.SkuNo + ";";
                        }
                        if (!msgL.Contains(info.LotNo))
                        {
                            msgL += info.LotNo + ";";
                        }
                    }
                    else
                    {
                        if (!msgS.Contains(noticeDetail.SkuNo))
                        {
                            msgS += noticeDetail.SkuNo + ";";
                        }
                        if (!msgL.Contains(noticeDetail.LotNo))
                        {
                            msgL += noticeDetail.LotNo + ";";
                        }
                    }
                    if (!msgL.Contains(info.LotNo))
                    {
                        msgL += info.LotNo + ";";
                    }
                }
                var time = DateTime.Now;
                var log = new BllAuditLog()
@@ -856,7 +909,7 @@
                {
                    ASNNo = asnNo,
                    Type = model.AsnType,
                    Origin = model.Origin,
                    Origin = string.IsNullOrEmpty(model.Origin) ? "ERP" : model.Origin,
                    CustomerNo = model.Customer,
                    CustomerName = CustomerModel.CustomerName,
                    OrderCode = model.OrderCode,
@@ -940,6 +993,10 @@
                {
                    throw new Exception("未查询到单据信息");
                }
                if (notice.Status != "3")
                {
                    throw new Exception("复核失败,单据非关闭状态");
                }
                var detail = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == notice.ASNNo && m.IsDel == "0").ToList();
                if (detail.Count == 0)
                {