/// <summary>获取具体年月份费用发票金额 /// </summary> /// <returns>Return:费用发票金额集合</returns> public IList <CostInvoiceMoneyInfo> GetCostInvoiceMoneyList(int dateYear, int dateMonth) { const string SQL = @" SELECT [FilialeId] ,[DateYear] ,[DateMonth] ,[Limit] FROM [CostInvoiceMoney] WHERE DateYear=@DateYear AND DateMonth=@DateMonth"; var parms = new[] { new SqlParameter("@DateYear", SqlDbType.Int) { Value = dateYear }, new SqlParameter("@DateMonth", SqlDbType.Int) { Value = dateMonth } }; IList <CostInvoiceMoneyInfo> list = new List <CostInvoiceMoneyInfo>(); using (var rdr = SqlHelper.ExecuteReader(GlobalConfig.ERP_DB_NAME, true, SQL, parms)) { while (rdr.Read()) { var info = new CostInvoiceMoneyInfo { FilialeId = new Guid(rdr["FilialeId"].ToString()), Limit = Convert.ToDecimal(rdr["Limit"]), }; list.Add(info); } } return(list); }
/// <summary>保存公司具体年月份费用发票金额 /// </summary> /// <param name="costInvoiceMoneyInfo">费用发票金额模型</param> /// <returns>Return:true/false</returns> public bool SaveCostInvoiceMoney(CostInvoiceMoneyInfo costInvoiceMoneyInfo) { const string SQL = @" IF NOT EXISTS(SELECT Limit FROM [CostInvoiceMoney] WHERE FilialeId=@FilialeId AND DateYear=@DateYear AND DateMonth=@DateMonth) INSERT INTO [CostInvoiceMoney] (FilialeId,DateYear,DateMonth,Limit) VALUES(@FilialeId,@DateYear,@DateMonth,@Limit); ELSE UPDATE [CostInvoiceMoney] SET Limit=@Limit WHERE FilialeId=@FilialeId AND DateYear=@DateYear AND DateMonth=@DateMonth;"; var parms = new[] { new SqlParameter("@FilialeId", SqlDbType.UniqueIdentifier), new SqlParameter("@DateYear", SqlDbType.Int), new SqlParameter("@DateMonth", SqlDbType.Int), new SqlParameter("@Limit", SqlDbType.Decimal) }; try { parms[0].Value = costInvoiceMoneyInfo.FilialeId; parms[1].Value = costInvoiceMoneyInfo.DateYear; parms[2].Value = costInvoiceMoneyInfo.DateMonth; parms[3].Value = costInvoiceMoneyInfo.Limit; return(SqlHelper.ExecuteNonQuery(GlobalConfig.ERP_DB_NAME, false, SQL, parms) > 0); } catch (Exception exp) { SAL.LogCenter.LogService.LogError(string.Format("费用发票金额保存失败,FilialeId={0},DateYear={1},DateMonth={2},Limit={3}", costInvoiceMoneyInfo.FilialeId, costInvoiceMoneyInfo.DateYear, costInvoiceMoneyInfo.DateMonth, costInvoiceMoneyInfo.Limit), "财务管理", exp); return(false); } }
protected void RadCostInvoiceMoney_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { IList <CostInvoiceMoneyInfo> list1 = _costInvoiceMoneyDao.GetCostInvoiceMoneyList(DateYear, DateMonth); DateTime startTime = Convert.ToDateTime(string.Format("{0}-{1}-01 00:00:00", DateYear, DateMonth)); DateTime endTime = startTime.AddMonths(1); IList <CostReportInfo> costReportList = _costReport.GetReportList(startTime, endTime).Where(ent => ent.InvoiceType == (int)CostReportInvoiceType.Invoice).OrderByDescending(r => r.ReportDate).ToList(); var filialeList = CacheCollection.Filiale.GetHeadList(); IList <CostInvoiceMoneyInfo> list2 = new List <CostInvoiceMoneyInfo>(); if (list1.Count > 0) { foreach (var filialeInfo in filialeList) { var info = new CostInvoiceMoneyInfo(); var item = list1.FirstOrDefault(ent => ent.FilialeId == filialeInfo.ID); if (item != null) { info.FilialeId = filialeInfo.ID; info.FilialeName = filialeInfo.Name; info.Limit = item.Limit; } else { info.FilialeId = filialeInfo.ID; info.FilialeName = filialeInfo.Name; info.Limit = Convert.ToDecimal("0.00"); } var list = costReportList.Where(ent => ent.AssumeFilialeId == filialeInfo.ID).ToList(); info.WaitCollect = GetWaitCollect(list); info.WaitChargeOff = GetWaitChargeOff(list); info.AlreadyChargeOff = GetAlreadyChargeOff(list); list2.Add(info); } RadGridCostInvoiceMoney.DataSource = list2; } else { IList <CostInvoiceMoneyInfo> list3 = (from filialeInfo in filialeList let list = costReportList.Where(ent => ent.AssumeFilialeId == filialeInfo.ID).ToList() select new CostInvoiceMoneyInfo { FilialeId = filialeInfo.ID, FilialeName = filialeInfo.Name, Limit = Convert.ToDecimal("0.00"), DateYear = DateYear, DateMonth = DateMonth, WaitCollect = GetWaitCollect(list), WaitChargeOff = GetWaitChargeOff(list), AlreadyChargeOff = GetAlreadyChargeOff(list) }).ToList(); RadGridCostInvoiceMoney.DataSource = list3; } }
protected void OnTextChanged_CostInvoiceLimit(object sender, EventArgs e) { try { var tbCostInvoiceLimit = (TextBox)sender; var dataItem = (GridDataItem)tbCostInvoiceLimit.Parent.Parent; var filialeId = dataItem.GetDataKeyValue("FilialeId"); var costInvoiceLimit = WebControl.NumberRecovery(tbCostInvoiceLimit.Text); //正则表达式 if (Regex.IsMatch(costInvoiceLimit, @"^(([1-9]\d{0,9})|0)(\.\d{1,2})?$")) { var info = new CostInvoiceMoneyInfo { FilialeId = new Guid(filialeId.ToString()), DateYear = DateYear, DateMonth = DateMonth, Limit = Convert.ToDecimal(costInvoiceLimit) }; var result = _costInvoiceMoneyDao.SaveCostInvoiceMoney(info); if (!result) { RAM.Alert("系统提示:数据保存异常,请尝试刷新后继续操作!"); } else { RadGridCostInvoiceMoney.Rebind(); } } else { RAM.Alert("系统提示:输入金额格式不正确!"); } } catch (Exception) { RAM.Alert("系统提示:保存异常,请尝试刷新后继续操作!"); } }