/// <summary> /// 通讯录树形菜单 /// </summary> /// <returns></returns> public ActionResult TreeTXLUSERGet() { string result = T_SYS_ADDREDDBOOKCls.getTypeTree(new T_SYS_ADDREDDTYPE_SW { treeIDShowUserType = "{ADID}", treeNameShowUserType = "{ADNAME}[{USERJOB}]", treeIsShowTypeID = "0" }); // T_SYS_ADDREDDTYPECls.get DC_TYPECls.getEQUIPTree(new DC_TYPE_SW { }); return(Content(result, "application/json")); }
/// <summary> /// 自动发送短信 /// </summary> /// <returns></returns> public JsonResult AutoSendMsg() { Message ms = null; var st = ConfigCls.getIsAutoSendFireLevelMsg(); //读取配置 if (st == "1") //自动 { var smsmodel = YJ_DCSMS_TMPCls.GetListModel(new YJ_DCSMS_TMP_SW { ISENABLE = "1" }); //获取短信模板 if (smsmodel.Any()) { int levelnum = 0; foreach (var sms in smsmodel) { var FireLevellist = YJ_DANGERCLASSCls.getListModelTop(new YJ_DANGERCLASS_SW() { }).Where(p => p.DANGERCLASS == sms.DANGERCLASS); //获取最新的火险等级 if (FireLevellist.Any()) { var _cityorg = ""; //市机构中间变量 var _contyorg = ""; //县机构中间变量 int i = 0; levelnum = FireLevellist.Count(); //当前火险等级个数 foreach (var level in FireLevellist) { var info = new YJ_DCSMS_SEND_SW(); info.opMethod = "Add"; info.SMSSENDUSERLIST = sms.SMSSENDUSERLIST; info.DCDATE = level.DCDATE; info.BYORGNO = level.BYORGNO; info.YJ_DCSMS_TMPID = sms.YJ_DCSMS_TMPID; //info.TMPCONTENT = sms.TMPCONTENT; #region 通讯录接收人员 if (!string.IsNullOrEmpty(info.SMSSENDUSERLIST)) { var arrperson = info.SMSSENDUSERLIST.Split(','); info.TMPCONTENT = sms.TMPCONTENT.Replace("[num]", levelnum.ToString());//短信内容replace if (!string.IsNullOrEmpty(info.TMPCONTENT)) { foreach (var p in arrperson) { var txlmodel = T_SYS_ADDREDDBOOKCls.getModel(new T_SYS_ADDREDDBOOK_SW { ADID = p }); //通讯录 if (txlmodel != null && !string.IsNullOrEmpty(txlmodel.PHONE)) { try { ////TODO Send Message //add redis //队列 var msg = txlmodel.PHONE.Trim() + "|" + info.TMPCONTENT; redisclient.EnqueueItemOnList("SendMsg", msg);//入队。 logs.Info("==入队列号码信息==" + msg); // client.SendMsg(info.TMPCONTENT, txlmodel.PHONE); Thread.Sleep(200); } catch (Exception ex) { logs.Error(ex.Message); } } } info.SMSSENDSTATUS = "1";//0 未发送 1 已发送 -1 发送失败 } } #endregion #region 发送值班员与护林员 if (string.IsNullOrEmpty(sms.SMSSENDUSERLIST))//接收人为空 发送值班员与护林员 { #region 值班员 与护林员 if (sms.SMSGROUPTYPE == "1") //值班员 { var cityorg = level.BYORGNO.Substring(0, 4) + "00000"; //市机构码 var contyorg = level.BYORGNO.Substring(0, 6) + "000"; //县机构码 if (i == 0) //初次 { _cityorg = cityorg; _contyorg = contyorg; } else { if (_cityorg == cityorg)//循环相同的市级单位 跳出循环 { continue; } if (_contyorg == contyorg)//循环相同的县级单位 跳出循环 { continue; } } info.TMPCONTENT = sms.TMPCONTENT.Replace("[cityconty]", level.TOPTOWNNAME).Replace("[num]", levelnum.ToString()); //短信内容replace string str = cityorg + "," + contyorg; var zbylist = OD_USERCls.GetOndutyUserid(level.DCDATE, str); //获取值班员useridlist if (zbylist.Any()) { var zbystr = ""; foreach (var zby in zbylist) { var m = T_SYSSEC_IPSUSERCls.getModel(new T_SYSSEC_IPSUSER_SW { USERID = zby.ToString() }); if (!string.IsNullOrEmpty(m.PHONE)) { if (zbylist.Count() == 1) { zbystr = zby; } else { zbystr += zby + ","; } try { ////TODO Send Message //add redis //队列 var msg = m.PHONE.Trim() + "|" + info.TMPCONTENT; redisclient.EnqueueItemOnList("SendMsg", msg);//入队。 logs.Info("==入队列号码信息==" + msg); //client.SendMsg(info.TMPCONTENT, m.PHONE); Thread.Sleep(200); } catch (Exception ex) { logs.Error(ex.Message); } } } info.SMSSENDUSERLIST = zbystr; //值班员人员 info.SMSSENDSTATUS = "1"; //0 未发送 1 已发送 -1 发送失败 // ms = YJ_DCSMS_SENDCls.Manager(info); } ++i; } else if (sms.SMSGROUPTYPE == "2") //护林员 { info.TMPCONTENT = sms.TMPCONTENT.Replace("[cityconty]", level.TOWNNAME); //短信内容replace var hlylist = T_IPSFR_USERCls.getListModel(new T_IPSFR_USER_SW { BYORGNO = info.BYORGNO }); //护林员 if (hlylist.Any()) { var hlystr = "";//护林员人员 逗号分隔 foreach (var hly in hlylist) { if (!string.IsNullOrEmpty(hly.PHONE)) { if (hlylist.Count() == 1) { hlystr = hly.HID; } else { hlystr += hly.HID + ","; } try { //TODO Send Message //add redis //队列 var msg = hly.PHONE.Trim() + "|" + info.TMPCONTENT; redisclient.EnqueueItemOnList("SendMsg", msg);//入队。 logs.Info("==入队列号码信息==" + msg); //client.SendMsg(info.TMPCONTENT, hly.PHONE); Thread.Sleep(200); } catch (Exception ex) { logs.Error(ex.Message); } } } info.SMSSENDUSERLIST = hlystr; //护林员人员 info.SMSSENDSTATUS = "1"; //0 未发送 1 已发送 -1 发送失败 //ms = YJ_DCSMS_SENDCls.Manager(info); } } #endregion } #endregion } } } } else { ms = new Message(true, "短信未设置模板!", ""); } } else { ms = new Message(true, "短信发送已设置为手动发送,请手动发送短信!", ""); } return(Json(ms)); }