Exemplo n.º 1
0
        /// <summary>
        /// 查询
        /// </summary>
        private void DoSelect()
        {
            EasyDictionary dic = SysEnumeration.GetEnumDict("EmpAppeal");

            dic.Add("%%", "请选择...");
            PageState.Add("AppealTypeName", dic);


            //问卷角色或管理员
            CommPowerSplit Role = new CommPowerSplit();

            if (Role.IsAppealRole(UserInfo.UserID, UserInfo.LoginName))
            {
                ents = UsrAppealList.FindAll(SearchCriterion);
                this.PageState.Add("UsrAppealListList", ents);
            }
            else
            {
                StringBuilder strb = new StringBuilder();
                if (Session["CompanyId"] != null)           //判断公司登陆
                {
                    SearchCriterion.SetSearch(UsrAppealList.Prop_CompanyId, Session["CompanyId"]);
                    ents = UsrAppealList.FindAll(SearchCriterion);
                    this.PageState.Add("UsrAppealListList", ents);
                }
                else
                {
                    var UsrEnt = SysUser.Find(UserInfo.UserID);
                    SearchCriterion.SetSearch(UsrAppealList.Prop_CompanyId, UsrEnt.Pk_corp);
                    ents = UsrAppealList.FindAll(SearchCriterion);
                    this.PageState.Add("UsrAppealListList", ents);
                }
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            op   = RequestData.Get <string>("op");
            id   = RequestData.Get <string>("id");
            type = RequestData.Get <string>("type");

            switch (this.RequestAction)
            {
            case RequestActionEnum.Update:
                ent = this.GetMergedData <UsrAppealList>();
                ent.DoUpdate();
                break;

            case RequestActionEnum.Insert:
            case RequestActionEnum.Create:
                ent = this.GetPostedData <UsrAppealList>();
                ent.DoCreate();
                break;

            case RequestActionEnum.Delete:
                ent = this.GetTargetData <UsrAppealList>();
                ent.DoDelete();
                return;

            default:
                if (RequestActionString == "select")
                {
                    string UserId = RequestData.Get <string>("UserId");
                    string sql    = @"  select T1.WorkNo,T1.Name AS UserName,T3.Name,T2.GroupID from 
                        dbo.SysUser T1 left join dbo.SysUserGroup T2 on T1.UserID = T2.UserID 
                        left join dbo.SysGroup T3 on T2.GroupID = T3.GroupID where Type='2' and T1.UserID='" + UserId + "' ";
                    PageState.Add("getUserByWo", DataHelper.QueryDictList(sql));
                }
                else if (RequestActionString == "Submit")
                {
                    StartFlow();
                }
                else if (RequestActionString == "AutoExecuteFlow")
                {
                    AutoExecuteFlow();
                }
                else if (RequestActionString == "GetAcceptName")
                {
                    GetNextUsers();
                }
                else if (RequestActionString == "GetNextUsers")
                {
                    GetNextUsers();
                }
                else if (RequestActionString == "submitfinish")
                {
                    SubmitFinish();
                }
                else
                {
                    DoSelect();
                }
                break;
            }
        }
Exemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            UsrAppealList ent = null;

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

            default:
                if (RequestActionString == "batchdelete")
                {
                    DoBatchDelete();
                }
                else if (RequestActionString == "Submit")
                {
                    StartFlow();
                }
                else if (RequestActionString == "AutoExecuteFlow")
                {
                    AutoExecuteFlow();
                }
                else
                {
                    DoSelect();
                }
                break;
            }
        }
Exemplo n.º 4
0
        private void DoBatchDelete()
        {
            IList <object> idList = RequestData.GetList <object>("IdList");

            if (idList != null && idList.Count > 0)
            {
                UsrAppealList.DoBatchDelete(idList.ToArray());
            }
        }
