示例#1
0
        /// <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);
        }
示例#2
0
        /// <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("系统提示:保存异常,请尝试刷新后继续操作!");
     }
 }