bklLiudl
2024-09-02 9885a8a2f98104f5ee63dd5ab8023095a1d8b9f6
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -73,6 +73,7 @@
                    CompleteTime = tb1.CompleteTime,
                    CreateTime = tb1.CreateTime,
                    CreateUserName = tb3.RealName,
                    UserName=tb1.UserName,
                    UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
                    UpdateUserName = tb4.RealName
@@ -93,8 +94,8 @@
                .LeftJoin<SysUserInfor>((tb1, tb2,tb3) => tb1.CreateUser == tb3.Id)
                .LeftJoin<SysUserInfor>((tb1,tb2,tb3,tb4) => tb1.UpdateUser == tb4.Id)
                .LeftJoin<SysMaterials>((tb1, tb2, tb3, tb4,tb5) => tb1.SkuNo == tb5.SkuNo && tb5.IsDel == "0")
                .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo)
                .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo)
                .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo && tb6.IsDel == "0")
                .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo && tb7.IsDel == "0")
                .Select((tb1, tb2, tb3, tb4, tb5,tb6, tb7) => new ArrivalNoticeDetailDto()
                 {
                     Id = tb1.Id,
@@ -118,6 +119,8 @@
                     Status = tb1.Status,
                     AsnType = tb2.Type,
                     AsnStatus = tb2.Status,
                     Lot1 = tb1.Lot1,
                     Lot2 = tb1.Lot2,
                     UDF1 = tb1.UDF1,
                     UDF2 = tb1.UDF2,
                     UDF3 = tb1.UDF3,
@@ -519,8 +522,21 @@
                            }
                        }
                        if (TypeLot.Contains(model.Type))
                        {
                            if (string.IsNullOrWhiteSpace(detailModel.Lot1))
                            {
                                throw new Exception("生产日期不可为空!");
                            }
                            if (string.IsNullOrWhiteSpace(detailModel.Lot2))
                            {
                                throw new Exception("过期日期不可为空!");
                            }
                        }
                        // 判断是否已存在当前明细
                        var com =  dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count();
                        var com =  dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo
                        && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count();
                        if (com > 0)
                        {
                            strMessage = "-1:物料和批次号重复;";
@@ -587,6 +603,8 @@
                                IsBelt = detailModel.IsBelt,
                                SupplierLot = detailModel.SupplierLot,
                                Status = "0",
                                Lot1 = detailModel.Lot1,
                                Lot2 = detailModel.Lot2,
                                UDF1 = detailModel.UDF1,
                                UDF2 = detailModel.UDF2,
                                UDF3 = detailModel.UDF3,
@@ -607,6 +625,8 @@
                                             && it.SupplierLot == detailModel.SupplierLot
                                             && it.IsBale == detailModel.IsBale
                                             && it.IsBelt == detailModel.IsBelt
                                             && it.Lot1 == detailModel.Lot1                                 // 生产日期
                                             && it.Lot2 == detailModel.Lot2                                 // 过期日期
                                             && it.UDF1 == detailModel.UDF1
                                             && it.UDF2 == detailModel.UDF2
                                             && it.UDF3 == detailModel.UDF3
@@ -624,7 +644,7 @@
                                {
                                    if (dbDetail.LotNo != detailModel.LotNo)
                                    {
                                        strMessage = "-1:当前单据类型不可更改批次,只可编辑数量;";
                                        strMessage = "-1:当前单据类型不可更改批次;";
                                        continue;
                                    }
                                }
@@ -639,6 +659,8 @@
                            dbDetail.LotText = detailModel.LotText;
                            dbDetail.SupplierLot = detailModel.SupplierLot;
                            dbDetail.IsBale = detailModel.IsBale;
                            dbDetail.Lot1 = detailModel.Lot1;
                            dbDetail.Lot2 = detailModel.Lot2;
                            dbDetail.UDF1 = detailModel.UDF1;
                            dbDetail.UDF2 = detailModel.UDF2;
                            dbDetail.UDF3 = detailModel.UDF3;
@@ -792,7 +814,7 @@
                    asnModel.UpdateUser = model.CreateUser;
                }
                asnDetail.IsDel = "0";
                asnDetail.IsDel = "1";
                asnDetail.UpdateTime = editDateTime;
                asnDetail.UpdateUser = model.CreateUser;
@@ -873,12 +895,16 @@
                #region 采购计划,若是采购订单根据采购计划单自动生成入库单信息
                if (notice.Type == "1" && !string.IsNullOrEmpty(notice.OrderCode))
                {
                    // 获取采购总单信息
                    var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
                    //入库单明细
                    var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
                    var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>()
                        .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
                    foreach (var item in noticeDetailList)
                    {
                        //采购单明细
                        var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == item.OrderDetailCode && it.IsDel == "0");
                        var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>()
                            .First(it => it.ParentId == planOrd.Id && it.SkuNo == item.SkuNo && it.IsDel == "0");
                        planDetail.CompleteQty += item.CompleteQty;
                        if (planDetail.CompleteQty >= planDetail.Qty)
                        {
@@ -891,8 +917,7 @@
                        }
                        Db.Updateable(planDetail).ExecuteCommand();
                    }
                    //采购总单信息
                    var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
                    // 维护采购总单信息
                    var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>().Count(m => m.IsDel == "0" && m.ParentId == planOrd.Id && m.Status != "2");
                    if (planDetailNum == 0)
                    {
@@ -909,7 +934,8 @@
                        }
                    }
                    //采购单明细
                    var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>().Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
                    var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>()
                        .Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
                    foreach (var item in planDetailList)
                    {
                        //判断有无正在执行的
@@ -1188,6 +1214,7 @@
                    CustomerNo = model.Customer,
                    CustomerName = CustomerModel.CustomerName,
                    OrderCode = model.OrderCode,
                    UserName = model.Username
                };
                // 入库明细表信息