コード例 #1
0
 /// <summary>
 /// 检查是否重复
 /// </summary>
 /// <param name="Model.Project"></param>
 /// <returns></returns>
 public static bool CheckRepeat(Model.Project model)
 {
     try
     {
         string         sql  = "select * from Project where Name = @Name and Id <> @Id";
         SqlParameter[] para = new SqlParameter[]
         {
             new SqlParameter("@Name", model.Name.Trim()),
             new SqlParameter("@Id", model.Id)
         };
         DataTable temp = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);
         if (temp.Rows.Count > 0)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         ErrorLog e = new ErrorLog();
         e.TargetIds = model.Id.ToString();
         e.CodeTag   = "CheckRepeat";
         e.LogName   = "检查是否重复-ForProject";
         e.ErrorMsg  = ex.Message.ToString();
         ErrorLogService.AddErrorLog <Model.Project>(e, model);
         return(true);
     }
 }
コード例 #2
0
ファイル: BillService.cs プロジェクト: lianghuiyin/htps
        /// <summary>
        /// 获取加油单报表
        /// </summary>
        /// <param name="billsFilter">筛选参数</param>
        /// <param name="errMsg">错误信息</param>
        /// <returns></returns>
        public static IList <Model.Report> GetReports(
            ReportsFilter reportsFilter,
            out string errMsg)
        {
            errMsg = "";
            try
            {
                string              sql      = "";
                SqlParameter[]      para     = null;
                List <SqlParameter> listPara = new List <SqlParameter>();
                string where = "";
                IList <string> listWhere = new List <string>();
                if (reportsFilter != null && reportsFilter.Project > 0)
                {
                    listPara.Add(new SqlParameter("@Project", reportsFilter.Project));
                    listWhere.Add("Project = @Project");
                }
                if (reportsFilter != null && reportsFilter.Department > 0)
                {
                    listPara.Add(new SqlParameter("@Department", reportsFilter.Department));
                    listWhere.Add("Department = @Department");
                }
                if (reportsFilter != null)
                {
                    listPara.Add(new SqlParameter("@StartDate", reportsFilter.StartDate));
                    listPara.Add(new SqlParameter("@EndDate", reportsFilter.EndDate));
                    listWhere.Add("Time between @StartDate and @EndDate");
                }
                para = listPara.ToArray();
                if (listWhere.Count > 0)
                {
                    where += "where ";
                    where += String.Join(" and ", listWhere.ToArray());
                }
                sql = string.Format("select convert(int,ROW_NUMBER() over(order by Project)) as Id,sum(Volume) as Volume,Project,Department,Oil,getdate() as CreatedDate from [Bill] {0} group by Project,Department,Oil", where);
                DataTable dt = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Report> listReports = new List <Model.Report>();
                foreach (DataRow dr in dt.Rows)
                {
                    Model.Report report = new Model.Report();
                    report.Id          = (int)dr["Id"];
                    report.Project     = (int)dr["Project"];
                    report.Department  = (int)dr["Department"];
                    report.Oil         = (int)dr["Oil"];
                    report.Volume      = double.Parse(dr["Volume"].ToString());
                    report.CreatedDate = (DateTime)dr["CreatedDate"];
                    listReports.Add(report);
                }

                return(listReports);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #3
0
ファイル: UserService.cs プロジェクト: lianghuiyin/htps
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <returns></returns>
        public static bool Login(ref Model.Login login, out string errMsg)
        {
            try
            {
                errMsg = "";
                string         sql  = "select Id,Name,Role,IsEnable from [User] where (Phone = @LogName and Password = @LogPassword) or (Email = @LogName and Password = @LogPassword)";
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@LogName", login.LogName.Trim()),
                    new SqlParameter("@LogPassword", login.LogPassword)
                };
                DataTable dtUser = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);
                if (dtUser.Rows.Count > 0)
                {
                    DataRow dr = dtUser.Rows[0];
                    if ((bool)dr["IsEnable"])
                    {
                        login.LogId    = (int)dr["Id"];
                        login.IsPassed = true;

                        EventLog e = new EventLog();
                        e.TargetIds = login.LogId.ToString();
                        e.CodeTag   = "Login";
                        e.LogName   = "用户登录";
                        EventLogService.AddEventLog <Model.Login>(e, login);
                        return(true);
                    }
                    else
                    {
                        errMsg         = "该用户已被禁用";
                        login.IsPassed = false;
                        return(false);
                    }
                }
                else
                {
                    errMsg         = "用户名或密码不正确";
                    login.IsPassed = false;
                    return(false);
                }
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                ErrorLog e = new ErrorLog();
                e.TargetIds = login.LogId.ToString();
                e.CodeTag   = "Login";
                e.LogName   = "用户登录";
                e.ErrorMsg  = ex.Message.ToString();
                ErrorLogService.AddErrorLog <Model.Login>(e, login);
                return(false);
            }
        }
