/// <summary>
        /// 查询报警推送人员信息
        /// </summary>
        /// <param name="id">模型ID</param>
        /// <returns></returns>
        public AlarmNotificationPersonnelConfigBusinessModel GetAlarmNotificationPersonnelByanalysisModelId(string analysisModelId)
        {
            try
            {
                AlarmNotificationPersonnelConfigBusinessModel             businessModel = new AlarmNotificationPersonnelConfigBusinessModel();
                BasicResponse <List <JC_AlarmNotificationPersonnelInfo> > alarmNotificationPersonnelInfoResult =
                    alarmNotificationPersonnelService.GetAlarmNotificationPersonnelByAnalysisModelId(
                        new AlarmNotificationPersonnelGetListByAlarmConfigIdRequest()
                {
                    AnalysisModelId = analysisModelId
                }
                        );

                businessModel.AlarmNotificationPersonnelInfoList = alarmNotificationPersonnelInfoResult.Data;

                BasicResponse <List <JC_AlarmNotificationPersonnelConfigInfo> > alarmNotificationPersonnelConfigInfoResult =
                    alarmNotificationPersonnelConfigService.GetAlarmNotificationPersonnelConfigByAnalysisModelId(
                        new AlarmNotificationPersonnelConfigGetListRequest()
                {
                    AnalysisModelId = analysisModelId
                });


                if (alarmNotificationPersonnelConfigInfoResult.Data != null && alarmNotificationPersonnelConfigInfoResult.Data.Count > 0)
                {
                    businessModel.AlarmNotificationPersonnelConfigInfo = alarmNotificationPersonnelConfigInfoResult.Data[0];
                }
                return(businessModel);
            }
            catch (Exception ex)
            {
                return(new AlarmNotificationPersonnelConfigBusinessModel());
            }
        }
 /// <summary>
 /// 根据模型名称模糊查询报警推送配置信息
 /// </summary>
 /// <param name="AnalysisModeName">模型名称</param>
 /// <returns></returns>
 public AlarmNotificationPersonnelConfigBusinessModel GetAlarmNotificationPersonnelListByAnalysisModeName(string AnalysisModeName, int pageIndex = 1, int pageSize = 0)
 {
     try
     {
         AlarmNotificationPersonnelConfigBusinessModel businessModel = new AlarmNotificationPersonnelConfigBusinessModel();
         BasicResponse <List <JC_AlarmNotificationPersonnelConfigInfo> > alarmNotificationPersonnelConfigInfoResult =
             alarmNotificationPersonnelConfigService.GetAlarmNotificationPersonnelListByAnalysisModeName(
                 new AlarmNotificationPersonnelConfigGetListRequest()
         {
             AnalysisModeName = AnalysisModeName
             ,
             PagerInfo = new PagerInfo()
             {
                 PageSize  = pageSize,
                 PageIndex = pageIndex
             }
         }
                 );
         businessModel.pagerInfo = alarmNotificationPersonnelConfigInfoResult.PagerInfo;
         if (alarmNotificationPersonnelConfigInfoResult.Data != null && alarmNotificationPersonnelConfigInfoResult.Data.Count > 0)
         {
             businessModel.AlarmNotificationPersonnelConfigInfoList = alarmNotificationPersonnelConfigInfoResult.Data;
         }
         else
         {
             businessModel.AlarmNotificationPersonnelConfigInfoList = new List <JC_AlarmNotificationPersonnelConfigInfo>();
         }
         return(businessModel);
     }
     catch (Exception ex)
     {
         return(new AlarmNotificationPersonnelConfigBusinessModel());
     }
 }
        /// <summary>
        ///  初始化窗体
        /// </summary>
        public void LoadForm()
        {
            largedataAnalysisConfigBusiness    = new LargedataAnalysisConfigBusiness();
            alarmNotificationPersonnelBusiness = new AlarmNotificationPersonnelBusiness();

            //初始化报警类型
            DataTable dt = GetAlarmShow();

            checkedCBEAlarm.Properties.DisplayMember = "show";
            checkedCBEAlarm.Properties.ValueMember   = "alarmShow";
            checkedCBEAlarm.Properties.SeparatorChar = ','; //逗号 隔开   存储的 值是 编号(ID)如 2,3,4
            checkedCBEAlarm.Properties.DataSource    = dt;
            checkedCBEAlarm.RefreshEditValue();

            try
            {
                ClientItem _ClientItem = Basic.Framework.Data.PlatRuntime.Items[KeyConst.ClientItemKey] as ClientItem;
                if (!string.IsNullOrEmpty(_ClientItem.UserName))
                {
                    UserName = _ClientItem.UserName;
                }
                if (!string.IsNullOrEmpty(_ClientItem.UserID))
                {
                    UserID = _ClientItem.UserID;
                }
                AlarmNotificationPersonnelConfigBusinessModel model = alarmNotificationPersonnelBusiness.GetAlarmNotificationPersonnelByanalysisModelId(analysisModelId);
                gridControlModule.DataSource = model.AlarmNotificationPersonnelInfoList;
                if (dataType == "edit")
                {
                    lookUpAnalysisModels.Properties.DataSource = largedataAnalysisConfigBusiness.LoadAnalysisTemplate();
                    lookUpAnalysisModels.EditValue             = analysisModelId;
                    lookUpAnalysisModels.SelectedText          = analysisModelId;
                    lookUpAnalysisModels.Properties.ReadOnly   = true;

                    //设置选中
                    for (int i = 0; i < gridViewModule.RowCount; i++)
                    {
                        var alarmNotificationPersonnelInfo = gridViewModule.GetRow(i) as Sys.Safety.DataContract.JC_AlarmNotificationPersonnelInfo;
                        if (alarmNotificationPersonnelInfo != null && alarmNotificationPersonnelInfo.IsCheck)
                        {
                            gridViewModule.SelectRow(i);
                        }
                    }

                    //2、设置默认值:
                    checkedCBEAlarm.EditValue = model.AlarmNotificationPersonnelConfigInfo.AlarmType;
                    checkedCBEAlarm.RefreshEditValue();
                    colorPickEdit.Color = Color.FromArgb(int.Parse(model.AlarmNotificationPersonnelConfigInfo.AlarmColor));
                }
                else
                {
                    lookUpAnalysisModels.Properties.DataSource = largedataAnalysisConfigBusiness.GetAnalysisModelWithoutAlarmConfig();
                }
            }
            catch (Exception ex)
            {
                LogHelper.Error(string.Format("获取报警推送人员出错, 错误消息{0}", ex.Message));
            }
        }
        private void QueryGridData(int pageIndex, int pageSize)
        {
            try
            {
                SetExecuteBeginTime();
                AlarmNotificationPersonnelConfigBusinessModel  model     = alarmNotificationPersonnelBusiness.GetAlarmNotificationPersonnelListByAnalysisModeName(textEditName.Text.Trim(), pageIndex, pageSize);
                List <JC_AlarmNotificationPersonnelConfigInfo> modelList = model.AlarmNotificationPersonnelConfigInfoList;
                SetgridAlarmColor(modelList);
                foreach (var item in modelList)
                {
                    if (!string.IsNullOrWhiteSpace(item.AlarmType))
                    {
                        string[]      dataStr = item.AlarmType.Split(',');
                        StringBuilder sbData  = new StringBuilder();
                        foreach (var itemStr in dataStr)
                        {
                            if (!string.IsNullOrWhiteSpace(itemStr))
                            {
                                if (!string.IsNullOrWhiteSpace(sbData.ToString()))
                                {
                                    sbData.Append(",");
                                }
                                switch (itemStr.Trim())
                                {
                                case "1":
                                    sbData.Append("语音播报");
                                    break;

                                case "2":
                                    sbData.Append("声光报警");
                                    break;

                                case "3":
                                    sbData.Append("图文弹窗");
                                    break;

                                default:
                                    break;
                                }
                            }
                        }
                        item.AlarmType = sbData.ToString();
                    }
                }
                gridControlData.DataSource = modelList;
                gridView.FocusedRowHandle  = -1;
                //设置分页信息
                SetPageInfo(model.pagerInfo);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message);
                XtraMessageBox.Show(ex.Message, "查询模板失败");
            }
        }
        /// <summary>
        /// 新增报警推送人员信息 dataType : add 新增  edit 修改
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public string AddAlarmNotificationPersonnelConfig(AlarmNotificationPersonnelConfigBusinessModel data, string dataType)
        {
            string error = "";

            try
            {
                if (dataType == "add")
                {
                    //新增报警配置信息
                    BasicResponse <List <JC_AlarmNotificationPersonnelConfigInfo> > alarmNotificationPersonnelConfigInfoResult =
                        alarmNotificationPersonnelConfigService.AddAlarmNotificationPersonnelConfig(
                            new AlarmNotificationPersonnelConfigListAddRequest()
                    {
                        JC_AlarmNotificationPersonnelConfigListInfo = data.AlarmNotificationPersonnelConfigInfoList,
                        JC_AlarmNotificationPersonnelInfoList       = data.AlarmNotificationPersonnelInfoList
                    });

                    if (!alarmNotificationPersonnelConfigInfoResult.IsSuccess)
                    {
                        error = alarmNotificationPersonnelConfigInfoResult.Message;
                    }
                    else
                    {
                        error = "100";
                    }
                }
                else
                {
                    //修改报警配置信息
                    BasicResponse <JC_AlarmNotificationPersonnelConfigInfo> alarmNotificationPersonnelConfigInfoResult =
                        alarmNotificationPersonnelConfigService.UpdateJC_AlarmNotificationPersonnelConfig(
                            new AlarmNotificationPersonnelConfigUpdateRequest()
                    {
                        JC_AlarmNotificationPersonnelConfigInfo = data.AlarmNotificationPersonnelConfigInfo,
                        JC_AlarmNotificationPersonnelInfoList   = data.AlarmNotificationPersonnelInfoList
                    });

                    if (!alarmNotificationPersonnelConfigInfoResult.IsSuccess || alarmNotificationPersonnelConfigInfoResult.Code == -100)
                    {
                        error = alarmNotificationPersonnelConfigInfoResult.Message;
                    }
                    else
                    {
                        error = "100";
                    }
                }
                return(error);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex.Message);
                return(ex.Message);
            }
        }
        /// <summary>
        /// 保存数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void simpleBtnSave_Click(object sender, EventArgs e)
        {
            //1.数据验证
            string strError = ValidateData();

            if (strError != "100")
            {
                XtraMessageBox.Show(strError, "消息");
                return;
            }
            AlarmNotificationPersonnelConfigBusinessModel alarmNotificationPersonnelConfigBusinessModel = new AlarmNotificationPersonnelConfigBusinessModel();

            var addParms = new List <JC_AlarmNotificationPersonnelConfigInfo>();

            if (dataType == "add")
            {
                int[] selectedModels = searchLookUpEdit1View.GetSelectedRows();
                for (int i = 0; i < selectedModels.Length; i++)
                {
                    string analysisModelId = searchLookUpEdit1View.GetRowCellValue(selectedModels[i], "Id").ToString();

                    var addAlarmConfig = new JC_AlarmNotificationPersonnelConfigInfo();
                    addAlarmConfig.AlarmColor      = colorPickEdit.Color.ToArgb().ToString();
                    addAlarmConfig.AlarmType       = checkedCBEAlarm.EditValue.ToString();
                    addAlarmConfig.AnalysisModelId = analysisModelId;
                    addAlarmConfig.CreatorId       = UserID;
                    addAlarmConfig.CreatorName     = UserName;
                    addParms.Add(addAlarmConfig);
                }
                alarmNotificationPersonnelConfigBusinessModel.AlarmNotificationPersonnelConfigInfoList = addParms;
                if (alarmNotificationPersonnelConfigBusinessModel.AlarmNotificationPersonnelInfoList == null)
                {
                    alarmNotificationPersonnelConfigBusinessModel.AlarmNotificationPersonnelInfoList = new List <JC_AlarmNotificationPersonnelInfo>();
                }
                int[] selectedRows = this.gridViewModule.GetSelectedRows();

                for (int j = 0; j < selectedRows.Length; j++)
                {
                    string personId = this.gridViewModule.GetRowCellValue(selectedRows[j], "UserID").ToString();
                    JC_AlarmNotificationPersonnelInfo alarmNotificationPersonnelInfo = new JC_AlarmNotificationPersonnelInfo();
                    alarmNotificationPersonnelInfo.PersonId = personId;
                    alarmNotificationPersonnelConfigBusinessModel.AlarmNotificationPersonnelInfoList.Add(alarmNotificationPersonnelInfo);
                }
            }
            else
            {
                var updateAlarmConfig = alarmNotificationPersonnelBusiness.GetAlarmNotificationPersonnelByanalysisModelId(this.lookUpAnalysisModels.EditValue.ToString()).AlarmNotificationPersonnelConfigInfo;
                updateAlarmConfig.AlarmColor      = colorPickEdit.Color.ToArgb().ToString();
                updateAlarmConfig.AlarmType       = checkedCBEAlarm.EditValue.ToString();
                updateAlarmConfig.AnalysisModelId = this.lookUpAnalysisModels.EditValue.ToString();
                updateAlarmConfig.CreatorId       = UserID;
                updateAlarmConfig.CreatorName     = UserName;
                List <JC_AlarmNotificationPersonnelInfo> alarmNotificationPersonnelInfoList = new List <JC_AlarmNotificationPersonnelInfo>();
                int[] selectedRows = this.gridViewModule.GetSelectedRows();

                for (int j = 0; j < selectedRows.Length; j++)
                {
                    string personId = this.gridViewModule.GetRowCellValue(selectedRows[j], "UserID").ToString();
                    JC_AlarmNotificationPersonnelInfo alarmNotificationPersonnelInfo = new JC_AlarmNotificationPersonnelInfo();
                    //alarmNotificationPersonnelInfo.Id = Guid.NewGuid().ToString();
                    alarmNotificationPersonnelInfo.Id            = IdHelper.CreateLongId().ToString();
                    alarmNotificationPersonnelInfo.AlarmConfigId = updateAlarmConfig.Id;
                    alarmNotificationPersonnelInfo.PersonId      = personId;

                    alarmNotificationPersonnelInfoList.Add(alarmNotificationPersonnelInfo);
                }
                alarmNotificationPersonnelConfigBusinessModel.AlarmNotificationPersonnelConfigInfo = updateAlarmConfig;
                alarmNotificationPersonnelConfigBusinessModel.AlarmNotificationPersonnelInfoList   = alarmNotificationPersonnelInfoList;
            }
            string reError = alarmNotificationPersonnelBusiness.AddAlarmNotificationPersonnelConfig(alarmNotificationPersonnelConfigBusinessModel, dataType);

            if (reError == "100")
            {
                XtraMessageBox.Show("保存成功", "消息");

                if (dataType == "add")
                {
                    OperateLogHelper.InsertOperateLog(16, "报警推送-新增【" + lookUpAnalysisModels.Text + "】," + string.Format("内容:{0}", JSONHelper.ToJSONString(alarmNotificationPersonnelConfigBusinessModel)), "报警推送-新增");
                }
                else
                {
                    OperateLogHelper.InsertOperateLog(16, "报警推送-修改【" + lookUpAnalysisModels.Text + "】," + string.Format("内容:{0}", JSONHelper.ToJSONString(alarmNotificationPersonnelConfigBusinessModel)), "报警推送-修改");
                }
                this.Close();
            }
            else
            {
                XtraMessageBox.Show(reError, "消息");
            }
        }