//创建流程
        private void StartFlow()
        {
            if (op == "c" || op == "create")
            {
                ent           = this.GetPostedData <UsrTravelWelfare>();
                ent.ApplyTime = DateTime.Now;
                ent.DoCreate();
                id = ent.Id;
            }
            else
            {
                ent = UsrTravelWelfare.Find(id);
            }

            //受理人
            string UserId   = ent.ApproveUserId;
            string UserName = ent.ApproveName;

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

            if (!string.IsNullOrEmpty(FlowKey))
            {
                string formUrl = "/EmpWelfare/UsrTravelWelfareEdit.aspx?op=r&id=" + id;
                Guid   guid    = Aim.WorkFlow.WorkFlow.StartWorkFlow(id, formUrl, "员工旅游申请", FlowKey, UserInfo.UserID, UserInfo.Name);
                ent.WorkFlowState = "Start";
                ent.WorkFLowCode  = guid.ToString(); //InstanceId
                ent.DoUpdate();
                this.PageState.Add("NextInfo", guid.ToString() + "$" + UserId + "|" + UserName);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            switch (this.RequestAction)
            {
            case RequestActionEnum.Delete:
                ent = this.GetTargetData <UsrTravelWelfare>();
                ent.DoDelete();
                this.SetMessage("删除成功!");
                break;

            default:
                if (RequestActionString == "batchdelete")
                {
                    DoBatchDelete();
                }
                else if (RequestActionString == "CheckApply")
                {
                    CKSubmit();
                }
                else if (RequestActionString == "Submit")
                {
                    DoSubmitApply();
                }
                else if (RequestActionString == "AutoExecuteFlow")
                {
                    AutoExecuteFlow();
                }
                else
                {
                    DoSelect();
                }
                break;
            }
        }
        /// <summary>
        /// 家属信息
        /// </summary>
        private void SaveEveryForm(IList <string> entStrList, UsrTravelWelfare Ent)
        {
            if (entStrList != null && entStrList.Count > 0)
            {
                UsrTravelInfo.DoBatchDelete(entStrList.ToArray());
                IList <UsrTravelInfo> triEnts = entStrList.Select(tent => JsonHelper.GetObject <UsrTravelInfo>(tent) as UsrTravelInfo).ToList();

                foreach (UsrTravelInfo triEnt in triEnts)
                {
                    if (string.IsNullOrEmpty(triEnt.Id))
                    {
                        triEnt.WelfareTravelId = Ent.Id;
                        triEnt.DoCreate();
                    }
                    else
                    {
                        triEnt.DoUpdate();
                    }
                }
                if (Ent.NeedMoney > 0)
                {
                    try
                    {
                        Ent.XLMoney = Ent.NeedMoney * (triEnts.Count + 1); //包括家属在内的旅游费用
                        Ent.DoUpdate();
                    }
                    catch { }
                }
            }
            else
            {
                string sql = "delete FL_Culture..UsrTravelInfo where WelfareTravelId='" + Ent.Id + "'";
                DataHelper.ExecSql(sql);
            }
        }
Exemplo n.º 4
0
        private void DoBatchDelete()
        {
            IList <object> idList = RequestData.GetList <object>("IdList");

            if (idList != null && idList.Count > 0)
            {
                UsrTravelWelfare.DoBatchDelete(idList.ToArray());
            }
        }
 /// <summary>
 /// 审批完成
 /// </summary>
 private void SubmitFinish()
 {
     if (!string.IsNullOrEmpty(id))
     {
         UsrTravelWelfare Ent = UsrTravelWelfare.Find(id);
         Ent.WorkFlowState = "End";
         Ent.Result        = RequestData.Get <string>("ApproveResult"); //处理结果
         Ent.DoUpdate();
     }
 }
 private void DoUpdate()
 {
     ent            = this.GetMergedData <UsrTravelWelfare>();
     ent.NoticeId   = RequestData.Get <string>("noticeid");
     ent.TravelAddr = RequestData.Get("TravelAddr") + "";
     ent.TravelTime = RequestData.Get("TravelTime") + "";
     ent.Ext1       = RequestData.Get("Ext1") + "";
     SaveEveryForm(RequestData.GetList <string>("data"), ent);
     ent.DoUpdate();
 }
        //提交申诉
        private void DoSubmitApply()
        {
            string Id  = RequestData.Get("Id") + "";
            var    Ent = UsrTravelWelfare.TryFind(Id);

            if (Ent != null)
            {
                Ent.WorkFlowState = "1"; //提交申诉
                Ent.DoUpdate();
                this.PageState.Add("State", "1");
            }
        }
        //审批处理
        private void doAppSubmit()
        {
            string           State  = RequestData.Get("State") + "";
            string           Advise = RequestData.Get("Advise") + "";
            UsrTravelWelfare Ent    = UsrTravelWelfare.TryFind(id);

            if (Ent != null)
            {
                Ent.WorkFlowState = State;
                Ent.Result        = Advise;
                Ent.DoUpdate();
            }
        }
        private void DoBatchDelete()
        {
            IList <object> idList = RequestData.GetList <object>("IdList");

            if (idList != null && idList.Count > 0)
            {
                UsrTravelWelfare.DoBatchDelete(idList.ToArray());
                foreach (var v in idList.ToArray())
                {
                    string sql = " delete from FL_Culture..UsrTravelInfo where WelfareTravelId='" + v + "'";
                    DataHelper.ExecSql(sql);
                }
            }
        }
        //获取下一节点人
        private void GetNextUsers()
        {
            //  taskName id   nextUserName
            string id       = this.RequestData.Get("id") + "";
            string taskName = this.RequestData.Get("taskName") + "";
            string nextName = this.RequestData.Get("nextName") + "";

            if (!string.IsNullOrEmpty(id))
            {
                var Ent = UsrTravelWelfare.Find(id);
                if (nextName == "审批人")
                {
                    this.PageState.Add("NextUsers", new { nextUserId = Ent.ApproveUserId, nextUserName = Ent.ApproveName });
                }
            }
        }
        private void DoCreate()
        {
            ent               = this.GetPostedData <UsrTravelWelfare>();
            ent.ApplyTime     = DateTime.Now;
            ent.NoticeId      = RequestData.Get <string>("noticeid");
            ent.TravelAddr    = RequestData.Get("TravelAddr") + "";
            ent.TravelTime    = RequestData.Get("TravelTime") + "";
            ent.Ext1          = RequestData.Get("Ext1") + "";
            ent.CreateId      = UserInfo.UserID;
            ent.CreateName    = UserInfo.LoginName;
            ent.CreateTime    = DateTime.Now;
            ent.WorkFlowState = "1";    //标识 0未提交状态 1已申报

            ent.DoCreate();
            SaveEveryForm(RequestData.GetList <string>("data"), ent);
        }
Exemplo n.º 12
0
        /// <summary>
        /// 查询
        /// </summary>
        private void DoSelect()
        {
            string CorpId = string.Empty;

            string where = string.Empty;
            var UsrEnt = SysUser.Find(UserInfo.UserID);

            CommPowerSplit ps = new CommPowerSplit();

            if (ps.IsNoticeRole(UserInfo.UserID, UserInfo.LoginName))
            {
                where += " (WorkFlowState='1' or WorkFlowState='2' or WorkFlowState='-1') ";
                if (!string.IsNullOrEmpty(SearchCriterion.GetSearchValue("Year") + ""))
                {
                    where += "  and  year(ApplyTime)= " + SearchCriterion.GetSearchValue("Year") + " ";
                }
                SearchCriterion.RemoveSearch("Year");
                ents = UsrTravelWelfare.FindAll(SearchCriterion, Expression.Sql(where));
                this.PageState.Add("UsrTravelWelfareList", ents);
            }
            else
            {
                // 判断公司登陆
                UserContextInfo UC = new UserContextInfo();
                CorpId = UC.GetUserCurrentCorpId(UserInfo.UserID);

                //SearchCriterion.AddSearch("CompanyId", CorpId);
                where += " (WorkFlowState='1' or WorkFlowState='2' or WorkFlowState='-1') " + AppealUsrAuth();
                if (!string.IsNullOrEmpty(SearchCriterion.GetSearchValue("Year") + ""))
                {
                    where += "  and  year(ApplyTime)= " + SearchCriterion.GetSearchValue("Year") + " ";
                }
                SearchCriterion.RemoveSearch("Year");
                SearchCriterion.SetOrder("CompanyId", true);
                ents = UsrTravelWelfare.FindAll(SearchCriterion, Expression.Sql(where));
                this.PageState.Add("UsrTravelWelfareList", ents);
            }
        }
        private void StartFlow()
        {
            string id = RequestData.Get("Id") + "";

            if (!string.IsNullOrEmpty(id))
            {
                ent = UsrTravelWelfare.Find(id);
            }
            //受理人
            string UserId   = ent.ApproveUserId;
            string UserName = ent.ApproveName;

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

            if (!string.IsNullOrEmpty(FlowKey))
            {
                string formUrl = "/EmpWelfare/UsrTravelWelfareEdit.aspx?op=r&id=" + id;
                Guid   guid    = Aim.WorkFlow.WorkFlow.StartWorkFlow(id, formUrl, "员工旅游申请", FlowKey, UserInfo.UserID, UserInfo.Name);
                ent.WorkFlowState = "Start";
                ent.WorkFLowCode  = guid.ToString(); //InstanceId WorkFlowCode WorkFLowCode
                ent.DoUpdate();
                this.PageState.Add("NextInfo", guid.ToString() + "$" + UserId + "|" + UserName);
            }
        }
Exemplo n.º 14
0
        private void AnalysUser(DataTable Dt)
        {
            //判断文件是否为模板格式
            if (Dt.Columns.Count != 11 && Dt.Columns[0].ColumnName != "姓名")
            {
                throw new Exception("文件内容格式不符合模板定义的格式!");
            }

            string guid = string.Empty; //guid

            for (int i = 0; i < Dt.Rows.Count; i++)
            {
                SysUser UserEnt = null; //

                try
                {
                    if (!string.IsNullOrEmpty(Dt.Rows[i]["姓名"] + ""))
                    {
                        UsrTravelWelfare UW = new UsrTravelWelfare();
                        UW.DoCreate();

                        //guid = Guid.NewGuid().ToString();                  //guid
                        guid    = UW.Id;                                     //guid
                        UserEnt = SysUser.FindFirstByProperties(SysUser.Prop_WorkNo, Dt.Rows[i]["工号"]);

                        UW.Id     = guid;
                        UW.UserId = UserEnt.UserID;
                        UW.WorkNo = UserEnt.WorkNo;
                        if (UserEnt.Name != Dt.Rows[i]["姓名"] + "")
                        {
                            UW.UserName = Dt.Rows[i]["姓名"] + "/[" + UserEnt.Name + "]";
                        }
                        else
                        {
                            UW.UserName = UserEnt.Name;
                        }
                        UW.Sex           = UserEnt.Sex;
                        UW.ImpState      = "1";          //导入状态 1成功
                        UW.WorkFlowState = "2";          //标识 同意
                        UW.Result        = "同意";
                        UW.ApplyTime     = DateTime.Now; //申请日期

                        //公司
                        SysGroup GroupEnt = SysGroup.TryFind(UserEnt.Pk_corp);
                        if (GroupEnt != null)
                        {
                            UW.CompanyName = Dt.Rows[i]["公司"] + "";
                            UW.CompanyId   = GroupEnt.GroupID; //通过工号 强制关联公司和部门
                        }
                        //部门
                        GroupEnt = SysGroup.TryFind(UserEnt.Pk_deptdoc);
                        if (GroupEnt != null)
                        {
                            UW.DeptId   = GroupEnt.GroupID;
                            UW.DeptName = Dt.Rows[i]["部门"] + "";
                        }

                        UW.TravelAddr  = Dt.Rows[i]["旅游地点"] + "";        //旅游地点
                        UW.TravelTime  = Dt.Rows[i]["出行时间"] + "";        //出行时间
                        UW.TravelMoney = (decimal)GetMoney(UserEnt, ""); //旅游金额

                        //入职日期
                        if (!string.IsNullOrEmpty(UserEnt.Indutydate))
                        {
                            UW.IndutyDate = DateTime.Parse(UserEnt.Indutydate);
                        }

                        //员工类型 正式员工,实习生
                        string WorkerType = DataHelper.QueryValue("select psnclassname from HR_OA_MiddleDB..fld_rylb where pk_fld_rylb='" + UserEnt.Pk_rylb + "'") + "";
                        UW.WorkerType = WorkerType;

                        //HaveFamily Y
                        if (!string.IsNullOrEmpty(Dt.Rows[i]["家属姓名"] + ""))
                        {
                            UW.HaveFamily = "Y";
                            UsrTravelInfo UT = new UsrTravelInfo();

                            //家属姓名
                            if (!string.IsNullOrEmpty(Dt.Rows[i]["家属姓名"] + ""))
                            {
                                UT.Name            = Dt.Rows[i]["家属姓名"] + "";
                                UT.WelfareTravelId = guid;     //* 关联的主键ID
                                UT.CreateTime      = DateTime.Now;
                            }
                            //家属年龄
                            int age = 0;
                            if (int.TryParse(Dt.Rows[i]["家属年龄"] + "", out age))
                            {
                                UT.Age = age;
                                if (age <= 13)  //14 岁为标志
                                {
                                    UT.IsChild = "是";
                                }
                            }

                            //家属性别
                            if (!string.IsNullOrEmpty(Dt.Rows[i]["家属性别"] + ""))
                            {
                                UT.Sex = Dt.Rows[i]["家属性别"] + "";
                            }

                            //家属身高
                            if (!string.IsNullOrEmpty(Dt.Rows[i]["家属身高"] + ""))
                            {
                                Decimal dlb = 0;
                                if (Decimal.TryParse(Dt.Rows[i]["家属身高"] + "", out dlb))
                                {
                                    UT.Height = dlb;
                                }
                            }
                            UT.DoCreate();  //创建家属记录
                        }
                        //计算金额
                        UW.CreateId   = UserInfo.UserID;
                        UW.CreateName = UserInfo.Name;
                        UW.CreateTime = DateTime.Now;
                        UW.DoUpdate();
                    }
                    else
                    {  //家属信息
                        UsrTravelInfo UT = null;
                        if (!string.IsNullOrEmpty(Dt.Rows[i]["家属姓名"] + ""))
                        {
                            UT = new UsrTravelInfo();

                            //家属姓名
                            if (!string.IsNullOrEmpty(Dt.Rows[i]["家属姓名"] + ""))
                            {
                                UT.Name            = Dt.Rows[i]["家属姓名"] + "";
                                UT.WelfareTravelId = guid;     //* 关联的主键ID
                                UT.CreateTime      = DateTime.Now;
                            }
                            //家属年龄
                            int age = 0;
                            if (int.TryParse(Dt.Rows[i]["家属年龄"] + "", out age))
                            {
                                UT.Age = age;
                                if (age <= 13)  //14 岁为标志
                                {
                                    UT.IsChild = "是";
                                }
                            }

                            //家属性别
                            if (!string.IsNullOrEmpty(Dt.Rows[i]["家属性别"] + ""))
                            {
                                UT.Sex = Dt.Rows[i]["家属性别"] + "";
                            }

                            //家属身高
                            if (!string.IsNullOrEmpty(Dt.Rows[i]["家属身高"] + ""))
                            {
                                Decimal dlb = 0;
                                if (Decimal.TryParse(Dt.Rows[i]["家属身高"] + "", out dlb))
                                {
                                    UT.Height = dlb;
                                }
                            }
                            UT.DoCreate();  //创建家属记录
                        }
                    }
                }
                catch
                {
                    UsrTravelWelfare UW = new UsrTravelWelfare();
                    UW.ImpState      = "0";         //无该人员或异常
                    UW.WorkFlowState = "Exception"; //异常标识

                    UW.UserName    = Dt.Rows[i]["姓名"] + " [异常]";
                    UW.WorkNo      = Dt.Rows[i]["工号"] + "";
                    UW.CompanyName = Dt.Rows[i]["公司"] + "";
                    UW.DeptName    = Dt.Rows[i]["部门"] + "";
                    UW.TravelAddr  = Dt.Rows[i]["旅游地点"] + "";
                    UW.TravelTime  = Dt.Rows[i]["出行时间"] + "";
                    UW.OtherName   = Dt.Rows[i]["家属姓名"] + " [异常]";
                    UW.CreateTime  = DateTime.Now;
                    UW.DoCreate();
                }
            }
        }
 /// <summary>
 /// 查询
 /// </summary>
 private void DoSelect()
 {
     SearchCriterion.AddSearch("UserId", UserInfo.UserID);
     ents = UsrTravelWelfare.FindAll(SearchCriterion);
     this.PageState.Add("UsrTravelWelfareList", ents);
 }
        private void DoSelect()
        {
            string CorpId        = string.Empty;
            string DeptId        = string.Empty;
            string ApproveName   = string.Empty;
            string ApproveUserId = string.Empty;

            if (Session["CompanyId"] != null)
            {
                CorpId = Session["CompanyId"] + "";
            }
            else
            {
                CorpId = UserEnt.Pk_corp;
            }

            DeptId = UserEnt.Pk_deptdoc;

            GetAddrEnum(CorpId, DeptId);   //获取地址枚举

            if (op == "c" || op == "create")
            {
                //corp
                SysGroup Gp          = SysGroup.TryFind(CorpId);
                string   CompanyName = Gp == null ? "" : Gp.Name;

                string DeptName = string.Empty;
                if (UserEnt.Pk_corp != CorpId)
                {
                    DeptName = "";
                }
                else if (UserEnt.Pk_corp == CorpId)
                {
                    SysGroup GpEnt = SysGroup.FindFirstByProperties(SysGroup.Prop_GroupID, UserEnt.Pk_deptdoc);
                    DeptName = "/" + GpEnt.Name;
                }


                //查找到部门配置
                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, UserEnt.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 TravelWelfareId is not null  order by SortIndex";
                SQL = string.Format(SQL, CorpId, DeptPathStr);
                DataTable Dt = DataHelper.QueryDataTable(SQL);

                if (Dt.Rows.Count > 0)
                {
                    ApproveName   = Dt.Rows[0]["TravelWelfareName"] + "";
                    ApproveUserId = Dt.Rows[0]["TravelWelfareId"] + "";
                }

                var Obj = new
                {
                    UserId   = UserEnt.UserID,
                    UserName = UserEnt.Name,
                    Sex      = UserEnt.Sex,
                    //Age = Ent.Age,
                    WorkNo = UserEnt.WorkNo,
                    //IndutyData = Ent.IndutyData,
                    CompanyName   = CompanyName + DeptName,
                    CompanyId     = CorpId,
                    DeptId        = DeptId,
                    DeptName      = DeptName,
                    ApproveName   = "",
                    ApproveUserId = "",
                };
                this.SetFormData(Obj);
            }

            if (op != "c" && op != "cs")
            {
                if (!String.IsNullOrEmpty(id))
                {
                    ent = UsrTravelWelfare.Find(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);
                        }
                    }
                }
                this.SetFormData(ent);
                string sql = "select * from FL_Culture..UsrTravelInfo  where WelfareTravelId='{0}' order by CreateTime";
                sql = string.Format(sql, id);
                this.PageState.Add("datalist", DataHelper.QueryDictList(sql));
            }
        }