public static TB_RETURN OutToReturnList(TB_OUT materialOut) { var partPick = new TB_RETURN { PartCode = materialOut.PartCode, Batch = materialOut.Batch, FromLocCode = "", ToLocCode = materialOut.FromLocCode, OutQty = (decimal)materialOut.OutQty, InQty = materialOut.OutQty, UnitPrice = materialOut.UnitPrice, Amount = materialOut.Amount, DeptCode = materialOut.DeptCode, ProjectCode = materialOut.ProjectCode, WorklineCode = materialOut.WorklineCode, EqptCode = materialOut.EqptCode, AskUser = materialOut.AskUser, AskTime = materialOut.AskTime, ConfirmUser = materialOut.ConfirmUser, ConfirmTime = materialOut.ConfirmTime, TakeUser = materialOut.TakeUser, TakeTime = (DateTime)materialOut.TakeTime, ReturnUser = materialOut.TakeUser, ReturnTime = DateTime.Now, }; return(partPick); }
public static List <TB_OUT> GetList(TB_ASK materialAsk, List <TS_STOCK_DETAIL> stockDetailList) { List <TB_OUT> partPickList = new List <TB_OUT>(); if (stockDetailList.Count == 0) { return(partPickList); } var stockDetail = stockDetailList.OrderBy(p => p.Batch).First();//FIFO var partPick = new TB_OUT { PartCode = materialAsk.PartCode, Batch = stockDetail.Batch, BillQty = materialAsk.Qty, FromLocCode = stockDetail.LocCode, UnitPrice = stockDetail.UnitPrice, DeptCode = materialAsk.DeptCode, ProjectCode = materialAsk.ProjectCode, WorklineCode = materialAsk.WorklineCode, EqptCode = materialAsk.EqptCode, AskUser = materialAsk.AskUser, AskTime = materialAsk.AskTime, ConfirmUser = materialAsk.ConfirmUser, ConfirmTime = materialAsk.ConfirmTime }; if (stockDetail.Qty >= materialAsk.Qty) { partPick.OutQty = materialAsk.Qty; partPick.Amount = partPick.UnitPrice * partPick.OutQty; partPickList.Add(partPick); } else { partPick.OutQty = stockDetail.Qty; partPick.Amount = partPick.UnitPrice * partPick.OutQty; partPickList.Add(partPick); stockDetailList.Remove(stockDetail); partPick.OutQty -= stockDetail.Qty; var pList = GetList(materialAsk, stockDetailList); partPickList.AddRange(pList); } return(partPickList); }
public static void RemaveDetail(SpareEntities db, TB_OUT detail) { db.TB_OUT.Remove(detail); }