Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            A_ChargeProgres ent = null;

            switch (RequestActionString)
            {
            case "delete":
                ent = this.GetTargetData <A_ChargeProgres>();
                ent.DoDelete();
                break;

            case "batchdelete":
                DoBatchDelete();
                break;

            case "charge":
                A_TaskWBS[] charges = A_TaskWBS.FindAll(Expression.Eq(A_TaskWBS.Prop_ParentID, this.RequestData.Get <string>("TaskId")), Expression.Not(Expression.Eq(A_TaskWBS.Prop_State, "2")));
                if (charges.Length > 0)
                {
                    PageState.Add("Finish", "false");
                }
                else
                {
                    PageState.Add("Finish", "true");
                }
                break;

            default:
                DoSelect();
                break;
            }
        }
Пример #2
0
 /// <summary>
 /// 查询
 /// </summary>
 private void DoSelect()
 {
     if (!string.IsNullOrEmpty(this.RequestData.Get <string>("ParentId")))
     {
         ents = A_TaskWBS.FindAll(SearchCriterion, Expression.Eq(A_TaskWBS.Prop_ParentID, this.RequestData.Get <string>("ParentId")));
         this.PageState.Add("TaskParent", A_TaskWBS.Find(this.RequestData.Get <string>("ParentId")));
     }
     else
     {
         ents = A_TaskWBS.FindAll(SearchCriterion);
     }
     this.PageState.Add("A_TaskWBSList", ents);
 }
Пример #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            A_TaskWBS ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Delete:
                ent = this.GetTargetData <A_TaskWBS>();
                ent.Delete();
                this.SetMessage("删除成功!");
                break;

            default:
                if (RequestActionString == "batchdelete")
                {
                    IList <object> idList = RequestData.GetList <object>("IdList");

                    if (idList != null && idList.Count > 0)
                    {
                        A_TaskWBS.DoBatchDelete(idList.ToArray());
                    }
                }
                else
                {
                    SearchCriterion.SetSearch("DutyId", this.UserInfo.UserID);
                    SearchCriterion.SetOrder("SubmitDate", false);
                    string dateFlag = this.RequestData["Date"] == null ? "180" : this.RequestData["Date"].ToString();
                    switch (dateFlag)
                    {
                    case "3":
                        SearchCriterion.SetSearch("SubmitDate", DateTime.Now.AddDays(-3), SearchModeEnum.GreaterThanEqual);
                        break;

                    case "7":
                        SearchCriterion.SetSearch("SubmitDate", DateTime.Now.AddDays(-7), SearchModeEnum.GreaterThanEqual);
                        break;

                    case "14":
                        SearchCriterion.SetSearch("SubmitDate", DateTime.Now.AddDays(-14), SearchModeEnum.GreaterThanEqual);
                        break;

                    case "30":
                        SearchCriterion.SetSearch("SubmitDate", DateTime.Now.AddMonths(-1), SearchModeEnum.GreaterThanEqual);
                        break;

                    case "31":
                        SearchCriterion.SetSearch("SubmitDate", DateTime.Now.AddMonths(-1), SearchModeEnum.LessThanEqual);
                        break;

                    case "180":
                        SearchCriterion.SetSearch("SubmitDate", DateTime.Now.AddMonths(3), SearchModeEnum.LessThanEqual);
                        break;
                    }
                    if (this.RequestData.Get <string>("Status") == "0")
                    {
                        ents = A_TaskWBS.FindAll(SearchCriterion, Expression.IsNull("Tag"));
                    }
                    else
                    {
                        ents = A_TaskWBS.FindAll(SearchCriterion, Expression.IsNotNull("Tag"));
                    }
                    this.PageState.Add("SysWorkFlowTaskList", ents);
                }
                break;
            }
        }
