Exemplo n.º 1
0
        /// <summary>
        /// 根据用户和时间查询处理过的项目信息
        /// </summary>
        /// <param name="query">个人中心查询类</param>
        /// <returns></returns>
        public DataTable GetItemInstace(CenterQuery query, out int recordCount)
        {
            string sql = string.Format(@"select a.*,b.enddate from xm_xmxx a
                   left join (select flowid, itemCode, max(enddate) enddate from wf_instance
                   where state = 1 and userId = {0} group by flowid, itemCode) b
                   on a.flowid = b.flowid and a.itemcode = b.itemcode 
                   where a.ItemState in (1,2) and b.enddate >= to_date('{1}','yyyy-mm-dd hh24:mi:ss')
                   and b.enddate <= to_date('{2}','yyyy-mm-dd hh24:mi:ss')
                   order by b.enddate desc", query.UserID,
                                       query.BeginDate.ToString(), query.EndDate.ToString());

            #region 设置参数
            OracleParameter pageSize = new OracleParameter("p_PageSize", OracleType.Number, 10);
            pageSize.Value = query.PageSize;
            OracleParameter pageIndex = new OracleParameter("p_PageIndex", OracleType.Number, 10);
            pageIndex.Value = query.PageIndex;
            OracleParameter sqlSelect = new OracleParameter("p_SqlSelect", OracleType.VarChar, 4000);
            sqlSelect.Value = sql;
            OracleParameter recount = new OracleParameter("p_OutRecordCount", OracleType.Number, 5);
            recount.Direction = ParameterDirection.Output;
            OracleParameter returnCursor = new OracleParameter("p_OutCursor", OracleType.Cursor);
            returnCursor.Direction = ParameterDirection.Output;

            OracleParameter[] oracleParameters = { pageSize, pageIndex, sqlSelect, recount, returnCursor };
            #endregion

            DataTable dt = OracleHelper.ExecuteDataTable("CommonPackages.sp_Page", oracleParameters);
            recordCount = int.Parse(recount.Value.ToString());
            return(dt);
        }
Exemplo n.º 2
0
    void OnDrawGizmosSelected()
    {
        if (DrawDebagPoints)
        {
            Vector3 MyPos = CenterQuery.GetPoint();

            Vector2 StartPos = new Vector2();

            StartPos.x = MyPos.x - DotDistanse * (SideRange - 1) / 2f;
            StartPos.y = MyPos.y - DotDistanse * (SideRange - 1) / 2f;



            for (int x = 0; x < SideRange; ++x)
            {
                MyPos.x = StartPos.x + x * DotDistanse;

                for (int y = 0; y < SideRange; ++y)
                {
                    MyPos.y = StartPos.y + y * DotDistanse;
                    Gizmos.DrawIcon(MyPos, "GeneratorPointIcon.png");
                }
            }
        }

        if (DrawPointOnFindTimer > 0f)
        {
            DrawPointOnFindTimer -= Time.deltaTime;
            if (Points.Count > 0)
            {
                Gizmos.DrawIcon(LocalPoint.MyPoint, "FinalePointIcon.png");
            }
            else
            {
                Gizmos.DrawIcon(CenterQuery.GetPoint(), "RedCross.png");
            }
        }
    }
Exemplo n.º 3
0
    public override bool FindSpot(out Vector3 InVector)
    {
        if (DrawPointOnFind)
        {
            DrawPointOnFindTimer = DrawPointOnFindTime;
        }

        Vector3 MyPos = CenterQuery.GetPoint();


        Vector2 StartPos = new Vector2();

        StartPos.x = MyPos.x - DotDistanse * (SideRange - 1) / 2f;
        StartPos.y = MyPos.y - DotDistanse * (SideRange - 1) / 2f;



        Points.Clear();



        int TestsLength = Tests.Length;

        for (int x = 0; x < SideRange; ++x)
        {
            LocalPoint.MyPoint.x = StartPos.x + x * DotDistanse;

            for (int y = 0; y < SideRange; ++y)
            {
                LocalPoint.MyPoint.y  = StartPos.y + y * DotDistanse;
                LocalPoint.MyPriority = 1f;

                float LocalF = 1;

                for (int i = 0; i < TestsLength; ++i)
                {
                    if (Tests[i].MyTest == null)
                    {
                        print("Test #" + i + " fails " + transform.name);
                        break;
                    }

                    LocalF = Tests[i].MyTest.CulcPoint(LocalPoint.MyPoint);
                    if (LocalF == 0)
                    {
                        break;
                    }

                    LocalPoint.MyPriority *= LocalF;
                }

                if (LocalF == 0)
                {
                    continue;
                }

                if (Points.Count == 0)
                {
                    Points.Add(LocalPoint);
                    continue;
                }

                if (LocalPoint.MyPriority > Points[0].MyPriority)
                {
                    Points.Clear();
                    Points.Add(LocalPoint);
                    continue;
                }

                if (LocalPoint.MyPriority == Points[0].MyPriority)
                {
                    Points.Add(LocalPoint);
                }
            }
        }



        if (Points.Count == 0)
        {
            InVector = Vector3.zero;
            return(false);
        }

        if (Points.Count > 1)
        {
            InVector           = Points[Random.Range(0, Points.Count - 1)].MyPoint;
            LocalPoint.MyPoint = InVector;
            return(true);
        }

        InVector           = Points[0].MyPoint;
        LocalPoint.MyPoint = InVector;
        return(true);
    }