| | |
| | | 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 |
| | | |
| | |
| | | .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo) |
| | | .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) |
| | | .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<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 && 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, |
| | |
| | | Status = tb1.Status, |
| | | AsnType = tb2.Type, |
| | | AsnStatus = tb2.Status, |
| | | Lot1 = tb1.Lot1, |
| | | Lot2 = tb1.Lot2, |
| | | UDF1 = tb1.UDF1, |
| | | UDF2 = tb1.UDF2, |
| | | UDF3 = tb1.UDF3, |
| | |
| | | string toDayTime = dateTime.ToString("yyyymmdd"); |
| | | List<BllArrivalNoticeDetail> addDetails = new List<BllArrivalNoticeDetail>(); |
| | | List<BllArrivalNoticeDetail> editDetails = new List<BllArrivalNoticeDetail>(); |
| | | var maxLotNo = ""; |
| | | foreach (ArrivalNoticeDetailVm detailModel in detailModels) |
| | | { |
| | | if (string.IsNullOrEmpty(detailModel.SkuNo)) |
| | |
| | | } |
| | | } |
| | | |
| | | 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:物料和批次号重复;"; |
| | |
| | | if (detailModel.Id == 0 || detailModel.Id == null || string.IsNullOrWhiteSpace(detailModel.LotNo)) |
| | | { |
| | | var notice = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && TypeLot.Contains(m.Type)).Select(m => m.ASNNo).ToList(); |
| | | var maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m=>m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m=>m.LotNo); |
| | | if (string.IsNullOrWhiteSpace(maxLotNo)) |
| | | { |
| | | maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m => m.LotNo); |
| | | } |
| | | if (string.IsNullOrWhiteSpace(maxLotNo)) |
| | | { |
| | | maxLotNo = toDayTime.Substring(2, 6) + "0001"; |
| | |
| | | IsBelt = detailModel.IsBelt, |
| | | SupplierLot = detailModel.SupplierLot, |
| | | Status = "0", |
| | | Lot1 = detailModel.Lot1, |
| | | Lot2 = detailModel.Lot2, |
| | | UDF1 = detailModel.UDF1, |
| | | UDF2 = detailModel.UDF2, |
| | | UDF3 = detailModel.UDF3, |
| | |
| | | && 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 |
| | |
| | | { |
| | | if (dbDetail.LotNo != detailModel.LotNo) |
| | | { |
| | | strMessage = "-1:当前单据类型不可更改批次,只可编辑数量;"; |
| | | strMessage = "-1:当前单据类型不可更改批次;"; |
| | | continue; |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | asnModel.UpdateUser = model.CreateUser; |
| | | } |
| | | |
| | | asnDetail.IsDel = "0"; |
| | | asnDetail.IsDel = "1"; |
| | | asnDetail.UpdateTime = editDateTime; |
| | | asnDetail.UpdateUser = model.CreateUser; |
| | | |
| | |
| | | #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) |
| | | { |
| | |
| | | } |
| | | 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) |
| | | { |
| | |
| | | } |
| | | } |
| | | //采购单明细 |
| | | 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) |
| | | { |
| | | //判断有无正在执行的 |
| | |
| | | CustomerNo = model.Customer, |
| | | CustomerName = CustomerModel.CustomerName, |
| | | OrderCode = model.OrderCode, |
| | | UserName = model.Username |
| | | }; |
| | | |
| | | // 入库明细表信息 |