Пример #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            A_TaskWBS ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Delete:
                ent = this.GetTargetData <A_TaskWBS>();
                ent.Delete();
                this.SetMessage("删除成功!");
                break;

            default:
                if (RequestActionString == "batchdelete")
                {
                    IList <object> idList = RequestData.GetList <object>("IdList");

                    if (idList != null && idList.Count > 0)
                    {
                        A_TaskWBS.DoBatchDelete(idList.ToArray());
                    }
                }
                else if (RequestActionString == "batchsubmit")
                {
                    IList <object> idList = RequestData.GetList <object>("IdList");

                    if (idList != null && idList.Count > 0)
                    {
                        A_TaskWBS[] tents = A_TaskWBS.FindAll(Expression.In("Id", idList.ToArray()));
                        foreach (A_TaskWBS tent in tents)
                        {
                            tent.State = "2";
                            tent.Save();
                        }
                    }
                }
                else if (RequestActionString == "batchback")
                {
                    IList <object> idList = RequestData.GetList <object>("IdList");

                    if (idList != null && idList.Count > 0)
                    {
                        A_TaskWBS[] tents = A_TaskWBS.FindAll(Expression.In("Id", idList.ToArray()));
                        foreach (A_TaskWBS tent in tents)
                        {
                            tent.State = "1";
                            tent.Save();
                        }
                    }
                }
                else
                {
                    if (SearchCriterion.Orders.Count == 0)
                    {
                        SearchCriterion.Orders.Add(new OrderCriterionItem("PlanEndDate", true));
                    }
                    string dateFlag = this.RequestData["Date"] == null ? "365" : this.RequestData["Date"].ToString();
                    switch (dateFlag)
                    {
                    case "3":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddDays(3), SearchModeEnum.LessThanEqual);
                        break;

                    case "7":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddDays(7), SearchModeEnum.LessThanEqual);
                        break;

                    case "14":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddDays(14), SearchModeEnum.LessThanEqual);
                        break;

                    case "30":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddMonths(1), SearchModeEnum.LessThanEqual);
                        break;

                    case "31":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddMonths(1), SearchModeEnum.LessThanEqual);
                        break;

                    case "180":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddMonths(3), SearchModeEnum.LessThanEqual);
                        break;

                    case "365":
                        SearchCriterion.SetSearch("PlanEndDate", DateTime.Now.AddYears(1), SearchModeEnum.LessThanEqual);
                        break;
                    }
                    if (this.RequestData.Get <string>("Status") == "2")
                    {
                        ents = A_TaskWBS.FindAll(SearchCriterion, Expression.Sql(" ParentId in (select Id from " + db + "..A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%' )  and State='2'"));
                    }
                    else
                    {
                        ents = A_TaskWBS.FindAll(SearchCriterion, Expression.Sql(" ParentId in (select Id from " + db + "..A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%' ) and State='1.5'"), Expression.IsNotNull("ParentID"));
                    }
                    this.PageState.Add("SysWorkFlowTaskList", ents);
                }
                break;
            }
        }
