public int SavePurchaseCashConfirm(PurchaseCashConfirm pcc, PurchaseCashConfirmDetail[] pccds) { PurchaseCashConfirm purchasecashConfirm = new PurchaseCashConfirm(); purchasecashConfirm.ConfirmUserId = pcc.ConfirmUserId; purchasecashConfirm.Id = pcc.Id; purchasecashConfirm.Memo = pcc.Memo; purchasecashConfirm.PurchaseUserId = pcc.PurchaseUserId; purchasecashConfirm.SumMoney = pcc.SumMoney; purchasecashConfirm.Title = pcc.Title; purchasecashConfirm.UpdateTime = DateTime.Now; purchasecashConfirm.BranchId = pcc.BranchId; int pccId = purchasecashConfirm.Save(); if (pccId > 0) { for (int i = 0; i < pccds.Length; i++) { PurchaseCashConfirmDetail pccd = new PurchaseCashConfirmDetail(); pccd.Id = pccds[i].Id; pccd.PurchaseCashConfirmId = pccId; pccd.PurchaseId = pccds[i].PurchaseId; if (pccd.Save() > 0) { Purchase p = new Purchase(); p.Id = pccds[i].PurchaseId; p.Load(); p.IsCashConfirm = 1; p.Save(); } } } return(pccId); }
/// <summary> /// 保存采购对账单 /// </summary> /// <param name="ps"></param> /// <param name="psds"></param> /// <returns></returns> public int SavePurchaseStatement(PurchaseStatement ps, PurchaseStatementDetail[] psds) { PurchaseStatement purchaseStatement = new PurchaseStatement(); purchaseStatement.BranchId = ps.BranchId; purchaseStatement.Id = ps.Id; purchaseStatement.Memo = ps.Memo; purchaseStatement.PaidMoney = ps.PaidMoney; purchaseStatement.PayStatus = ps.PayStatus; purchaseStatement.SumMoney = ps.SumMoney; purchaseStatement.SupplierId = ps.SupplierId; purchaseStatement.UpdateTime = DateTime.Now; purchaseStatement.UserId = ps.UserId; int id = purchaseStatement.Save(); if (id > 0) { for (int i = 0; i < psds.Length; i++) { PurchaseStatementDetail psd = new PurchaseStatementDetail(); psd.Id = 0; psd.PurchaseId = psds[i].PurchaseId; psd.PurchaseStatementId = id; if (psd.Save() > 0) { Purchase p = new Purchase(); p.Id = psds[i].PurchaseId; p.Load(); p.IsPaid = 2; p.Save(); } } } return(id); }
public bool OrderModifyPurchaseSave(DataTable dtNeedToPurchaseDetail, int branchId, int StoreId, string OrderModifyIdTable) { DataTable dt = dtNeedToPurchaseDetail.DefaultView.ToTable(true, "SupplierId", "UserId", "PurchaseType"); if (dt.Rows.Count > 0) { int SId = 0; foreach (DataRow drSupplier in dt.Rows) { int SupplierId = DBTool.GetIntFromRow(drSupplier, "SupplierId", 0); if (SId == SupplierId && SupplierId != 0) { continue; } int UserId = DBTool.GetIntFromRow(drSupplier, "UserId", 0); string PurchaseType = DBTool.GetStringFromRow(drSupplier, "PurchaseType", ""); Purchase p = new Purchase(); p.BranchId = branchId; p.NeedToPurchaseId = NeedToPurchaseId; p.PurchaseStatus = CommenClass.PurchaseStatus.未处理.ToString(); p.PurchaseType = PurchaseType; p.UserId = 0; p.StoreId = StoreId; p.SupplierId = SupplierId; p.PurchaseUserId = UserId; int purchaseId = p.Save(); if (purchaseId > 0) { string sql = string.Format("SupplierId='{0}'", SupplierId); DataRow[] drw = dtNeedToPurchaseDetail.Select(sql); foreach (DataRow dr in drw) { PurchaseDetail pd = new PurchaseDetail(); pd.PurchaseId = purchaseId; pd.GoodsId = DBTool.GetIntFromRow(dr, "GoodsId", 0); pd.StoreId = StoreId; pd.Model = ""; pd.BillsPrice = DBTool.GetDoubleFromRow(dr, "InPrice", 0); pd.InPrice = DBTool.GetDoubleFromRow(dr, "InPrice", 0); pd.Num = DBTool.GetIntFromRow(dr, "LackNum", 0); pd.Amount = pd.InPrice * pd.Num; pd.Save(); } SId = SupplierId; PurchaseManager pm = new PurchaseManager(); pm.UpdatePurchaseSumMoney(purchaseId); } } if (SId > 0) { OrderModify om = new OrderModify(); return(om.UpdatePurchaseType(OrderModifyIdTable)); } } return(false); }
/// <summary> /// 采购单入库,支持批量操作,PDA调用 /// </summary> /// <param name="purchaseArr">采购单id集合</param> /// <param name="branchId">branchId</param> /// <param name="userId">操作人id</param> /// <returns></returns> public bool SetGoodsStore(int[] purchaseArr, int branchId, int userId) { bool result = false; //首先判断集合中是否有值 if (purchaseArr.Length > 0) { int count = 0; for (int i = 0; i < purchaseArr.Length; i++) { int id = purchaseArr[i]; Purchase purchase = new Purchase(id); if (purchase.PurchaseStatus == CommenClass.PurchaseStatus.已入库.ToString()) { continue; } else { PurchaseManager pm = new PurchaseManager(); if (PurchaseDetailSave(pm.ReadPurchaseDetail(id), branchId, userId)) { purchase.PurchaseStatus = CommenClass.PurchaseStatus.已入库.ToString(); purchase.UpdateTime = DateTime.Now; purchase.UserId = userId; if (purchase.Save() > 0) { count++; } } } } if (count == purchaseArr.Length) { result = true; } } return(result); }
/// <summary> /// 商品汇总单拆分采购单 /// </summary> /// <param name="NeedToPurchaseId"></param> /// <param name="branchId"></param> /// <param name="StoreId"></param> /// <returns></returns> public bool PurchaseSave(int NeedToPurchaseId, int branchId, int StoreId) { DataTable dtNeedToPurchaseDetail = ReadNeedToPurchaseDetail(NeedToPurchaseId).Tables[0]; if (dtNeedToPurchaseDetail.Rows.Count > 0) { int SId = 0; double taxRate = 0; int isTax = 0; string invoiceType = ""; int SupplierId = 0; foreach (DataRow dr in dtNeedToPurchaseDetail.Rows) { SupplierId = DBTool.GetIntFromRow(dr, "SupplierId", 0); taxRate = DBTool.GetDoubleFromRow(dr, "SprTaxRate", 0.17); invoiceType = DBTool.GetStringFromRow(dr, "SprInvoiceType", ""); switch (invoiceType) { case "无发票": isTax = 0; taxRate = 0; break; case "增票": isTax = 1; break; case "普票": isTax = 2; break; default: isTax = 1; taxRate = 0.17; break; } int UserId = DBTool.GetIntFromRow(dr, "UserId", 0); string PurchaseType = DBTool.GetStringFromRow(dr, "PurchaseType", ""); Purchase p = new Purchase(); p.BranchId = branchId; p.NeedToPurchaseId = NeedToPurchaseId; p.PurchaseStatus = CommenClass.PurchaseStatus.未处理.ToString(); p.PurchaseType = PurchaseType; p.UserId = 0; p.StoreId = StoreId; p.SupplierId = SupplierId; p.PurchaseUserId = UserId; p.IsTax = isTax; p.TaxRate = taxRate; int purchaseId = p.Save(); if (purchaseId > 0) { string sql = string.Format(@"insert into PurchaseDetail(PurchaseId,GoodsId,StoreId,Model,BillsPrice,InPrice,Num,Amount,ReceivedNum,OldStore,OldAC,Emergency,TaxInPrice) select {0}, GoodsId, {1}, '', InPrice, (case when {7}=0 then InPrice*1.25 when {7}=1 then InPrice/(1+{6}) when {7}=2 then InPrice end), -LackNum, (InPrice * (-LackNum)), 0, {1}, InPrice, Emergency, (case when {7}=0 then InPrice*1.25*1.17 when {7}=1 then InPrice when {7}=2 then InPrice*(1+{6}) end) from NeedToPurchaseDetail where NeedToPurchaseId={2} and SupplierId={3} and UserId={4} and LackNum<0; update Purchase set SumMoney=(select ISNULL(SUM(Amount),0) from PurchaseDetail where PurchaseId={0}), Tax=(select ISNULL(SUM(Amount),0) from PurchaseDetail where PurchaseId={0})/(1+{6})*{6} where Id={0}", purchaseId, StoreId, NeedToPurchaseId, SupplierId, UserId, PurchaseType, taxRate, isTax); m_dbo.ExecuteNonQuery(sql); SId = SupplierId; } } NeedToPurchase ntp = new NeedToPurchase(); ntp.AddStatus(NeedToPurchaseId); return(true); } return(false); }