コード例 #4
0
ファイル: BillService.cs プロジェクト: lianghuiyin/htps
        /// <summary>
        /// 获取加油单小票打印内容
        /// </summary>
        /// <param name="lastId"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public static List <Model.BillPrinter> GetBillsForPrinter(int lastId, out string errMsg)
        {
            errMsg = "";
            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@LastId", lastId)
                };
                DataTable dt = DBHelper.ExecuteGetDataTable(CommandType.StoredProcedure, "proc_BillsForPrinterSelect", para);

                List <Model.BillPrinter> listBills = new List <Model.BillPrinter>();
                foreach (DataRow dr in dt.Rows)
                {
                    Model.BillPrinter bill = new Model.BillPrinter();
                    bill.Id             = (int)dr["Id"];
                    bill.CarNumber      = (string)dr["CarNumber"];
                    bill.CarVin         = (string)dr["CarVin"];
                    bill.ProjectName    = (string)dr["ProjectName"];
                    bill.DepartmentName = (string)dr["DepartmentName"];
                    bill.OilName        = (string)dr["OilName"];
                    bill.Volume         = double.Parse(dr["Volume"].ToString());
                    bill.Mileage        = double.Parse(dr["Mileage"].ToString());
                    bill.DriverName     = (string)dr["DriverName"];
                    bill.Rate           = double.Parse(dr["Rate"].ToString());
                    bill.OilerName      = (string)dr["OilerName"];
                    //bill.CreaterName = (string)dr["CreaterName"];
                    bill.Time = (DateTime)dr["Time"];
                    //bill.CreatedDate = (DateTime)dr["CreatedDate"];
                    bill.IsLost    = (bool)dr["IsLost"];
                    bill.IsPrinted = (bool)dr["IsPrinted"];
                    listBills.Add(bill);
                }

                return(listBills);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #5
0
ファイル: SignatureService.cs プロジェクト: lianghuiyin/htps
 /// <summary>
 /// 获取签字内容
 /// </summary>
 /// <param name="id"></param>
 /// <param name="errMsg"></param>
 /// <returns></returns>
 public static Model.Signature GetSignatureById(int id, out string errMsg)
 {
     errMsg = "";
     try
     {
         string         sql  = "";
         SqlParameter[] para = new SqlParameter[]
         {
             new SqlParameter("@Id", id)
         };
         sql = "select * from [Signature] where Id = @Id";
         DataTable       dt        = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);
         Model.Signature signature = null;
         if (dt.Rows.Count > 0)
         {
             DataRow dr = dt.Rows[0];
             string  tempBase64String = Convert.ToBase64String((byte[])dr["Sign"]);
             signature = new Signature
             {
                 Id          = (int)dr["Id"],
                 Name        = (string)dr["Name"],
                 Sign        = tempBase64String,
                 Creater     = (int)dr["Creater"],
                 CreatedDate = (DateTime)dr["CreatedDate"]
             };
         }
         else
         {
             errMsg = "该签字不存在或已被删除";
         }
         return(signature);;
     }
     catch (Exception ex)
     {
         errMsg = ex.Message;
         return(null);
     }
 }
