예제 #1
0
        /// <summary>
        /// 有效订单分页查询
        /// </summary>
        /// <param name="Cxqc">查询条条</param>
        /// <param name="pageindex">第几页,从1开始</param>
        /// <param name="pagesize">每页多少条</param>
        /// <param name="page">输出参数(总页数)</param>
        /// <returns>订单信息</returns>
        public TradeOrderInfo GetMultiTradeOrderWithPage(CxQueryCon Cxqc, int pageindex, int pagesize, ref int page)
        {
            TradeOrderInfo TdOrderInfo = new TradeOrderInfo();

            System.Data.Common.DbDataReader dbreader = null;
            System.Data.Common.DbParameter OutputParam = DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                 "@PageCount", DbParameterType.Int, 0, ParameterDirection.Output);
            string SearchCondition = string.Empty;
            try
            {
                string AndStr = string.Empty;
                string PartSearchCondition = string.Empty;
                string ParentOrgID = string.Empty;
                TradeUser TdUser = new TradeUser();
                #region 判断登陆标识是否过期

                if (!ComFunction.ExistUserLoginID(Cxqc.LoginID, ref TdUser))
                {
                    TdOrderInfo.Result = false;
                    TdOrderInfo.Desc = ResCode.UL003Desc;
                    return TdOrderInfo;
                }
                if (UserType.NormalType == TdUser.UType)
                {
                    TdOrderInfo.Result = false;
                    TdOrderInfo.Desc = ComFunction.NotRightUser;
                    return TdOrderInfo;
                }

                #endregion

                if (!string.IsNullOrEmpty(Cxqc.TradeAccount)) //交易账号不为空 表示查询该用户的历史单 否则查询所有用户的历史单
                {
                    AndStr = string.Format(" and [Account] like '{0}%' ", Cxqc.TradeAccount);
                }
                string productname = string.Empty;
                if ("ALL" == Cxqc.ProductName.ToUpper())
                {
                    productname = string.Empty;
                }
                else
                {
                    productname = string.Format(" and ProductName='{0}'", Cxqc.ProductName);
                }

                if (!string.IsNullOrEmpty(Cxqc.OrgName))
                {
                    //AndStr += string.Format("and [orgname] like '{0}%' ", Cxqc.OrgName);
                    AndStr += string.Format("and [orgid]='{0}' ", Cxqc.OrgName);
                }

                if (UserType.OrgType == TdUser.UType && !string.IsNullOrEmpty(TdUser.OrgId))
                {
                    //AndStr += string.Format(" and [orgid] in ({0}) ", ComFunction.GetOrgIds(TdUser.OrgId));
                    PartSearchCondition = " and orgid in (select orgid from #tmp) ";
                    ParentOrgID = TdUser.OrgId;
                }
                if ("ALL" != Cxqc.OrderType.ToUpper())
                {
                    AndStr += string.Format(" and ordertype='{0}'", Cxqc.OrderType);
                }

                if (!string.IsNullOrEmpty(Cxqc.PriceCode))
                {
                    AndStr += string.Format(" and [PriceCode]='{0}' ", Cxqc.PriceCode);
                }
                //else
                //{
                //    com.individual.helper.LogNet4.WriteMsg("行情编码未知!");
                //}
                string SumSelectList = "round(isnull(sum(OccMoney),0),2) as OccMoney,round(isnull(sum(usequantity),0),2) as quantity,round(isnull(sum(tradefee),0),2) as tradefee,round(isnull(sum(storagefee),0),2) as storagefee  ";
                string selectlist = "orderunit,orgname,telephone,username,TotalWeight,account,ProductName,productcode,Orderid,quantity,usequantity,Orderprice,profitPrice,lossPrice,OccMoney,tradefee,storagefee,Ordertime,Ordertype,AllowStore ";

                SearchCondition = string.Format("where ordertime >= '{0}' and ordertime <='{1}' {2} {3} {4}",
                    Cxqc.StartTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), Cxqc.EndTime.ToString("yyyy-MM-dd HH:mm:ss.fff"),
                    productname, AndStr, PartSearchCondition);

                #region 获取行情价格
                string data = ComFunction.GetProgramData();
                if (string.IsNullOrEmpty(data))
                {
                    TdOrderInfo.Desc = "查询失败!!";
                    TdOrderInfo.Result = false;
                    return TdOrderInfo;
                }
                #endregion

                dbreader = DbHelper.RunProcedureGetDataReader("GetRecordFromPageExWithSumEx2",
                      new System.Data.Common.DbParameter[]{
                         DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@selectlist",DbParameterType.String,selectlist,ParameterDirection.Input),
                      DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@SumSelectList",DbParameterType.String,SumSelectList,ParameterDirection.Input),
                     DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                        "@data",DbParameterType.String,data,ParameterDirection.Input), //参数格式[行情编码,价格|行情编码,价格|行情编码,价格|行情编码,价格|行情编码,价格]
                       DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@TableSource",DbParameterType.String,"V_Trade_Order ",ParameterDirection.Input), //表名或视图表
                        DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@TableOrder",DbParameterType.String,"a",ParameterDirection.Input), //排序后的表名称 即子查询结果集的别名
                         DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@SearchCondition",DbParameterType.String,SearchCondition,ParameterDirection.Input),
                          DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@OrderExpression",DbParameterType.String,"order by ordertime desc",ParameterDirection.Input),//排序 表达式
                         DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@ParentOrgID",DbParameterType.String,ParentOrgID,ParameterDirection.Input),//父级组织ID
                           DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@PageIndex",DbParameterType.Int,pageindex,ParameterDirection.Input),
                           DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@PageSize",DbParameterType.Int,pagesize,ParameterDirection.Input),
                            OutputParam});
                TdOrderInfo.TdOrderList = new List<TradeOrder>();
                while (dbreader.Read())
                {
                    TradeOrder tdr = new TradeOrder();
                    tdr.Telephone = System.DBNull.Value != dbreader["telephone"] ? dbreader["telephone"].ToString() : string.Empty;
                    tdr.UserName = System.DBNull.Value != dbreader["username"] ? dbreader["username"].ToString() : string.Empty;
                    tdr.OrgName = System.DBNull.Value != dbreader["orgname"] ? dbreader["orgname"].ToString() : string.Empty;
                    tdr.TradeAccount = System.DBNull.Value != dbreader["account"] ? dbreader["account"].ToString() : string.Empty;
                    tdr.OrderId = System.DBNull.Value != dbreader["Orderid"] ? dbreader["Orderid"].ToString() : string.Empty;
                    tdr.ProductName = System.DBNull.Value != dbreader["ProductName"] ? dbreader["ProductName"].ToString() : string.Empty;
                    tdr.ProductCode = System.DBNull.Value != dbreader["productcode"] ? dbreader["productcode"].ToString() : string.Empty;
                    tdr.Quantity = System.DBNull.Value != dbreader["quantity"] ? Convert.ToDouble(dbreader["quantity"]) : 0;
                    tdr.UseQuantity = System.DBNull.Value != dbreader["usequantity"] ? Convert.ToDouble(dbreader["usequantity"]) : 0;
                    tdr.OrderPrice = System.DBNull.Value != dbreader["Orderprice"] ? Convert.ToDouble(dbreader["Orderprice"]) : 0;
                    tdr.ProfitPrice = System.DBNull.Value != dbreader["profitPrice"] ? Convert.ToDouble(dbreader["profitPrice"]) : 0;
                    tdr.LossPrice = System.DBNull.Value != dbreader["lossPrice"] ? Convert.ToDouble(dbreader["lossPrice"]) : 0;
                    tdr.OccMoney = System.DBNull.Value != dbreader["OccMoney"] ? Convert.ToDouble(dbreader["OccMoney"]) : 0;
                    tdr.TradeFee = System.DBNull.Value != dbreader["tradefee"] ? Convert.ToDouble(dbreader["tradefee"]) : 0;
                    tdr.StorageFee = System.DBNull.Value != dbreader["storagefee"] ? Convert.ToDouble(dbreader["storagefee"]) : 0;
                    tdr.OrderTime = System.DBNull.Value != dbreader["Ordertime"] ? Convert.ToDateTime(dbreader["Ordertime"]) : DateTime.MinValue;
                    tdr.OrderType = System.DBNull.Value != dbreader["Ordertype"] ? dbreader["Ordertype"].ToString() : string.Empty;
                    tdr.AllowStore = System.DBNull.Value != dbreader["AllowStore"] ? Convert.ToBoolean(dbreader["AllowStore"]) : false;
                    tdr.TotalWeight = System.DBNull.Value != dbreader["TotalWeight"] ? Convert.ToDouble(dbreader["TotalWeight"]) : 0;

                    tdr.DongJieMoney = System.DBNull.Value != dbreader["DongJieMoney"] ? Convert.ToDouble(dbreader["DongJieMoney"]) : 0;
                    tdr.Money = System.DBNull.Value != dbreader["money"] ? Convert.ToDouble(dbreader["money"]) : 0;
                    tdr.ProfitValue = System.DBNull.Value != dbreader["profitValue"] ? Convert.ToDouble(dbreader["profitValue"]) : 0;
                    tdr.AllOccMoney = System.DBNull.Value != dbreader["alloccmoney"] ? Convert.ToDouble(dbreader["alloccmoney"]) : 0;
                    tdr.FrozenMoney = System.DBNull.Value != dbreader["frozenMoney"] ? Convert.ToDouble(dbreader["frozenMoney"]) : 0;

                    tdr.Orderunit = System.DBNull.Value != dbreader["orderunit"] ? Convert.ToDouble(dbreader["orderunit"]) : 0.5;

                    TdOrderInfo.TdOrderList.Add(tdr);
                }
                if (dbreader.NextResult()) //前进到下一结果集 读取汇总数据
                {
                    if (dbreader.Read())
                    {
                        TdOrderInfo.OccMoney = System.DBNull.Value != dbreader["OccMoney"] ? Convert.ToDouble(dbreader["OccMoney"]) : 0;
                        TdOrderInfo.Quantity = System.DBNull.Value != dbreader["quantity"] ? Convert.ToDouble(dbreader["quantity"]) : 0;
                        TdOrderInfo.Tradefee = System.DBNull.Value != dbreader["tradefee"] ? Convert.ToDouble(dbreader["tradefee"]) : 0;
                        TdOrderInfo.Storagefee = System.DBNull.Value != dbreader["storagefee"] ? Convert.ToDouble(dbreader["storagefee"]) : 0;
                    }
                }

                TdOrderInfo.Result = true;
                TdOrderInfo.Desc = "查询成功";
            }
            catch (Exception ex)
            {
                ComFunction.WriteErr(ex);
                if (null != TdOrderInfo.TdOrderList && TdOrderInfo.TdOrderList.Count > 0)
                {
                    TdOrderInfo.TdOrderList.Clear();
                }
                TdOrderInfo.Desc = "查询失败";
                TdOrderInfo.Result = false;
            }
            finally
            {
                if (null != dbreader)
                {
                    dbreader.Close();
                    dbreader.Dispose();
                    page = Convert.ToInt32(OutputParam.Value);
                }
            }
            return TdOrderInfo;
        }