Exemplo n.º 5
0
 private void SubmitFinish()
 {
     if (!string.IsNullOrEmpty(id))
     {
         UsrAppealList Ent = UsrAppealList.Find(id);
         Ent.WorkFlowState = "End";
         Ent.DealResult    = RequestData.Get <string>("ApproveResult"); //处理结果
         Ent.DoUpdate();
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// 查询
        /// </summary>
        private void DoSelect()
        {
            SearchCriterion.SetSearch(UsrAppealList.Prop_UserId, UserInfo.UserID);
            ents = UsrAppealList.FindAll(SearchCriterion);
            this.PageState.Add("UsrAppealListList", ents);

            EasyDictionary dic = SysEnumeration.GetEnumDict("EmpAppeal");

            dic.Add("%%", "请选择...");
            PageState.Add("AppealTypeName", dic);
        }
Exemplo n.º 7
0
        //创建流程
        private void StartFlow()
        {
            UsrAppealList Ent = null;

            if (string.IsNullOrEmpty(id))
            {
                Ent             = this.GetPostedData <UsrAppealList>();
                Ent.SubmitCount = 0;
                Ent.SubmitTime  = DateTime.Now;
                Ent.DoCreate();
            }
            else
            {
                Ent = UsrAppealList.Find(id);
            }

            string FlowKey = "EmpUsrAppeal_1";                                    //工作流key
            string UserId = RequestData.Get("UserId") + "";                       //申诉受理人
            string UserName = RequestData.Get("UserName") + "";
            string ApproveType = "";
            string submitUsrId = string.Empty, submitUsrName = string.Empty; //当前申诉人

            if (Ent.IsNoName == "1")                                         //匿名状态
            {
                submitUsrId   = UserInfo.UserID;
                submitUsrName = "匿名";
            }
            else                    //非匿名
            {
                submitUsrId   = UserInfo.UserID;
                submitUsrName = UserInfo.Name;
            }
            ApproveType = "_【" + Ent.AppealTypeName + "】";

            if (!string.IsNullOrEmpty(FlowKey))
            {
                string formUrl = "/EmpUserAppeal/UsrAppealListEdit.aspx?op=r&id=" + Ent.Id;
                Guid   guid    = Aim.WorkFlow.WorkFlow.StartWorkFlow(Ent.Id, formUrl, "员工申诉" + ApproveType, FlowKey, submitUsrId, submitUsrName);
                Ent.WorkFlowState = "Start";
                Ent.WorkFlowCode  = guid.ToString(); //InstanceId
                Ent.DoUpdate();
                this.PageState.Add("NextInfo", guid.ToString() + "$" + UserId + "|" + UserName);
            }
        }
Exemplo n.º 8
0
        //创建流程
        private void StartFlow()
        {
            string Id = RequestData.Get("id") + "";
            string UserId = string.Empty, UserName = string.Empty;           //受理人
            string submitUsrId = string.Empty, submitUsrName = string.Empty; //当前申诉人
            string FlowKey     = "EmpUsrAppeal_1";                           //工作流key
            string ApproveType = "";

            UsrAppealList Ent = UsrAppealList.Find(Id);

            if (Ent == null)
            {
                return;
            }
            if (Ent.IsNoName == "1")//匿名状态
            {
                submitUsrId   = UserInfo.UserID;
                submitUsrName = "匿名";
            }
            else                    //非匿名
            {
                submitUsrId   = UserInfo.UserID;
                submitUsrName = UserInfo.Name;
            }
            UserId      = Ent.FristAcceptUserID;
            UserName    = Ent.FristAcceptUserName;
            ApproveType = "_【" + Ent.AppealTypeName + "】";

            if (!string.IsNullOrEmpty(FlowKey))
            {
                string formUrl = "/EmpUserAppeal/UsrAppealListEdit.aspx?op=r&id=" + Id;
                Guid   guid    = Aim.WorkFlow.WorkFlow.StartWorkFlow(Id, formUrl, "员工申诉" + ApproveType, FlowKey, submitUsrId, submitUsrName);
                Ent.WorkFlowState = "Start";
                Ent.WorkFlowCode  = guid.ToString(); //InstanceId
                Ent.DoUpdate();
                this.PageState.Add("NextInfo", guid.ToString() + "$" + UserId + "|" + UserName);
            }
        }
Exemplo n.º 9
0
        //创建流程
        private void StartFlow()
        {
            string AppealId = RequestData.Get("AppealId") + "";
            //受理人
            string UserId   = RequestData.Get("UserId") + "";
            string UserName = RequestData.Get("UserName") + "";
            //当前申诉人
            string submitUsrId = string.Empty, submitUsrName = string.Empty;

            UsrAppealList Ent = UsrAppealList.Find(AppealId);

            Ent.SubmitTime = DateTime.Now;
            if (Ent.IsNoName == "1")//匿名状态
            {
                submitUsrId   = UserInfo.UserID;
                submitUsrName = "匿名";
            }
            else   //非匿名
            {
                submitUsrId   = UserInfo.UserID;
                submitUsrName = UserInfo.Name;
            }

            string FlowKey = "EmpUsrAppeal";   //工作流key

            if (!string.IsNullOrEmpty(FlowKey))
            {
                string formUrl = "/EmpUserAppeal/UsrAppealListEdit.aspx?op=r&id=" + AppealId;
                Guid   guid    = Aim.WorkFlow.WorkFlow.StartWorkFlow(AppealId, formUrl, "员工申诉", FlowKey, submitUsrId, submitUsrName);
                Ent.WorkFlowState = "Start";
                Ent.WorkFlowCode  = guid.ToString(); //InstanceId

                Ent.DoUpdate();
                this.PageState.Add("NextInfo", guid.ToString() + "$" + UserId + "|" + UserName);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// 信息初始化
        /// </summary>
        private void DoSelect()
        {
            if (op != "c" && op != "cs")
            {
                if (!String.IsNullOrEmpty(id))
                {
                    ent = UsrAppealList.Find(id);
                }

                this.SetFormData(ent);
            }
            if (op == "c" || op == "create")
            {
                //var Ent = SysUser.FindFirstByProperties("UserID", UserInfo.UserID);
                string config = @"select A.*,B.GroupID as CropId,B.Name as CropName,
                                    C.GroupID as DeptId,C.Name as DeptName
                             from FL_PortalHR..SysUser As A
	                            left join FL_PortalHR..SysGroup As B
                              on  A.Pk_corp=B.GroupID
	                            left join  FL_PortalHR..SysGroup As C
                              on A.Pk_deptdoc=C.GroupID
                            where UserID='{0}'";

                config = config.Replace("FL_PortalHR", Global.AimPortalDB);

                config = string.Format(config, UserInfo.UserID);
                DataTable dt = DataHelper.QueryDataTable(config);

                string OrgPath = dt.Rows[0]["DeptName"] + "";
                OrgPath = !string.IsNullOrEmpty(OrgPath) ? "/" + OrgPath : "";

                var Obj = new
                {
                    UserId      = dt.Rows[0]["UserID"],
                    UserName    = dt.Rows[0]["Name"],
                    Sex         = dt.Rows[0]["Sex"],
                    Age         = dt.Rows[0]["Age"],
                    WorkNo      = dt.Rows[0]["WorkNo"],
                    DeptId      = dt.Rows[0]["DeptId"],
                    DeptName    = dt.Rows[0]["DeptName"],
                    CompanyId   = dt.Rows[0]["CropId"],
                    CompanyName = dt.Rows[0]["CropName"] + OrgPath   //Change 2012/10/31
                };
                this.SetFormData(Obj);

                //if (Ent != null)
                //{
                //    var Obj = new
                //    {
                //        UserId = Ent.UserID,
                //        UserName = Ent.Name,
                //        Sex = Ent.Sex,
                //        Age = Ent.Age,
                //        WorkNo = Ent.WorkNo
                //    };
                //    this.SetFormData(Obj);
                //}
            }
            if (!string.IsNullOrEmpty(id))
            {
                string sql = @"select * from Task where PatIndex('%{0}%',EFormName)>0  and Status='4' order by FinishTime asc";
                sql = string.Format(sql, id);
                IList <EasyDictionary> taskDics = DataHelper.QueryDictList(sql);
                PageState.Add("Opinion", taskDics);
                string taskId = RequestData.Get <string>("TaskId");//取审批暂存时所填写的意见
                if (!string.IsNullOrEmpty(taskId))
                {
                    Task tEnt = Task.Find(taskId);
                    if (tEnt.Status != 4 && !string.IsNullOrEmpty(tEnt.Description))
                    {
                        PageState.Add("UnSubmitOpinion", tEnt.Description);
                    }
                }
            }
            PageState.Add("AppealTypeName", SysEnumeration.GetEnumDict("EmpAppeal"));
        }
Exemplo n.º 11
0
        /// <summary>
        /// 获取人员
        /// </summary>
        private void GetNextUsers()
        {
            string CurrentNode = RequestData.Get <string>("taskName");
            string nextName = RequestData.Get <string>("nextName");
            string UserId = string.Empty, UserName = string.Empty;
            string CorpIds = string.Empty;   //公司ID

            // according id find create user
            SysUser       UsrEnt = null;
            UsrAppealList AppEnt = UsrAppealList.TryFind(id);

            if (AppEnt != null)
            {
                UsrEnt  = SysUser.Find(AppEnt.UserId);
                CorpIds = UsrEnt.Pk_corp;
            }
            else
            {
                // 判断公司登陆
                UserContextInfo UC = new UserContextInfo();
                CorpIds = UC.GetUserCurrentCorpId(UserInfo.UserID);
                UsrEnt  = SysUser.Find(UserInfo.UserID);
            }

            string SQL = @"with GetTree
                                as
                                (
	                                select * from HR_OA_MiddleDB..fld_bmml where pk_deptdoc='{0}'
	                                union all
	                                select A.*
	                                from HR_OA_MiddleDB..fld_bmml As A 
	                                join GetTree as B 
	                                on  A.pk_deptdoc=B.pk_fathedept
                                )
	                           select deptname+',' as [text()] from getTree FOR XML PATH('') "    ;

            SQL = SQL.Replace("HR_OA_MiddleDB", Global.HR_OA_MiddleDB);
            SQL = string.Format(SQL, UsrEnt.Pk_deptdoc);
            string DeptPathStr = DataHelper.QueryValue(SQL).ToString();

            DeptPathStr = string.IsNullOrEmpty(DeptPathStr) ? "" : DeptPathStr;

            SQL = @"select top 1 *,
                    case when patindex('%'+DeptName+'%','{1}')=0  then 100
                         else  patindex('%'+DeptName+'%','{1}') 
                    end  As SortIndex 
                from FL_Culture..SysApproveConfig As A
                where A.CompanyId='{0}' and HRUsrId is not null  order by SortIndex";
            SQL = string.Format(SQL, CorpIds, DeptPathStr);

            DataTable dt = DataHelper.QueryDataTable(SQL);

            if (dt == null || dt.Rows.Count == 0)
            {
                return;
            }


            //HR专员-->HR经理(一级组织负责人)-->总部HR专员--->总部HR经理
            if (CurrentNode == "AppealUsr" && string.IsNullOrEmpty(nextName))//申诉人
            {
                if (!string.IsNullOrEmpty(id))
                {
                    var Ent = UsrAppealList.Find(id);
                    if (ent != null)
                    {
                        UserId   = Ent.UserId;
                        UserName = Ent.UserName;
                    }
                }
            }
            else if (CurrentNode == "AppealUsr" && nextName == "提交") //申诉人-->HR专员
            {
                UserId   = dt.Rows[0]["HRUsrId"].ToString();
                UserName = dt.Rows[0]["HRUserName"].ToString();
            }
            else if (CurrentNode == "AppealUsr" && nextName == "上诉") //申诉人-->总部HR专员
            {
                //需跳环节
                //                string sql = @"select * from Task where PatIndex('%{0}%',EFormName)>0  and Status='4'
                //                             and ApprovalNodeName='总部HR经理' order by FinishTime asc";
                //                sql = string.Format(sql, id);
                //                DataTable rowDt = DataHelper.QueryDataTable(sql);
                //                if (rowDt.Rows.Count > 0)                               //申诉人-->总部HR经理-->HR总监
                //                {
                //                    UserId = dt.Rows[0]["HQHRMajorId"].ToString();
                //                    UserName = dt.Rows[0]["HQHRMajorName"].ToString();
                //                }
                //                else
                //                {
                UserId   = dt.Rows[0]["HQHRUserId"].ToString();
                UserName = dt.Rows[0]["HQHRUserName"].ToString();
                // }
            }
            else if (CurrentNode == "HRUsr" && string.IsNullOrEmpty(nextName)) //申诉人-->HR专员
            {
                UserId   = dt.Rows[0]["HRUsrId"].ToString();
                UserName = dt.Rows[0]["HRUserName"].ToString();
            }
            else if (CurrentNode == "HRUsr" && nextName == "提交上一级")    //Hr专员--> HR经理
            {
                UserId   = dt.Rows[0]["HRManagerId"].ToString();
                UserName = dt.Rows[0]["HRManagerName"].ToString();
            }
            else if (CurrentNode == "HQHRUser" && nextName == "提交上一级") //总部HR专员--> 总部HR经理
            {
                UserId   = dt.Rows[0]["HQHRManagerId"].ToString();
                UserName = dt.Rows[0]["HQHRManagerName"].ToString();
            }
            else if (CurrentNode == "HQHRManager" && nextName == "提交上一级") // 总部HR经理---->总部HR总监
            {
                UserId   = dt.Rows[0]["HQHRMajorId"].ToString();
                UserName = dt.Rows[0]["HQHRMajorName"].ToString();
            }

            //else if (CurrentNode == "CompanyLeader")   //一级组织负责人
            //{
            //    UserId = dt.Rows[0]["CompanyLeaderId"].ToString();
            //    UserName = dt.Rows[0]["CompanyLeaderName"].ToString();

            PageState.Add("NextUsers", new { nextUserId = UserId, nextUserName = UserName });
        }