Ejemplo n.º 1
0
        /// <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"));
        }
Ejemplo n.º 2
0
        /// <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));
        }