예제 #1
0
파일: TimingTrigger.cs 프로젝트: JuRogn/OA
        /// <summary>
        /// 发送短信
        /// </summary>
        /// <param name="dr"></param>
        private static void SendDoTaskSMS()
        {
            try
            {
                DataTable dt = dal.GetSMSDoTask();
                if (dt.Rows.Count > 0)
                {
                    Log.WriteLog("查询到得代办数据总数:" + dt.Rows.Count);
                    SMSService.MessageEntity[] entity = null;
                    string[] strUser = new string[dt.Rows.Count];
                    IDictionary<string, string> dict = new Dictionary<string, string>();
                    Hashtable has = new Hashtable();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        strUser[i] = dt.Rows[i]["RECEIVEUSERID"].ToString();
                        has.Add(dt.Rows[i]["RECEIVEUSERID"].ToString(), dt.Rows[i]["TASKCOUNT"].ToString());
                    }
                    if (strUser != null)
                    {
                        //EMPLOYEESTATE 员工状态 0:试用期、1:在职、2:离职、3:离职中 4:未入职
                        PersonnelService.EmployeeContactWays[] List = Client.GetEmployeeToEngine(strUser);
                        var employeeOnDuty = from emp in List where emp.EMPLOYEESTATE == "1" || emp.EMPLOYEESTATE == "3" select emp;
                        if (employeeOnDuty != null && employeeOnDuty.Count() > 0)
                        {
                            Log.WriteLog("真实发送短信数据总数:" + dt.Rows.Count);
                            entity = new SMSService.MessageEntity[employeeOnDuty.Count()];
                            int i = 0;
                            foreach (var employee in employeeOnDuty)
                            {
                                string taskCount = has[employee.EMPLOYEEID].ToString();
                                string sendMsg = string.Format("温馨提醒:截止{0}您还有{1}条待办任务未处理,请及时处理,谢谢!【协同办公系统】", DateTime.Now.ToString("HH时mm分"), taskCount);

                                dict.Add(employee.EMPLOYEEID, taskCount);
                                entity[i] = new SMSService.MessageEntity();
                                entity[i].ACCOUNTID = employee.EMPLOYEEID;
                                entity[i].MOBILE = employee.TELPHONE;
                                entity[i].SENDMESSAGE = sendMsg;
                                entity[i].SENDTIME = DateTime.Now;
                                entity[i].REMARK = "引擎发送待办短信";
                                entity[i].OWNERID = employee.EMPLOYEEID;
                                entity[i].OWNERNAME = employee.EMPLOYEENAME;
                                entity[i].OWNERCOMPANYID = employee.COMPANYID;
                                entity[i].OWNERDEPARTMENTID = employee.DEPARTMENTID;
                                entity[i].OWNERPOSTID = employee.POSTID;
                                entity[i].CREATEUSERID = "";
                                entity[i].CREATEUSERNAME = "******";
                                entity[i].CREATECOMPANYID = "bac05c76-0f5b-40ae-b73b-8be541ed35ed";
                                entity[i].CREATEDEPARTMENTID = employee.DEPARTMENTID;
                                entity[i].CREATEPOSTID = employee.POSTID;
                                entity[i].CREATEDATE = DateTime.Now;
                                entity[i].SMSTYPE = 0;
                                i++;
                            }
                        }

                        #region 插入短信发送的记录
                        if (entity != null)
                        {
                            for (int i = 0; i < entity.Length; i++)
                            {
                                if (entity[i] != null)
                                {
                                    string account = entity[i].ACCOUNTID;
                                    T_FLOW_SMSRECORD ent = new T_FLOW_SMSRECORD();
                                    ent.SMSRECORD = Guid.NewGuid().ToString();
                                    ent.SENDTIME = entity[i].SENDTIME;
                                    ent.MOBILE = entity[i].MOBILE;
                                    ent.COMPANYID = entity[i].CREATECOMPANYID;
                                    ent.BATCHNUMBER = string.Format("{0}_{1}", DateTime.Now.ToString("yyyyMMddHHmm"), entity.Length);
                                    ent.ACCOUNT = entity[i].ACCOUNTID;
                                    ent.OWNERNAME = entity[i].OWNERNAME;
                                    ent.SENDSTATUS = 1;//已发送
                                    ent.OWNERID = entity[i].OWNERID;
                                    ent.TASKCOUNT = Convert.ToInt32(dict[account]);
                                    ent.SENDMESSAGE = entity[i].SENDMESSAGE;
                                    dal.AddSMSRecord(ent);//插入发送记录
                                }
                            }
                        }
                        #endregion
                        try
                        {
                            Log.WriteLog("调用短信接口开始:" + DateTime.Now.ToString());
                            //调用短信接口服务
                            string strMsg = client.SendMsg(entity);//调试不发送

                            Log.WriteLog("调用短信接口结束,返回信息:" + strMsg + DateTime.Now.ToString());
                        }
                        catch (Exception ex)
                        {
                            Log.WriteLog("调用短信接口结束(异常消息),返回信息:" + ex.ToString() + DateTime.Now.ToString());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.WriteLog("调用短信SendDoTaskSMS(),返回信息:" + ex.ToString() + DateTime.Now.ToString());
            }
        }
예제 #2
0
파일: TimingTrigger.cs 프로젝트: JuRogn/OA
 private static void SendSMS(DataRow dr)
 {
     try
     {
         if (dr["RECEIVERUSERID"] != null&&dr["MESSAGEBODY"]!=null)
         {
             SMSService.MessageEntity[] entity = new SMSService.MessageEntity[1];
             entity[0] = new SMSService.MessageEntity();
             entity[0].ACCOUNTID = Config.Account;
             entity[0].MOBILE = dr["RECEIVERUSERID"].ToString();
             entity[0].SENDMESSAGE = dr["MESSAGEBODY"].ToString();
             entity[0].SENDTIME = DateTime.Now;
             entity[0].REMARK = "新平台短信提醒";
             entity[0].OWNERID = "";
             entity[0].OWNERNAME = dr["RECEIVERNAME"].ToString();
             entity[0].OWNERCOMPANYID = "";
             entity[0].OWNERDEPARTMENTID = "";
             entity[0].OWNERPOSTID = "";
             entity[0].CREATEUSERID = "";
             entity[0].CREATEUSERNAME = "******";
             entity[0].CREATECOMPANYID = "bac05c76-0f5b-40ae-b73b-8be541ed35ed";
             entity[0].CREATEDEPARTMENTID = "";
             entity[0].CREATEPOSTID = "";
             entity[0].CREATEDATE = DateTime.Now;
             entity[0].SMSTYPE = 0;
             T_FLOW_SMSRECORD ent = new T_FLOW_SMSRECORD();
             ent.SMSRECORD = Guid.NewGuid().ToString();
             ent.SENDTIME = DateTime.Now;
             ent.MOBILE = dr["RECEIVERUSERID"].ToString();
             ent.COMPANYID = "系统发送短信提醒";
             ent.BATCHNUMBER = string.Format("{0}_{1}", DateTime.Now.ToString("yyyyMMddHHmm"), entity.Length);
             ent.ACCOUNT = Config.Account;
             ent.OWNERNAME = dr["RECEIVERNAME"].ToString();
             ent.SENDSTATUS = 1;//已发送
             ent.OWNERID = "";
             ent.TASKCOUNT = 1;
             ent.SENDMESSAGE = dr["MESSAGEBODY"].ToString();
             dal.AddSMSRecord(ent);//插入发送记录
             try
             {                    
                 //调用短信接口服务
                 string strMsg = client.SendMsg(entity);//调试不发送
                 Log.WriteLog("调用短信接口结束,返回信息SendSMS():" + strMsg +  dr["RECEIVERNAME"].ToString());
             }
             catch (Exception ex)
             {
                 Log.WriteLog("调用短信接口结束(异常消息),返回信息SendSMS():" + ex.ToString() + DateTime.Now.ToString());
             }
         }
     }
     catch (Exception ex)
     {
         Log.WriteLog("调用短信SendSMS(),返回信息:" + ex.ToString());
     }
 }