Exemple #1
0
 public static void AddMaterialReturn(SpareEntities db, TB_BILL bill, List <TB_RETURN> details)
 {
     BillController.AddOrUpdate(db, bill); //添加单据
     foreach (var detail in details)
     {
         var dbReturns = SpareReturnController.GetList(db, bill.BillNum).ToList();
         foreach (var sparereturn in dbReturns)
         {
             if (details.FirstOrDefault(p => p.UID == sparereturn.UID) == null)
             {
                 SpareReturnController.RemaveDetail(db, sparereturn);
             }
         }
         SpareReturnController.AddOrUpdate(db, detail);//添加或修改【领用归还单】明细
     }
     NotifyController.AddNotify(db, bill.OperName, NotifyType.SpareReturnUpdate, bill.BillNum, "");
 }
Exemple #2
0
 /// <summary>
 ///     根据【领用出库单】,生成【领用还回单】
 /// </summary>
 /// <param name="db"></param>
 /// <param name="billAsk">申请单</param>
 /// <param name="details">申请明细</param>
 /// <returns></returns>
 public static string HandleMaterialReturn(SpareEntities db, TB_BILL billOut, List <TB_OUT> details)
 {
     try
     {
         //校验【领用单】状态是否为批准
         if (billOut.State != (int)BillState.Finished)
         {
             return("申请单状态错误,不应为:" + billOut.State);
         }
         if (billOut.SubBillType != (int)SubBillType.SpareLoan)
         {
             return("非借出单,不能进行还回操作!");
         }
         var partPickList = new List <TB_RETURN>();
         foreach (var detail in details)
         {
             var pList = SpareReturnController.OutToReturnList(detail);
             partPickList.Add(pList);
         }
         var billPick = new TB_BILL
         {
             BillNum       = "",
             SourceBillNum = billOut.BillNum,
             BillType      = (int)BillType.SpareReturn,
             SubBillType   = (int)SubBillType.SpareReturn,
             BillTime      = DateTime.Now,
             OperName      = billOut.OperName,
             SplyId        = billOut.SplyId,
             State         = (int)BillState.New,
             Remark        = "",
         };
         SetBillNum(billPick);
         partPickList.ForEach(p => p.BillNum = billPick.BillNum);
         BillController.AddOrUpdate(db, billPick);
         SpareReturnController.AddList(db, partPickList);
         NotifyController.AddNotify(db, billPick.OperName, NotifyType.SpareReturn, billPick.BillNum, "");
         return("OK");
     }
     catch (Exception ex)
     {
         BillController.UpdateState(db, billOut, BillState.Failed);
         billOut.Remark = ex.ToString();
         return(ex.ToString());
     }
 }