コード例 #6
0
        /// <summary>
        /// 获取车辆申请单履历
        /// </summary>
        /// <param name="instance"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public static IList <Model.Trace> GetTracesByInstance(int instance, out string errMsg)
        {
            errMsg = "";
            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@Instance", instance)
                };
                string    sql = "select * from [Trace] where Instance = @Instance order by Id desc";
                DataTable dt  = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Trace> listTraces = new List <Model.Trace>();
                foreach (DataRow dr in dt.Rows)
                {
                    Trace trace = new Trace();
                    trace.Id       = (int)dr["Id"];
                    trace.Car      = (int)dr["Car"];
                    trace.Instance = (int)dr["Instance"];
                    if (DBNull.Value.Equals(dr["PreviousTrace"]))
                    {
                        trace.PreviousTrace = null;
                    }
                    else
                    {
                        trace.PreviousTrace = new int?((int)dr["PreviousTrace"]);
                    }
                    trace.Status     = (string)dr["Status"];
                    trace.IsFinished = (bool)dr["IsFinished"];
                    trace.IsArchived = (bool)dr["IsArchived"];
                    trace.Project    = (int)dr["Project"];
                    trace.Department = (int)dr["Department"];
                    trace.UserName   = (string)dr["UserName"];
                    if (!DBNull.Value.Equals(dr["Oils"]))
                    {
                        string   oilsStr       = (string)dr["Oils"];
                        string[] oilsArrayTemp = oilsStr.Split(new char[]
                        {
                            ','
                        });
                        int[] oilsArray = Array.ConvertAll <string, int>(oilsArrayTemp, (string s) => int.Parse(s));
                        trace.Oils = oilsArray.ToList <int>();
                    }
                    trace.Goal         = (string)dr["Goal"];
                    trace.StartDate    = (DateTime)dr["StartDate"];
                    trace.EndDate      = (DateTime)dr["EndDate"];
                    trace.StartInfo    = (string)dr["StartInfo"];
                    trace.EndInfo      = (string)dr["EndInfo"];
                    trace.Creater      = (int)dr["Creater"];
                    trace.CreatedDate  = (DateTime)dr["CreatedDate"];
                    trace.Modifier     = (int)dr["Modifier"];
                    trace.ModifiedDate = (DateTime)dr["ModifiedDate"];
                    listTraces.Add(trace);
                }

                return(listTraces);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #7
