Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public static void RemaveDetail(SpareEntities db, TB_OUT detail)
 {
     db.TB_OUT.Remove(detail);
 }