예제 #2
0
        /// <summary>
        /// 根据订单ID查询订单记录
        /// </summary>
        /// <param name="orderid">订单ID</param>
        /// <param name="ip">要返回的IP</param>
        /// <param name="mac">要返回的MAC</param>
        /// <returns>订单记录</returns>
        public static TradeOrder GetTradeOrder(string orderid, ref string ip, ref string mac)
        {
            TradeOrder tradeOrder = new TradeOrder();
            SqlConnection sqlconn = null;
            SqlCommand sqlcmd = null;
            SqlDataReader sqldr = null;
            try
            {
                sqlconn = new SqlConnection(SqlConnectionString);
                sqlconn.Open();
                sqlcmd = sqlconn.CreateCommand();
                sqlcmd.CommandText = "select userId,Orderid,productcode,OrderType,Orderprice,usequantity,quantity,lossPrice,profitPrice,OccMoney,tradefee,storagefee, " +
                                    " Ordertime,OperType,ip,mac,allowStore,IsExperience from Trade_Order where OrderID=@OrderID ";
                SqlParameter p_orderid = new SqlParameter();
                p_orderid.ParameterName = "@OrderID";
                p_orderid.DbType = DbType.String;
                p_orderid.Value = orderid;
                sqlcmd.Parameters.Add(p_orderid);

                sqldr = sqlcmd.ExecuteReader();
                while (sqldr.Read())
                {
                    tradeOrder.OrderId = sqldr["OrderId"].ToString();
                    tradeOrder.ProductCode = sqldr["ProductCode"].ToString();
                    tradeOrder.OrderType = sqldr["OrderType"].ToString();
                    tradeOrder.OrderPrice = Convert.ToDouble(sqldr["OrderPrice"]);

                    tradeOrder.UseQuantity = Convert.ToDouble(sqldr["UseQuantity"]);
                    tradeOrder.Quantity = Convert.ToDouble(sqldr["Quantity"]);
                    tradeOrder.LossPrice = Convert.ToDouble(sqldr["LossPrice"]);
                    tradeOrder.ProfitPrice = Convert.ToDouble(sqldr["ProfitPrice"]);
                    tradeOrder.OccMoney = Convert.ToDouble(sqldr["OccMoney"]);
                    tradeOrder.TradeFee = Convert.ToDouble(sqldr["TradeFee"]);
                    tradeOrder.StorageFee = Convert.ToDouble(sqldr["StorageFee"]);
                    tradeOrder.OrderTime = Convert.ToDateTime(sqldr["OrderTime"]);
                    tradeOrder.OperType = sqldr["OperType"].ToString();
                    ip = sqldr["ip"].ToString();
                    mac = sqldr["mac"].ToString();
                    tradeOrder.AllowStore = Convert.ToBoolean(sqldr["AllowStore"]);
                    tradeOrder.IsExperience = Convert.ToBoolean(sqldr["IsExperience"]);
                    break;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                if (null != sqlconn)
                {
                    sqlconn.Close();
                }
                if (null != sqldr)
                {
                    sqldr.Close();
                }
            }
            return tradeOrder;
        }
예제 #3
0
        /// <summary>
        /// 市价单查询
        /// </summary>
        /// <param name="LoginID">登陆标识</param>
        /// <returns>市价单记录</returns>
        public List<TradeOrder> GetTradeOrder(string LoginID)
        {
            List<TradeOrder> list = new List<TradeOrder>();

            System.Data.Common.DbDataReader dbreader = null;

            try
            {
                string userId = string.Empty;

                if (!ComFunction.ExistUserLoginID(LoginID, ref userId))
                {
                    return list;
                }

                string sql = "select c.account,a.Orderid,b.ProductName,b.pricecode,isnull(b.unit*a.UseQuantity,0) TotalWeight, a.productcode,a.quantity,a.usequantity,a.Orderprice,a.profitPrice,a.lossPrice,a.OccMoney,a.tradefee,a.storagefee,a.Ordertime,a.Ordertype " +
                                    "from Trade_Order a,Trade_Product b,base_user c where a.userId=@userId and a.productcode=b.productcode and c.userid=a.userid and c.status='1' order by a.Ordertime desc";
               dbreader = DbHelper.ExecuteReader(sql,
                       new System.Data.Common.DbParameter[]{DbHelper.CreateDbParameter(JinTong.Jyrj.Data.DataBase.Type,
                    "@userId",DbParameterType.String,userId,ParameterDirection.Input)});
                while (dbreader.Read())
                {
                    TradeOrder tdr = new TradeOrder();
                    tdr.TradeAccount = dbreader["account"].ToString();
                    tdr.OrderId = dbreader["Orderid"].ToString();
                    tdr.ProductName = dbreader["ProductName"].ToString();
                    tdr.ProductCode = dbreader["productcode"].ToString();
                    tdr.PriceCode = dbreader["pricecode"].ToString();
                    tdr.Quantity = Convert.ToDouble(dbreader["quantity"]);
                    tdr.UseQuantity = Convert.ToDouble(dbreader["usequantity"]);
                    tdr.OrderPrice = Convert.ToDouble(dbreader["Orderprice"]);
                    tdr.ProfitPrice = Convert.ToDouble(dbreader["profitPrice"]);
                    tdr.LossPrice = Convert.ToDouble(dbreader["lossPrice"]);
                    tdr.OccMoney = Convert.ToDouble(dbreader["OccMoney"]);
                    tdr.TradeFee = Convert.ToDouble(dbreader["tradefee"]);
                    tdr.StorageFee = Convert.ToDouble(dbreader["storagefee"]);
                    tdr.OrderTime = Convert.ToDateTime(dbreader["Ordertime"]);
                    tdr.OrderType = dbreader["Ordertype"].ToString();
                    tdr.TotalWeight = Convert.ToDouble(dbreader["TotalWeight"]);
                    list.Add(tdr);
                }
            }
            catch (Exception ex)
            {
                ComFunction.WriteErr(ex);
                if (null != list && list.Count > 0)
                {
                    list.Clear();
                }

            }
            finally
            {
                if (null != dbreader)
                {
                    dbreader.Close();
                    dbreader.Dispose();
                }
            }
            return list;
        }