0
        /// <summary>
        /// 获取已归档试件
        /// </summary>
        /// <param name="key"></param>
        /// <param name="count"></param>
        /// <param name="lastId"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public static IList <Model.Piece> GetArchivedPieces(string key, int count, int lastId, out string errMsg)
        {
            errMsg = "";
            try
            {
                if (key == null)
                {
                    key = "";
                }
                else
                {
                    key = string.Format("%{0}%", key);
                }
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@Key", (key == null ? "" : key)),
                    new SqlParameter("@Count", count),
                    new SqlParameter("@LastId", lastId)
                };
                string keyWhere = "";
                if (key != null && key.Length > 0)
                {
                    keyWhere = " (Name like @Key or Number like @Key or AccessoryFactory like @Key or VehicleType like @Key or Place like @Key) and ";
                }
                string lastIdWhere = "";
                if (lastId > 0)
                {
                    lastIdWhere = " and Id < @LastId ";
                }
                string    sql = string.Format("select top (@Count) * from [Piece] where {0} IsArchived = 1 {1} order by Id desc", keyWhere, lastIdWhere);
                DataTable dt  = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Piece> listPieces = new List <Model.Piece>();
                foreach (DataRow dr in dt.Rows)
                {
                    Piece piece = new Piece();
                    piece.Id               = (int)dr["Id"];
                    piece.Name             = (string)dr["Name"];
                    piece.Number           = (string)dr["Number"];
                    piece.Order            = (string)dr["Order"];
                    piece.Count            = (int)dr["Count"];
                    piece.PrintedCount     = (int)dr["PrintedCount"];
                    piece.IsPrinted        = (bool)dr["IsPrinted"];
                    piece.Ots              = (string)dr["Ots"];
                    piece.DelegateNumber   = (string)dr["DelegateNumber"];
                    piece.AccessoryFactory = (string)dr["AccessoryFactory"];
                    piece.VehicleType      = (string)dr["VehicleType"];
                    piece.TestContent      = (string)dr["TestContent"];
                    piece.SendPerson       = (string)dr["SendPerson"];
                    piece.ChargePerson     = (string)dr["ChargePerson"];
                    if (DBNull.Value.Equals(dr["SendDate"]))
                    {
                        piece.SendDate = null;
                    }
                    else
                    {
                        piece.SendDate = (DateTime?)dr["SendDate"];
                    }
                    piece.Place        = (string)dr["Place"];
                    piece.IsEnable     = (bool)dr["IsEnable"];
                    piece.IsArchived   = (bool)dr["IsArchived"];
                    piece.Description  = (string)dr["Description"];
                    piece.Creater      = (int)dr["Creater"];
                    piece.CreatedDate  = (DateTime)dr["CreatedDate"];
                    piece.Modifier     = (int)dr["Modifier"];
                    piece.ModifiedDate = (DateTime)dr["ModifiedDate"];
                    listPieces.Add(piece);
                }

                return(listPieces);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #8
0
ファイル: BillService.cs プロジェクト: lianghuiyin/htps
        /// <summary>
        /// 获取加油单导出列表
        /// </summary>
        /// <param name="count">要返回的记录个数</param>
        /// <param name="billsFilter">筛选参数</param>
        /// <param name="lastId">最后(小)id值</param>
        /// <param name="errMsg">错误信息</param>
        /// <returns></returns>
        public static IList <Model.BillPrinter> GetBillsForExport(
            int?count,
            BillsFilter billsFilter,
            out string errMsg)
        {
            errMsg = "";
            try
            {
                string              sql      = "";
                SqlParameter[]      para     = null;
                List <SqlParameter> listPara = new List <SqlParameter>();
                if (count == null)
                {
                    count = 2000;
                }
                listPara.Add(new SqlParameter("@Count", count));
                string where = "";
                IList <string> listWhere = new List <string>();
                if (billsFilter.LastId > 0)
                {
                    listPara.Add(new SqlParameter("@LastId", billsFilter.LastId));
                    listWhere.Add("Id > @LastId");
                }
                if (billsFilter != null && billsFilter.Project > 0)
                {
                    listPara.Add(new SqlParameter("@Project", billsFilter.Project));
                    listWhere.Add("Project = @Project");
                }
                if (billsFilter != null && billsFilter.Department > 0)
                {
                    listPara.Add(new SqlParameter("@Department", billsFilter.Department));
                    listWhere.Add("Department = @Department");
                }
                if (billsFilter != null)
                {
                    listPara.Add(new SqlParameter("@StartDate", billsFilter.StartDate));
                    listPara.Add(new SqlParameter("@EndDate", billsFilter.EndDate));
                    listWhere.Add("Time between @StartDate and @EndDate");
                }
                para = listPara.ToArray();
                if (listWhere.Count > 0)
                {
                    where += "where ";
                    where += String.Join(" and ", listWhere.ToArray());
                }
                sql = string.Format(@"select top (@Count) Id,(select Number from Car where Car.Id = Bill.Car) as CarNumber,
		(select Vin from Car where Car.Id = Bill.Car) as CarVin,
		(select [Name] from Project where Project.Id = Bill.Project) as ProjectName,
		(select [Name] from Department where Department.Id = Bill.Department) as DepartmentName,
		(select [Name] from Oil where Oil.Id = Bill.Oil) as OilName,
		Volume,Mileage,DriverName,Rate,
		(select [Name] from [User] where [User].Id = Bill.Oiler) as OilerName,
		(select [UserName] from Instance where [Instance].Id = Bill.Instance) as UserName,
		(select [Name] from [User] where [User].Id = (select [Creater] from Instance where [Instance].Id = Bill.Instance)) as ApplicantName,
		[Time],IsLost,IsPrinted from [Bill] {0} order by Id asc"        , where);
                DataTable dt = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.BillPrinter> listBills = new List <Model.BillPrinter>();
                foreach (DataRow dr in dt.Rows)
                {
                    Model.BillPrinter bill = new Model.BillPrinter();
                    bill.Id             = (int)dr["Id"];
                    bill.CarNumber      = (string)dr["CarNumber"];
                    bill.CarVin         = (string)dr["CarVin"];
                    bill.ProjectName    = (string)dr["ProjectName"];
                    bill.DepartmentName = (string)dr["DepartmentName"];
                    bill.OilName        = (string)dr["OilName"];
                    bill.UserName       = (string)dr["UserName"];
                    bill.ApplicantName  = (string)dr["ApplicantName"];
                    bill.Volume         = double.Parse(dr["Volume"].ToString());
                    bill.Mileage        = double.Parse(dr["Mileage"].ToString());
                    bill.DriverName     = (string)dr["DriverName"];
                    bill.Rate           = double.Parse(dr["Rate"].ToString());
                    bill.OilerName      = (string)dr["OilerName"];
                    //bill.CreaterName = (string)dr["CreaterName"];
                    bill.Time = (DateTime)dr["Time"];
                    //bill.CreatedDate = (DateTime)dr["CreatedDate"];
                    bill.IsLost    = (bool)dr["IsLost"];
                    bill.IsPrinted = (bool)dr["IsPrinted"];
                    listBills.Add(bill);
                }

                return(listBills);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #9
0
ファイル: BillService.cs プロジェクト: lianghuiyin/htps
 /// <summary>
 /// 获取单个加油单
 /// </summary>
 /// <param name="id"></param>
 /// <param name="errMsg"></param>
 /// <returns></returns>
 public static Model.Bill GetBillById(int id, out string errMsg)
 {
     errMsg = "";
     try
     {
         string         sql  = "";
         SqlParameter[] para = new SqlParameter[]
         {
             new SqlParameter("@Id", id)
         };
         sql = "select * from [Bill] where Id = @Id";
         DataTable  dt   = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);
         Model.Bill bill = null;
         if (dt.Rows.Count > 0)
         {
             DataRow dr = dt.Rows[0];
             bill            = new Bill();
             bill.Id         = (int)dr["Id"];
             bill.Car        = (int)dr["Car"];
             bill.Instance   = (int)dr["Instance"];
             bill.Project    = (int)dr["Project"];
             bill.Department = (int)dr["Department"];
             bill.Oil        = (int)dr["Oil"];
             bill.Volume     = double.Parse(dr["Volume"].ToString());
             bill.Mileage    = double.Parse(dr["Mileage"].ToString());
             bill.DriverName = (string)dr["DriverName"];
             if (DBNull.Value.Equals(dr["Signature"]))
             {
                 bill.Signature = null;
             }
             else
             {
                 bill.Signature = new int?((int)dr["Signature"]);
             }
             if (DBNull.Value.Equals(dr["PreviousOil"]))
             {
                 bill.PreviousOil = null;
             }
             else
             {
                 bill.PreviousOil = new int?((int)dr["PreviousOil"]);
             }
             bill.Rate         = double.Parse(dr["Rate"].ToString());
             bill.Oiler        = (int)dr["Oiler"];
             bill.Time         = (DateTime)dr["Time"];
             bill.IsLost       = (bool)dr["IsLost"];
             bill.IsPrinted    = (bool)dr["IsPrinted"];
             bill.Creater      = (int)dr["Creater"];
             bill.CreatedDate  = (DateTime)dr["CreatedDate"];
             bill.Modifier     = (int)dr["Modifier"];
             bill.ModifiedDate = (DateTime)dr["ModifiedDate"];
         }
         else
         {
             errMsg = "该加油单不存在或已被删除";
         }
         return(bill);
     }
     catch (Exception ex)
     {
         errMsg = ex.Message;
         return(null);
     }
 }
コード例 #10
0
ファイル: BillService.cs プロジェクト: lianghuiyin/htps
        /// <summary>
        /// 获取指定申请单车辆上一次加油单
        /// </summary>
        /// <param name="startDate"></param>
        /// <param name="endDate"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public static IList <Model.Bill> GetLastOneBillByCar(int id, int car, out string errMsg)
        {
            errMsg = "";
            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@Id", id),
                    new SqlParameter("@Car", car)
                };
                string    sql = "select top 1 * from [Bill] where Id < @Id and Car = @Car order by Id desc";
                DataTable dt  = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Bill> listBills = new List <Model.Bill>();
                foreach (DataRow dr in dt.Rows)
                {
                    Model.Bill bill = new Model.Bill();
                    bill.Id         = (int)dr["Id"];
                    bill.Car        = (int)dr["Car"];
                    bill.Instance   = (int)dr["Instance"];
                    bill.Project    = (int)dr["Project"];
                    bill.Department = (int)dr["Department"];
                    bill.Oil        = (int)dr["Oil"];
                    bill.Volume     = double.Parse(dr["Volume"].ToString());
                    bill.Mileage    = double.Parse(dr["Mileage"].ToString());
                    bill.DriverName = (string)dr["DriverName"];
                    if (DBNull.Value.Equals(dr["Signature"]))
                    {
                        bill.Signature = null;
                    }
                    else
                    {
                        bill.Signature = new int?((int)dr["Signature"]);
                    }
                    if (DBNull.Value.Equals(dr["PreviousOil"]))
                    {
                        bill.PreviousOil = null;
                    }
                    else
                    {
                        bill.PreviousOil = new int?((int)dr["PreviousOil"]);
                    }
                    bill.Rate         = double.Parse(dr["Rate"].ToString());
                    bill.Oiler        = (int)dr["Oiler"];
                    bill.Time         = (DateTime)dr["Time"];
                    bill.IsLost       = (bool)dr["IsLost"];
                    bill.IsPrinted    = (bool)dr["IsPrinted"];
                    bill.Creater      = (int)dr["Creater"];
                    bill.CreatedDate  = (DateTime)dr["CreatedDate"];
                    bill.Modifier     = (int)dr["Modifier"];
                    bill.ModifiedDate = (DateTime)dr["ModifiedDate"];
                    listBills.Add(bill);
                }

                return(listBills);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #11
0
ファイル: BillService.cs プロジェクト: lianghuiyin/htps
        /// <summary>
        /// 获取加油单列表
        /// </summary>
        /// <param name="count">要返回的记录个数</param>
        /// <param name="billsFilter">筛选参数</param>
        /// <param name="lastId">最后(小)id值</param>
        /// <param name="errMsg">错误信息</param>
        /// <returns></returns>
        public static IList <Model.Bill> GetBills(
            int?count,
            BillsFilter billsFilter,
            out string errMsg)
        {
            errMsg = "";
            try
            {
                string              sql      = "";
                SqlParameter[]      para     = null;
                List <SqlParameter> listPara = new List <SqlParameter>();
                if (count == null)
                {
                    count = 20;
                }
                listPara.Add(new SqlParameter("@Count", count));
                string where = "";
                IList <string> listWhere = new List <string>();
                if (billsFilter.LastId > 0)
                {
                    listPara.Add(new SqlParameter("@LastId", billsFilter.LastId));
                    listWhere.Add("Id > @LastId");
                }
                if (billsFilter != null && billsFilter.Project > 0)
                {
                    listPara.Add(new SqlParameter("@Project", billsFilter.Project));
                    listWhere.Add("Project = @Project");
                }
                if (billsFilter != null && billsFilter.Department > 0)
                {
                    listPara.Add(new SqlParameter("@Department", billsFilter.Department));
                    listWhere.Add("Department = @Department");
                }
                if (billsFilter != null)
                {
                    listPara.Add(new SqlParameter("@StartDate", billsFilter.StartDate));
                    listPara.Add(new SqlParameter("@EndDate", billsFilter.EndDate));
                    listWhere.Add("Time between @StartDate and @EndDate");
                }
                para = listPara.ToArray();
                if (listWhere.Count > 0)
                {
                    where += "where ";
                    where += String.Join(" and ", listWhere.ToArray());
                }
                sql = string.Format("select top (@Count) * from [Bill] {0} order by Id asc", where);
                DataTable dt = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Bill> listBills = new List <Model.Bill>();
                foreach (DataRow dr in dt.Rows)
                {
                    Model.Bill bill = new Model.Bill();
                    bill.Id         = (int)dr["Id"];
                    bill.Car        = (int)dr["Car"];
                    bill.Instance   = (int)dr["Instance"];
                    bill.Project    = (int)dr["Project"];
                    bill.Department = (int)dr["Department"];
                    bill.Oil        = (int)dr["Oil"];
                    bill.Volume     = double.Parse(dr["Volume"].ToString());
                    bill.Mileage    = double.Parse(dr["Mileage"].ToString());
                    bill.DriverName = (string)dr["DriverName"];
                    if (DBNull.Value.Equals(dr["Signature"]))
                    {
                        bill.Signature = null;
                    }
                    else
                    {
                        bill.Signature = new int?((int)dr["Signature"]);
                    }
                    if (DBNull.Value.Equals(dr["PreviousOil"]))
                    {
                        bill.PreviousOil = null;
                    }
                    else
                    {
                        bill.PreviousOil = new int?((int)dr["PreviousOil"]);
                    }
                    bill.Rate         = double.Parse(dr["Rate"].ToString());
                    bill.Oiler        = (int)dr["Oiler"];
                    bill.Time         = (DateTime)dr["Time"];
                    bill.IsLost       = (bool)dr["IsLost"];
                    bill.IsPrinted    = (bool)dr["IsPrinted"];
                    bill.Creater      = (int)dr["Creater"];
                    bill.CreatedDate  = (DateTime)dr["CreatedDate"];
                    bill.Modifier     = (int)dr["Modifier"];
                    bill.ModifiedDate = (DateTime)dr["ModifiedDate"];
                    listBills.Add(bill);
                }

                return(listBills);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #12
0
 /// <summary>
 /// 获取单个车辆
 /// </summary>
 /// <param name="id"></param>
 /// <param name="errMsg"></param>
 /// <returns></returns>
 public static Model.Car GetCarById(int id, out string errMsg)
 {
     errMsg = "";
     try
     {
         string         sql  = "";
         SqlParameter[] para = new SqlParameter[]
         {
             new SqlParameter("@Id", id)
         };
         sql = "select * from [Car] where Id = @Id";
         DataTable dt  = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);
         Model.Car car = null;
         if (dt.Rows.Count > 0)
         {
             DataRow dr = dt.Rows[0];
             car               = new Car();
             car.Id            = (int)dr["Id"];
             car.Number        = (string)dr["Number"];
             car.Vin           = (string)dr["Vin"];
             car.Model         = (string)dr["Model"];
             car.IsArchived    = (bool)dr["IsArchived"];
             car.InstanceCount = (int)dr["InstanceCount"];
             car.BillCount     = (int)dr["BillCount"];
             if (DBNull.Value.Equals(dr["PreviousOil"]))
             {
                 car.PreviousOil = null;
             }
             else
             {
                 car.PreviousOil = new int?((int)dr["PreviousOil"]);
             }
             if (DBNull.Value.Equals(dr["LastOil"]))
             {
                 car.LastOil = null;
             }
             else
             {
                 car.LastOil = new int?((int)dr["LastOil"]);
             }
             car.LastVolume   = (double)dr["LastVolume"];
             car.LastMileage  = (double)dr["LastMileage"];
             car.LastRate     = (double)dr["LastRate"];
             car.Description  = (string)dr["Description"];
             car.Creater      = (int)dr["Creater"];
             car.CreatedDate  = (DateTime)dr["CreatedDate"];
             car.Modifier     = (int)dr["Modifier"];
             car.ModifiedDate = (DateTime)dr["ModifiedDate"];
         }
         else
         {
             errMsg = "该车辆不存在或已被删除";
         }
         return(car);
     }
     catch (Exception ex)
     {
         errMsg = ex.Message;
         return(null);
     }
 }
コード例 #13
0
        /// <summary>
        /// 获取已归档车辆
        /// </summary>
        /// <param name="key"></param>
        /// <param name="count"></param>
        /// <param name="lastId"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public static IList <Model.Car> GetArchivedCars(string key, int count, int lastId, out string errMsg)
        {
            errMsg = "";
            try
            {
                if (key == null)
                {
                    key = "";
                }
                else
                {
                    key = string.Format("%{0}%", key);
                }
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@Key", (key == null ? "" : key)),
                    new SqlParameter("@Count", count),
                    new SqlParameter("@LastId", lastId)
                };
                string keyWhere = "";
                if (key != null && key.Length > 0)
                {
                    keyWhere = " (Number like @Key or Vin like @Key or Model like @Key) and ";
                }
                string lastIdWhere = "";
                if (lastId > 0)
                {
                    lastIdWhere = " and Id < @LastId ";
                }
                string    sql = string.Format("select top (@Count) * from [Car] where {0} IsArchived = 1 {1} order by Id desc", keyWhere, lastIdWhere);
                DataTable dt  = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Car> listCars = new List <Model.Car>();
                foreach (DataRow dr in dt.Rows)
                {
                    Car car = new Car();
                    car.Id            = (int)dr["Id"];
                    car.Number        = (string)dr["Number"];
                    car.Vin           = (string)dr["Vin"];
                    car.Model         = (string)dr["Model"];
                    car.IsArchived    = (bool)dr["IsArchived"];
                    car.InstanceCount = (int)dr["InstanceCount"];
                    car.BillCount     = (int)dr["BillCount"];
                    if (DBNull.Value.Equals(dr["PreviousOil"]))
                    {
                        car.PreviousOil = null;
                    }
                    else
                    {
                        car.PreviousOil = new int?((int)dr["PreviousOil"]);
                    }
                    if (DBNull.Value.Equals(dr["LastOil"]))
                    {
                        car.LastOil = null;
                    }
                    else
                    {
                        car.LastOil = new int?((int)dr["LastOil"]);
                    }
                    car.LastVolume   = (double)dr["LastVolume"];
                    car.LastMileage  = (double)dr["LastMileage"];
                    car.LastRate     = (double)dr["LastRate"];
                    car.Description  = (string)dr["Description"];
                    car.Creater      = (int)dr["Creater"];
                    car.CreatedDate  = (DateTime)dr["CreatedDate"];
                    car.Modifier     = (int)dr["Modifier"];
                    car.ModifiedDate = (DateTime)dr["ModifiedDate"];
                    listCars.Add(car);
                }

                return(listCars);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }
コード例 #14
0
 /// <summary>
 /// 获取单个申请单
 /// </summary>
 /// <param name="id"></param>
 /// <param name="errMsg"></param>
 /// <returns></returns>
 public static Model.Instance GetInstanceById(int id, out string errMsg)
 {
     errMsg = "";
     try
     {
         string         sql  = "";
         SqlParameter[] para = new SqlParameter[]
         {
             new SqlParameter("@Id", id)
         };
         sql = "select * from [Instance] where Id = @Id";
         DataTable      dt       = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);
         Model.Instance instance = null;
         if (dt.Rows.Count > 0)
         {
             DataRow dr = dt.Rows[0];
             instance            = new Instance();
             instance.Id         = (int)dr["Id"];
             instance.Car        = (int)dr["Car"];
             instance.Project    = (int)dr["Project"];
             instance.Department = (int)dr["Department"];
             instance.UserName   = (string)dr["UserName"];
             if (!DBNull.Value.Equals(dr["Oils"]))
             {
                 string   oilsStr       = (string)dr["Oils"];
                 string[] oilsArrayTemp = oilsStr.Split(new char[]
                 {
                     ','
                 });
                 int[] oilsArray = Array.ConvertAll <string, int>(oilsArrayTemp, (string s) => int.Parse(s));
                 instance.Oils = oilsArray.ToList <int>();
             }
             instance.Goal       = (string)dr["Goal"];
             instance.StartDate  = (DateTime)dr["StartDate"];
             instance.EndDate    = (DateTime)dr["EndDate"];
             instance.IsReleased = (bool)dr["IsReleased"];
             instance.IsPending  = (bool)dr["IsPending"];
             instance.IsArchived = (bool)dr["IsArchived"];
             instance.IsEnable   = (bool)dr["IsEnable"];
             //if (DBNull.Value.Equals(dr["Message"]))
             //{
             //    instance.Message = null;
             //}
             //else
             //{
             //    instance.Message = new int?((int)dr["Message"]);
             //}
             instance.BillCount    = (int)dr["BillCount"];
             instance.Creater      = (int)dr["Creater"];
             instance.CreatedDate  = (DateTime)dr["CreatedDate"];
             instance.Modifier     = (int)dr["Modifier"];
             instance.ModifiedDate = (DateTime)dr["ModifiedDate"];
         }
         else
         {
             errMsg = "该申请单不存在或已被删除";
         }
         return(instance);
     }
     catch (Exception ex)
     {
         errMsg = ex.Message;
         return(null);
     }
 }
コード例 #15
0
        /// <summary>
        /// 获取车辆申请单
        /// </summary>
        /// <param name="car"></param>
        /// <param name="count"></param>
        /// <param name="lastId"></param>
        /// <param name="errMsg"></param>
        /// <returns></returns>
        public static IList <Model.Instance> GetInstancesByCar(int car, int count, int lastId, out string errMsg)
        {
            errMsg = "";
            try
            {
                SqlParameter[] para = new SqlParameter[]
                {
                    new SqlParameter("@Car", car),
                    new SqlParameter("@Count", count),
                    new SqlParameter("@LastId", lastId)
                };
                string lastIdWhere = "";
                if (lastId > 0)
                {
                    lastIdWhere = " and Id < @LastId ";
                }
                string    sql = string.Format("select top (@Count) * from [Instance] where Car = @Car and IsArchived = 1 {0} order by Id desc", lastIdWhere);
                DataTable dt  = DBHelper.ExecuteGetDataTable(CommandType.Text, sql, para);

                IList <Model.Instance> listInstances = new List <Model.Instance>();
                foreach (DataRow dr in dt.Rows)
                {
                    Instance instance = new Instance();
                    instance.Id         = (int)dr["Id"];
                    instance.Car        = (int)dr["Car"];
                    instance.Project    = (int)dr["Project"];
                    instance.Department = (int)dr["Department"];
                    instance.UserName   = (string)dr["UserName"];
                    if (!DBNull.Value.Equals(dr["Oils"]))
                    {
                        string   oilsStr       = (string)dr["Oils"];
                        string[] oilsArrayTemp = oilsStr.Split(new char[]
                        {
                            ','
                        });
                        int[] oilsArray = Array.ConvertAll <string, int>(oilsArrayTemp, (string s) => int.Parse(s));
                        instance.Oils = oilsArray.ToList <int>();
                    }
                    instance.Goal       = (string)dr["Goal"];
                    instance.StartDate  = (DateTime)dr["StartDate"];
                    instance.EndDate    = (DateTime)dr["EndDate"];
                    instance.IsReleased = (bool)dr["IsReleased"];
                    instance.IsPending  = (bool)dr["IsPending"];
                    instance.IsArchived = (bool)dr["IsArchived"];
                    instance.IsEnable   = (bool)dr["IsEnable"];
                    //if (DBNull.Value.Equals(dr["Message"]))
                    //{
                    //    instance.Message = null;
                    //}
                    //else
                    //{
                    //    instance.Message = new int?((int)dr["Message"]);
                    //}
                    instance.BillCount    = (int)dr["BillCount"];
                    instance.Creater      = (int)dr["Creater"];
                    instance.CreatedDate  = (DateTime)dr["CreatedDate"];
                    instance.Modifier     = (int)dr["Modifier"];
                    instance.ModifiedDate = (DateTime)dr["ModifiedDate"];
                    listInstances.Add(instance);
                }

                return(listInstances);
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                return(null);
            }
        }