Пример #5
0
        /// <summary>
        /// 选择数据
        /// </summary>
        private void DoSelect()
        {
            // 构建查询表达式
            SearchCriterion sc = new HqlSearchCriterion();

            sc.SetOrder("SortIndex");

            ICriterion crit = null;

            if (RequestActionString == "querychildren")
            {
                if (ids != null && ids.Count > 0 || pids != null && pids.Count > 0)
                {
                    if (ids != null && ids.Count > 0)
                    {
                        IEnumerable <string> distids = ids.Distinct().Where(tent => !String.IsNullOrEmpty(tent));
                        crit = Expression.In(A_TaskWBS.Prop_Id, distids.ToArray());
                    }

                    if (pids != null && pids.Count > 0)
                    {
                        IEnumerable <string> dispids = pids.Distinct().Where(tent => !String.IsNullOrEmpty(tent));

                        if (crit != null)
                        {
                            crit = SearchHelper.UnionCriterions(crit, Expression.In(A_TaskWBS.Prop_ParentID, dispids.ToArray()));
                        }
                        else
                        {
                            crit = Expression.In(A_TaskWBS.Prop_ParentID, dispids.ToArray());
                            string pid = dispids.ToArray()[0];
                            if (pid == "1437f360-6937-409b-9548-964661e6c27c")
                            {
                                string test = pid;
                            }
                            //不是自己责任人的只能看到属于自己的(暂时屏蔽掉,有权限看到自己的子节点)

                            /*if (A_TaskWBS.Find(pid).DutyId.IndexOf(this.UserInfo.UserID) < 0)
                             * {
                             *  //判断是否父节点有权限,有全部输出
                             *  //A_TaskWBS tp = A_TaskWBS.Find(pid);
                             *  string sqlall = " select Id,Path from " + db + "..A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%'";
                             *  DataTable dtall = DataHelper.QueryDataTable(sqlall);
                             *  string checksql = "select Id from " + db + "..A_TaskWBS where ParentId='" + pid + "' and ";
                             *  string rules = "";
                             *  foreach (DataRow row in dtall.Rows)
                             *  {
                             *      if (row["Path"] != null && row["Path"].ToString() != "")
                             *          rules += "  Path like '%" + row["Path"] + "%' or";
                             *  }
                             *  if (rules != "") rules = rules.Substring(0, rules.Length - 2);
                             *  if (DataHelper.QueryDataTable(checksql + "(" + rules + ")").Rows.Count == 0)
                             *  {
                             *      //判断有权限的子节点梯队
                             *      string sqlIds = " select Id,Path from " + db + "..A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%' and Path like '%" + pid + "%'";
                             *      DataTable dt = DataHelper.QueryDataTable(sqlIds);
                             *      string cids = "";
                             *      string cpids = "";
                             *      foreach (DataRow row in dt.Rows)
                             *      {
                             *          cids += row["Path"].ToString() + '.';
                             *          cpids += " or Path like '%" + row["Path"].ToString() + "%'";
                             *      }
                             *      cids = cids.TrimEnd('.').Replace(".", "','");
                             *      crit = Expression.Sql(" ParentID = '" + pid + "' and  ( Id in ('" + cids + "') " + cpids + " )");//SearchHelper.IntersectCriterions(crit);
                             *
                             *  }
                             * }*/
                        }
                    }
                }
            }
            else
            {
                if (!String.IsNullOrEmpty(year))
                {
                    crit = Expression.Eq(A_TaskWBS.Prop_Year, year);

                    /*EasyDictionary es = SysEnumeration.GetEnumDict("AimType");
                     * foreach (var at in es)
                     * {
                     *  if (!this.RequestData.Get<bool>(at.Value.ToString()))
                     *  {
                     *      crit = SearchHelper.IntersectCriterions(crit, Expression.Not(Expression.Eq(A_TaskWBS.Prop_TaskType, at.Value)));
                     *  }
                     * }*/
                }
                if (this.Request.QueryString["Type"] != null && this.Request.QueryString["Type"].ToString() != "")
                {
                    crit = SearchHelper.UnionCriterions(Expression.IsNull(A_TaskWBS.Prop_ParentID),
                                                        Expression.Eq(A_TaskWBS.Prop_ParentID, String.Empty));
                    //crit = SearchHelper.IntersectCriterions(crit,Expression.Eq(A_TaskWBS.Prop_Type, this.Request.QueryString["Type"].ToString()));
                }
                else
                {
                    /*crit = SearchHelper.UnionCriterions(Expression.IsNull(A_TaskWBS.Prop_ParentID),
                     *  Expression.Eq(A_TaskWBS.Prop_ParentID, String.Empty));
                     * //crit = Expression.Like(A_TaskWBS.Prop_DutyId, this.UserInfo.UserID);*/
                    //先屏蔽掉一进来自己只能看到自己的限制,根据权限过滤查询.
                    //crit = SearchHelper.IntersectCriterions(crit, Expression.Sql(" Id in (select distinct SUBSTRING(isnull(Path,Id),0,37) from A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%')"));
                }
                crit = CheckProperty(crit);
            }

            if (crit != null)
            {
                ents = A_TaskWBS.FindAll(sc, crit);
            }
            else
            {
                ents = A_TaskWBS.FindAll(sc);
            }

            if (ents != null && ents.Length != 0)
            {
                this.PageState.Add("DtList", ents.OrderBy(en => en.Code));
            }
        }
        string type = String.Empty; // 对象类型

        #endregion

        #region ASP.NET 事件

        protected void Page_Load(object sender, EventArgs e)
        {
            op   = RequestData.Get <string>("op");
            id   = RequestData.Get <string>("id");
            type = RequestData.Get <string>("type");

            A_ChargeProgres ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Update:
                ent = this.GetMergedData <A_ChargeProgres>();
                ent.DoUpdate();
                A_TaskWBS tb = A_TaskWBS.Find(ent.TaskId);
                tb.TaskProgress = float.Parse(ent.Progress);

                /*if (int.Parse(tb.TaskProgress.ToString()).Equals(100))
                 * {
                 *  tb.State = "2";
                 *  tb.FactEndDate = ent.CreateTime;
                 * }
                 * else
                 *  tb.State = "1";*/
                tb.Save();
                CalculateRates(tb);
                this.SetMessage("修改成功!");
                break;

            case RequestActionEnum.Insert:
            case RequestActionEnum.Create:
                ent            = this.GetPostedData <A_ChargeProgres>();
                ent.CreateId   = this.UserInfo.UserID;
                ent.CreateName = this.UserInfo.Name;
                ent.CreateTime = DateTime.Now;
                ent.DoCreate();
                A_TaskWBS tb1 = A_TaskWBS.Find(ent.TaskId);
                tb1.TaskProgress = float.Parse(ent.Progress);

                /*if (int.Parse(tb1.TaskProgress.ToString()).Equals(100))
                 * {
                 *  tb1.State = "2";
                 *  tb1.FactEndDate = ent.CreateTime;
                 * }
                 * else
                 *  tb1.State = "1";*/
                tb1.Save();
                CalculateRates(tb1);
                this.SetMessage("新建成功!");
                break;

            case RequestActionEnum.Delete:
                ent = this.GetTargetData <A_ChargeProgres>();
                ent.DoDelete();
                this.SetMessage("删除成功!");
                return;

            default:
                if (RequestActionString == "charge")
                {
                    A_TaskWBS[] charges = A_TaskWBS.FindAll(Expression.Eq(A_TaskWBS.Prop_ParentID, this.RequestData.Get <string>("TaskId")), Expression.Not(Expression.Eq(A_TaskWBS.Prop_State, "2")));
                    if (charges.Length > 0)
                    {
                        this.PageState.Add("Finish", "false");
                    }
                    else
                    {
                        this.PageState.Add("Finish", "true");
                    }
                }
                break;
            }

            if (op != "c" && op != "cs")
            {
                if (!String.IsNullOrEmpty(id))
                {
                    ent = A_ChargeProgres.Find(id);
                }

                this.SetFormData(ent);
            }
            else
            {
                this.PageState.Add("TaskModel", A_TaskWBS.Find(this.RequestData.Get <string>("TaskId")));
            }
        }
