protected void Page_Load(object sender, EventArgs e) { UseWelfareNote ent = null; switch (this.RequestAction) { case RequestActionEnum.Delete: ent = this.GetTargetData <UseWelfareNote>(); ent.DoDelete(); break; default: if (RequestActionString == "batchdelete") { DoBatchDelete(); } else if (RequestActionString == "Publish") { DoPublish(); } else if (RequestActionString == "Undo") { Undo(); } else if (RequestActionString == "GetApprove") { GetApproveUser(); } else { DoSelect(); } break; } }
private void DoBatchDelete() { IList <object> idList = RequestData.GetList <object>("IdList"); if (idList != null && idList.Count > 0) { UseWelfareNote.DoBatchDelete(idList.ToArray()); } }
/// <summary> /// 审批完成 /// </summary> private void SubmitFinish() { if (!string.IsNullOrEmpty(id)) { UseWelfareNote Ent = UseWelfareNote.Find(id); Ent.WorkFlowState = "End"; Ent.WorlFlowResult = RequestData.Get <string>("ApproveResult"); Ent.DoUpdate(); } }
/// <summary> /// 撤销通知 /// </summary> private void Undo() { string Id = RequestData.Get("Id") + ""; if (!String.IsNullOrEmpty(Id)) { UseWelfareNote Ent = UseWelfareNote.Find(Id); Ent.State = "2"; //2 撤销 Ent.DoUpdate(); } }
//创建流程 private void StartFlow(string SurveyId) { string state = RequestData.Get <string>("state"); string formtype = RequestData.Get("formtype") + ""; UseWelfareNote Ent = UseWelfareNote.Find(SurveyId); string FlowKey = "questionnaire_"; //工作流key string NextUsr = string.Empty; //下一个审批人 SysWFUserSet UsrEnt = SysWFUserSet.FindFirstByProperties("SurveyId", SurveyId); int lg = UsrEnt.UserId1.Split(',').Length; FlowKey = FlowKey + lg; NextUsr += UsrEnt.UserId1.Split(',')[0] + "|" + UsrEnt.UserName1.Split(',')[0]; //指定流程Key //if (!string.IsNullOrEmpty(Ent.WorkFlowCode)) //{ // FlowKey = Ent.WorkFlowCode; //} //else //{ // 根据人员 获取工作流key //SQL = @"select Code from WorkflowTemplate where TemplateName like '调查问卷%' "; //DataTable FlDt = DataHelper.QueryDataTable(SQL); //if (!string.IsNullOrEmpty(FlDt.Rows[0][0] + "")) //{ // FlowKey = (FlDt.Rows[0][0] + "").Substring(0, (FlDt.Rows[0][0] + "").Length - 1) + UserCount.Length; //} if (!string.IsNullOrEmpty(FlowKey)) { string formUrl = string.Empty; //if (formtype.Contains("onlyView")) //onlyView 表示固定问卷 //{ //formUrl = "/SurveyManage/InternetSurvey.aspx?flow=y&op=v&type=read&Id=" + SurveyId; //} //else //{ formUrl = "/EmpWelfare/UseWelfareNoteEdit.aspx?op=r&id=" + SurveyId; //} Guid guid = Aim.WorkFlow.WorkFlow.StartWorkFlow(SurveyId, formUrl, "福利申报通知", FlowKey, UserInfo.UserID, UserInfo.Name); Ent.WorkFlowState = "Start"; Ent.WorkFlowCode = guid.ToString(); //InstanceId Ent.DoUpdate(); this.PageState.Add("NextInfo", guid.ToString() + "$" + NextUsr); } }
string type = String.Empty; // 对象类型 #endregion protected void Page_Load(object sender, EventArgs e) { op = RequestData.Get <string>("op"); id = RequestData.Get <string>("id"); type = RequestData.Get <string>("type"); string NoticeWay = RequestData.Get("NoticeWay") + ""; UseWelfareNote ent = null; switch (this.RequestAction) { case RequestActionEnum.Update: ent = this.GetMergedData <UseWelfareNote>(); ent.NoticeWay = NoticeWay; ent.DoUpdate(); break; case RequestActionEnum.Insert: case RequestActionEnum.Create: ent = this.GetPostedData <UseWelfareNote>(); ent.NoticeWay = NoticeWay; ent.State = "0"; //0 创建 1 发起 2 撤销 ent.CreateTime = DateTime.Now; // 判断公司登陆 string CorpIds = string.Empty; UserContextInfo UC = new UserContextInfo(); CorpIds = UC.GetUserCurrentCorpId(UserInfo.UserID); ent.CreateCorp = CorpIds; ent.DoCreate(); break; default: if (RequestActionString == "GetNextUsers") { GetNextUsers(); } else if (RequestActionString == "submitfinish") { SubmitFinish(); } else { Doselect(); } break; } }
/// <summary> /// 发起通知 /// </summary> private void DoPublish() { string Id = RequestData.Get("Id") + ""; if (!String.IsNullOrEmpty(Id)) { UseWelfareNote Ent = UseWelfareNote.Find(Id); Ent.State = "1"; //1 发起 if (!string.IsNullOrEmpty(Ent.DeptId)) { SendNotices(Ent); } Ent.DoUpdate(); } }
/// <summary> /// 默认查询 /// </summary> private void Doselect() { UseWelfareNote ent = null; if (op != "c" && op != "cs") { if (!String.IsNullOrEmpty(id)) { ent = UseWelfareNote.Find(id); } this.SetFormData(ent); } if (op == "c") { //生成编号 日期HR Random rd = new Random(); string DateFt = "HR_TZ" + DateTime.Now.ToString("yyyyMMdd") + rd.Next(0, 10); this.SetFormData(new { Code = DateFt }); } //审批意见 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); } } } //福利申报类型 //this.PageState.Add("ThingsType", SysEnumeration.GetEnumDict("EmpUsrWelfare")); ////获取系统枚举流程 //string WFSQL = "select Code,TemplateName from FL_Culture_AimPortal..WorkflowTemplate"; //this.PageState.Add("WFEnum", DataHelper.QueryDict(WFSQL)); }
/// <summary> /// 查询 /// </summary> private void DoSelect() { var UserEnt = SysUser.Find(UserInfo.UserID); string CorpIds = string.Empty; CommPowerSplit ps = new CommPowerSplit(); if (ps.IsNoticeRole(UserInfo.UserID, UserInfo.LoginName)) { ents = UseWelfareNote.FindAll(SearchCriterion); } else { // 判断公司登陆 UserContextInfo UC = new UserContextInfo(); CorpIds = UC.GetUserCurrentCorpId(UserInfo.UserID); SearchCriterion.SetSearch("CreateCorp", CorpIds); ents = UseWelfareNote.FindAll(SearchCriterion); } this.PageState.Add("UseWelfareNoteList", ents); }
private void SendNotices(UseWelfareNote Ent) { string IP = HostUrl; string wherPat = ""; string content = @"您好! <br/> 此邮件来自江苏飞力达[企业文化系统]的友情提醒 。 <br/> 请根据 您有一份 [{0}] 福利申报通知,开始时间:{3}, 截止时间:{1}。 <br/> {4} <br/> 请点击链接或登陆系统及时填写,谢谢配合! <br/> 打开此链接可填写: {2} "; string MsgContent = @"{3},您好! <br/> 此短信来自江苏飞力达[企业文化系统]的友情提醒 。 <br/> 请根据 您有一份 [{0}] 福利申报通知,开始时间:{1}, 截止时间:{2}。 <br/> 请查看邮件或登陆系统及时处理,谢谢配合! "; string content1 = @"您好! <br/> 此邮件来自江苏飞力达[企业文化系统]的友情提醒 。 <br/> 请根据 您有一份 [{0}] 福利申报通知,开始时间:{1}, 截止时间:{2}。 <br/> 请登陆系统及时填写,谢谢配合! "; string MsgContent1 = @"{3},您好! <br/> 此短信来自江苏飞力达[企业文化系统]的友情提醒 。 <br/> 请根据 您有一份 [{0}] 福利申报通知,开始时间:{1}, 截止时间:{2}。 <br/> 请查看登陆系统及时处理,谢谢配合! "; string[] Patid = Ent.DeptId.Split(','); for (int i = 0; i < Patid.Length; i++) { if (i == (Patid.Length - 1)) { wherPat += " Path like '%" + Patid[i] + "%'"; } else { wherPat += " Path like '%" + Patid[i] + "%' or"; } } string sql = @" select * from SysUser where UserID IN (SELECT UserID FROM FL_PortalHR..SysUserGroup WHERE GroupID in (select GroupID from FL_PortalHR..SysGroup where {0}) ) and Status=1 and len(Outdutydate)=0 "; sql = sql.Replace("FL_PortalHR", Global.AimPortalDB); sql = string.Format(sql, wherPat); DataTable dt = DataHelper.QueryDataTable(sql); int index = 0; foreach (DataRow dr in dt.Rows) { string NoticeTxt = string.Empty; string msgtxt = string.Empty; if (Ent.TypeName == "员工旅游") { string url = "http://" + IP + "/EmpWelfare/UsrTravelWelfareEdit.aspx?op=c&userid=" + dr["UserId"] + "¬iceid=" + Ent.Id; NoticeTxt = string.Format(content, Ent.Title, Ent.EndTime, url, Ent.StartTime, Ent.Condition); //短信内容 msgtxt = string.Format(MsgContent, Ent.Title, Ent.StartTime, Ent.EndTime, dr["Name"].ToString()); } else if (Ent.TypeName.Contains("保险")) { NoticeTxt = string.Format(content1, Ent.Title, Ent.StartTime, Ent.EndTime); //短信内容 msgtxt = string.Format(MsgContent1, Ent.Title, Ent.StartTime, Ent.EndTime, dr["Name"].ToString()); } string email = string.Empty, phone = string.Empty; if (Ent.NoticeWay.IndexOf("Email") != -1) { email = "0"; } if (Ent.NoticeWay.IndexOf("Message") != -1) { phone = "0"; } //提醒时间 string RemindDte = string.Empty; if (DateTime.Now.ToString("yyyy-MM-dd").Trim() == Ent.StartTime.GetValueOrDefault().ToString("yyyy-MM-dd")) //当天 { RemindDte = DateTime.Now.AddSeconds(1).ToString("yyyy-MM-dd HH:mm:ss"); //发送提醒时间 1s } else //提前情况 { RemindDte = DateTime.Parse(Ent.StartTime.GetValueOrDefault().ToString("yyyy-MM-dd") + " 09:30").AddSeconds(index).ToString("yyyy-MM-dd HH:mm:ss"); } string tempSql = @"insert into FL_Recruitment..Remind (ID,UserId,Name,Phone,EmailAddress,RemindContent,State,PhoneState,EXT1,Title,attachment,RemindTime,createTime,MessageContent) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}')"; tempSql = string.Format(tempSql, Guid.NewGuid().ToString(), dr["UserId"].ToString(), dr["Name"].ToString(), dr["Phone"].ToString(), dr["Email"].ToString(), NoticeTxt, email, phone, "N|" + dr["UserId"].ToString(), Ent.Title, Ent.AddFiles, RemindDte, DateTime.Now, msgtxt); try { DataHelper.ExecSql(tempSql); } catch (Exception ex) { throw new Exception(ex.Message + "|" + ex.StackTrace + "|" + tempSql); } index++; } }
private void GetNextUsers() { UseWelfareNote SEnt = UseWelfareNote.Find(id); string CurrentNode = RequestData.Get <string>("taskName"); string nextName = RequestData.Get <string>("nextName"); string nextUserId = ""; string nextUserName = ""; if (CurrentNode == "申请人") { string[] User = UserChoice()[0].Split('|'); if (User.Length > 0) { nextUserId = User[0]; nextUserName = User[1]; } } else if (CurrentNode == "第一步" && nextName == "不同意") { if (SEnt != null) { nextUserId = SEnt.CreateId; nextUserName = SEnt.CreateName; } } else if (CurrentNode == "第一步" && nextName != "不同意") { string[] User = UserChoice()[1].Split('|'); if (User.Length > 0) { nextUserId = User[0]; nextUserName = User[1]; } } else if (CurrentNode == "第二步" && nextName != "退回上一步") { string[] User = UserChoice()[2].Split('|'); if (User.Length > 0) { nextUserId = User[0]; nextUserName = User[1]; } } else if (CurrentNode == "第三步" && nextName != "退回上一步") { string[] User = UserChoice()[3].Split('|'); if (User.Length > 0) { nextUserId = User[0]; nextUserName = User[1]; } } else if (CurrentNode == "第四步" && nextName != "退回上一步") { string[] User = UserChoice()[4].Split('|'); if (User.Length > 0) { nextUserId = User[0]; nextUserName = User[1]; } } else if (CurrentNode == "第五步" && nextName != "退回上一步") { string[] User = UserChoice()[5].Split('|'); if (User.Length > 0) { nextUserId = User[0]; nextUserName = User[1]; } } PageState.Add("NextUsers", new { nextUserId = nextUserId, nextUserName = nextUserName }); }