Пример #7
0
        private void DoSelect()
        {
            SearchCriterion sc = new HqlSearchCriterion(); // 构建查询表达式

            sc.SetOrder("SortIndex");
            sc.SetOrder("Code");
            ICriterion crit = null;

            if (RequestActionString == "querychildren")
            {
                if (ids != null && ids.Count > 0 || pids != null && pids.Count > 0)
                {
                    if (ids != null && ids.Count > 0)
                    {
                        IEnumerable <string> distids = ids.Distinct().Where(tent => !String.IsNullOrEmpty(tent));
                        crit = Expression.In(A_TaskWBS.Prop_Id, distids.ToArray());
                    }
                    if (pids != null && pids.Count > 0)
                    {
                        IEnumerable <string> dispids = pids.Distinct().Where(tent => !String.IsNullOrEmpty(tent));

                        if (crit != null)
                        {
                            crit = SearchHelper.UnionCriterions(crit, Expression.In(A_TaskWBS.Prop_ParentID, dispids.ToArray()));
                        }
                        else
                        {
                            crit = Expression.In(A_TaskWBS.Prop_ParentID, dispids.ToArray());
                            string pid = dispids.ToArray()[0];
                            if (pid == "1437f360-6937-409b-9548-964661e6c27c")
                            {
                                string test = pid;
                            }
                            //不是自己责任人的只能看到属于自己的(暂时屏蔽掉,有权限看到自己的子节点)

                            /*if (A_TaskWBS.Find(pid).DutyId.IndexOf(this.UserInfo.UserID) < 0)
                             * {
                             *  //判断是否父节点有权限,有全部输出
                             *  //A_TaskWBS tp = A_TaskWBS.Find(pid);
                             *  string sqlall = " select Id,Path from " + db + "..A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%'";
                             *  DataTable dtall = DataHelper.QueryDataTable(sqlall);
                             *  string checksql = "select Id from " + db + "..A_TaskWBS where ParentId='" + pid + "' and ";
                             *  string rules = "";
                             *  foreach (DataRow row in dtall.Rows)
                             *  {
                             *      if (row["Path"] != null && row["Path"].ToString() != "")
                             *          rules += "  Path like '%" + row["Path"] + "%' or";
                             *  }
                             *  if (rules != "") rules = rules.Substring(0, rules.Length - 2);
                             *  if (DataHelper.QueryDataTable(checksql + "(" + rules + ")").Rows.Count == 0)
                             *  {
                             *      //判断有权限的子节点梯队
                             *      string sqlIds = " select Id,Path from " + db + "..A_TaskWBS where DutyId like '%" + this.UserInfo.UserID + "%' and Path like '%" + pid + "%'";
                             *      DataTable dt = DataHelper.QueryDataTable(sqlIds);
                             *      string cids = "";
                             *      string cpids = "";
                             *      foreach (DataRow row in dt.Rows)
                             *      {
                             *          cids += row["Path"].ToString() + '.';
                             *          cpids += " or Path like '%" + row["Path"].ToString() + "%'";
                             *      }
                             *      cids = cids.TrimEnd('.').Replace(".", "','");
                             *      crit = Expression.Sql(" ParentID = '" + pid + "' and  ( Id in ('" + cids + "') " + cpids + " )");//SearchHelper.IntersectCriterions(crit);
                             *
                             *  }
                             * }*/
                        }
                    }
                }
            }
            else
            {
                crit = Expression.Eq(A_TaskWBS.Prop_Year, year);
                if (this.Request.QueryString["Type"] != null && this.Request.QueryString["Type"].ToString() != "")
                {
                    crit = SearchHelper.UnionCriterions(Expression.IsNull(A_TaskWBS.Prop_ParentID), Expression.Eq(A_TaskWBS.Prop_ParentID, String.Empty));
                }
                else
                {
                    string sqlC = " Id in (select distinct SUBSTRING(isnull(Path,Id),0,37) from BJKY_IntegratedManage..A_TaskWBS where ((DutyId like '%{0}%' or UserIds like '%{0}%') and State='1') or CreateId='{0}')";
                    sqlC = string.Format(sqlC, UserInfo.UserID);
                    crit = SearchHelper.IntersectCriterions(crit, Expression.Sql(sqlC));
                }
            }
            if (crit != null)
            {
                ents = A_TaskWBS.FindAll(sc, SearchHelper.IntersectCriterions(crit, Expression.Eq(A_TaskWBS.Prop_Year, year)));
            }
            else
            {
                ents = A_TaskWBS.FindAll(sc);
            }
            if (ents != null && ents.Length != 0)
            {
                this.PageState.Add("DtList", ents);
            }
        }