计划任务配置管理页面
2016-11-28 13:25
267 查看
@model CoronaDataCenter.Models.PlanModel @{ ViewBag.Title = "编辑计划配置"; if (ViewBag.ActionType == "View") { ViewBag.Title = "计划配置详情"; } else if (ViewBag.ActionType == "Create") { ViewBag.Title = "添加计划配置"; } else if (ViewBag.ActionType == "Edit") { ViewBag.Title = "编辑计划配置"; } Layout = "~/Views/Shared/_LayoutB.cshtml"; } @section Head{ <script src="@Url.Content("~/Scripts/Validate/jquery-Lweight-validate-min.js")" type="text/javascript"></script> <link href="@Url.Content("~/Scripts/Validate/Lweight.css")" rel="stylesheet" type="text/css" /> <script src="@Url.Content("~/Scripts/Common/commonTools.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/DatePicker/WdatePicker.js")" type="text/javascript"></script> <script src="../../Scripts/UI/jquery.easyui.min.js"></script> } <style type="text/css"> .input_ContentCenter{ line-height: 34px; height: 34px; } </style> <button class="btn btn-info btn-sm col-md-offset-1" type="button" style="margin-top: 10px;" onclick="javascript:history.back(-1);"> <span class="glyphicon glyphicon-arrow-left col-md-offset-1 " style="color: white; font-size: 1.5em;"></span> </button> <div class="container"> <div class="row"> <div class="col-md-6 col-md-offset-3"> <form id="EditData" class="form-horizontal" role="form" method="post" form-key="true" enctype="multipart/form-data"> <div class="form-group"> <label for="PlanName" class="col-md-2">计划名称</label> <div class="col-md-6"> <input id="PlanName" name="PlanName" value="@Model.PlanName" class="form-control" placeholder = "请输入计划名称" check-type="required" required-message="请输入计划名称" /> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <div class="form-group"> <label for="Sn" class="col-md-2">电站</label> <div class="col-md-6"> <select id="selSn" name="Sn" class="form-control" check-type="required" required-message="请选择电站"> <option></option> @foreach (var item in ViewBag.Stations as List<SelectListItem>) { if (Model.Sn == item.Value.Split(',')[0]) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <div class="form-group"> <label for="PlanBeginTime" class="col-md-2">开始时间</label> <div class="col-md-6"> <input id="PlanBeginTime" name="PlanBeginTime" value="@Model.PlanBeginTime" class="form-control Wdate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" check-type="required" required-message="请选择开始时间" /> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <div class="form-group"> <label for="PlanEndTime" class="col-md-2">结束时间</label> <div class="col-md-6"> <input id="PlanEndTime" name="PlanEndTime" value="@Model.PlanEndTime" class="form-control Wdate" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"/> </div> </div> <div class="form-group"> <label for="PlanInterval" class="col-md-2">执行频率</label> <div class="col-md-6"> <select id="PlanInterval" name="PlanInterval" class="form-control" val="@Model.PlanInterval" check-type="required" required-message="请选择时间间隔"> @foreach (var item in ViewBag.PlanIntervalsList as List<SelectListItem>) { if (Model.PlanInterval == item.Value) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <!------------实时------------> <div class="form-group EveryInTime"> <label for="EveryInTime" class="col-md-2">执行间隔</label> <div class="col-md-3"> <input id="ExecutionInterval_InTime" name="ExecutionInterval_InTime" value="@Model.ExecutionInterval" class="form-control InTime" check-type="required" required-message="请输入执行间隔" /> </div> <div class="col-md-2"> <select id="ExecutionIntervalType_InTime" name="ExecutionIntervalType_InTime" class="form-control InTime" val="@Model.ExecutionIntervalType" check-type="required" required-message="请选择每天频率"> @foreach (var item in ViewBag.ExecutionIntervalTypeSelectList as List<SelectListItem>) { if (Model.ExecutionIntervalType == item.Value) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <!------------实时------------> <!------------每天------------> <div class="form-group EveryDay"> <div class="col-md-3"> <input type="hidden" id="hidExecutionTime_EveryDayType" value="@Model.ExecutionTime_EveryDayType"/> <input type="radio" name="ExecutionTime_EveryDayType" value="OneTime" /> 执行一次 </div> <div class="col-md-1"> <input id="ExecutionTime_DayHours" value="@Model.ExecutionTime_Hours" class="form-control ExecutionTime_EveryDay OneTime" name="ExecutionTime_DayHours" /> </div> <div class="col-md-1 input_ContentCenter"> <label>时:</label> </div> <div class="col-md-1"> <input id="ExecutionTime_DayMinutes" value="@Model.ExecutionTime_Minutes" class="form-control ExecutionTime_EveryDay OneTime" name="ExecutionTime_DayMinutes" /> 4000 </div> <div class="col-md-1 input_ContentCenter"> <label>分:</label> </div> <div class="col-md-1"> <input id="ExecutionTime_DaySeconds" value="@Model.ExecutionTime_Seconds" class="form-control ExecutionTime_EveryDay OneTime" name="ExecutionTime_DaySeconds" /> </div> <div class="col-md-1 input_ContentCenter"> <label>秒</label> </div> <div class="col-md-2"><font color="red">*</font></div> </div> <div class="form-group EveryDay"> <div class="col-md-3"> <input type="radio" name="ExecutionTime_EveryDayType" value="Repeated" /> 执行间隔 </div> <div class="col-md-3"> <input id="ExecutionInterval" name="ExecutionInterval" value="@Model.ExecutionInterval" class="form-control Repeated" check-type="required" required-message="请输入执行间隔" /> </div> <div class="col-md-2"> <select id="ExecutionIntervalType" name="ExecutionIntervalType" class="form-control Repeated" val="@Model.ExecutionIntervalType" check-type="required" required-message="请选择每天频率"> @foreach (var item in ViewBag.ExecutionIntervalTypeSelectList as List<SelectListItem>) { if (Model.ExecutionIntervalType == item.Value) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <!------------每天------------> <!------------每周------------> <div class="form-group EveryWeek"> <label for="ExecutionWeek" class="col-md-2">执行星期</label> <div class="col-md-6"> <select id="ExecutionWeek" name="ExecutionWeek" class="form-control" val="@Model.ExecutionWeek" check-type="required" required-message="请选择执行星期数"> @foreach (var item in ViewBag.ExecutionWeekList) { if (Model.ExecutionWeek == item.Value) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <!------------每周------------> <!------------每月------------> <div class="form-group EveryMonth"> <label for="ExecutionDay" class="col-md-2">执行日期</label> <div class="col-md-6"> <select id="ExecutionDay" name="ExecutionDay" class="form-control" val="@Model.ExecutionDay" check-type="required" required-message="请选择执行日期"> @foreach (var item in ViewBag.ExecutionDayList) { if (Model.ExecutionDay == item.Value) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <!------------每月------------> <!------------------执行时间-------------------> <div class="form-group ExecutionTime"> <label for="ExecutionTime_Hours" class="col-md-2">执行时间</label> <div class="col-md-1"> <input id="ExecutionTime_Hours" value="@Model.ExecutionTime_Hours" class="form-control ExecutionTime_Common" name="ExecutionTime_Hours" /> </div> <div class="col-md-1 input_ContentCenter"> <label>时:</label> </div> <div class="col-md-1"> <input id="ExecutionTime_Minutes" value="@Model.ExecutionTime_Minutes" class="form-control ExecutionTime_Common" name="ExecutionTime_Minutes" /> </div> <div class="col-md-1 input_ContentCenter"> <label>分:</label> </div> <div class="col-md-1"> <input id="ExecutionTime_Seconds" value="@Model.ExecutionTime_Seconds" class="form-control ExecutionTime_Common" name="ExecutionTime_Seconds" /> </div> <div class="col-md-1 input_ContentCenter"> <label>秒</label> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <!------------------执行时间-------------------> <div class="form-group"> <label for="PlanReceiver" class="col-md-2">接收人</label> <div class="col-md-6"> <select id="selPlanReceiver" name="PlanReceiver" class="form-control" check-type="required" required-message="请选择接收人" multiple> @if (!string.IsNullOrEmpty(Model.PlanReceiver)) { foreach (var item in ViewBag.PlanReceiverList as List<SelectListItem>) { if (@Model.PlanReceiver.Contains(item.Value)) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <div class="form-group"> <label for="PlanReceiveMethod" class="col-md-2">接收方式</label> <div class="col-md-6"> <select id="PlanReceiveMethod" name="PlanReceiveMethod" class="form-control" check-type="required" required-message="请选择接收方式" multiple> @if (!string.IsNullOrEmpty(Model.PlanReceiveMethod)) { foreach (var item in ViewBag.PlanReceiveMethodsList as List<SelectListItem>) { if (@Model.PlanReceiveMethod.Contains(item.Value)) { <option value="@item.Value" selected="selected">@item.Text</option> } else { <option value="@item.Value">@item.Text</option> } } } else { foreach (var item in ViewBag.PlanReceiveMethodsList as List<SelectListItem>) { <option value="@item.Value">@item.Text</option> } } </select> </div> <div class="col-md-3"><font color="red">*</font></div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-3"> @if (ViewBag.ActionType == "Edit" || ViewBag.ActionType == "Create") { <button id="btnSave" type="submit" class="btn btn-primary borderRadius"> <span class="glyphicon glyphicon-ok"> 保存</span> </button> } <button id="btnCancel" type="button" class="btn btn-danger borderRadius" onclick="Cancel();"> <span class="glyphicon glyphicon-remove"> 取消</span> </button> <input id="ActionType" type="hidden" name="ActionType" value="@ViewBag.ActionType" /> <input id="PlanID" type="hidden" name="PlanID" value="@Model.PlanID" /> <input id="TaskID" type="hidden" name="TaskID" value="@ViewBag.TaskID" /> <input id="hidErrorMsg" type="hidden" value="@ViewBag.ErrorMsg" /> <input id="btn" type="button" value="test" class="btn" onclick="GetPlanIntervalVal();" style="display:none;" /> </div> </div> </form> </div> </div> </div> <!--Bootstrap Modal对话框框 --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">提示信息</h4> </div> <div class="modal-body" id="modal-body" style="color: red; text-align: center;"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button> </div> </div> </div> </div> <script type="text/javascript"> $(function () { //保存按钮 SaveAlert(); //保存之后的错误提醒 selectChange("selSn", "selPlanReceiver"); //联动下拉框 $("#EditData").myValidate( { formCall: function () { $("#EditData").submit(); }, isAlert: false, formKey: false, alterCall: function (msg) { } }); /////////////////////////////////////////////////////////////////////////////////////////////////////////////// CheckRadio(); //Radio单选取值 CheckPlanInterval(); //首次加载,根据频率当前选择值初始化控件 PlanIntervalChange(); //下拉框change事件 EveryDayClick(); //radio的click事件 CheckExecutionTime_EveryDay(); //input中只能输入正整数 CheckHours(); //input中只能输入0-23的正整数 CheckMinutesAndSeconds(); //input中只能输入0-59的正整数 }); ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //首次加载,根据频率当前选择值初始化控件 function CheckPlanInterval() { //检测频率下拉框,初始化不同频率相关html控件 var selPlanInterval = $("#PlanInterval option:selected").val(); //获取执行间隔(频率)下拉框当前选择值 //alert(selPlanInterval); if (selPlanInterval == 0) { //实时 $(".EveryInTime").css("display", "block"); $(".EveryDay").css("display", "none"); $(".EveryWeek").css("display", "none"); $(".EveryMonth").css("display", "none"); $(".ExecutionTime").css("display", "none"); } else if (selPlanInterval == 1) { //每天 $(".EveryInTime").css("display", "none"); $(".EveryDay").css("display", "block"); $(".EveryWeek").css("display", "none"); $(".EveryMonth").css("display", "none"); $(".ExecutionTime").css("display", "none"); } else if (selPlanInterval == 2) { //每周 $(".EveryInTime").css("display", "none"); $(".EveryDay").css("display", "none"); $(".EveryWeek").css("display", "block"); $(".EveryMonth").css("display", "none"); $(".ExecutionTime").css("display", "block"); } else if (selPlanInterval == 3) { //每月 $(".EveryInTime").css("display", "none"); $(".EveryDay").css("display", "none"); $(".EveryWeek").css("display", "none"); $(".EveryMonth").css("display", "block"); $(".ExecutionTime").css("display", "block"); } //初始化频率为‘每天’的相关html控件 var chkEveryDay = $("input[name='ExecutionTime_EveryDayType']:checked").val(); //获取CheckBox当前选择值 //alert(chkEveryDay); if (chkEveryDay == "OneTime") { $('.OneTime').removeAttr("disabled");//去除input元素的disabled属性 $('.Repeated').attr("disabled", "disabled");//将input元素设置为disabled $("#ExecutionInterval").val(''); } else { $('.OneTime').attr("disabled", "disabled")//将input元素设置为disabled $('.Repeated').removeAttr("disabled");//去除input元素的disabled属性 $(".ExecutionTime_EveryDay").val(''); //清空文本框 } } //下拉框change事件 function PlanIntervalChange() { $("#PlanInterval").on("change", function () { var selPlanInterval = $("#PlanInterval option:selected").val(); //获取执行间隔(频率)下拉框当前选择值 //alert(selPlanInterval); if (selPlanInterval == 0) { //实时 $(".EveryInTime").css("display", "block 186cf "); $(".EveryDay").css("display", "none"); $(".EveryWeek").css("display", "none"); $(".EveryMonth").css("display", "none"); $(".ExecutionTime").css("display", "none"); } else if (selPlanInterval == 1) { //每天 $(".EveryInTime").css("display", "none"); $(".EveryDay").css("display", "block"); $(".EveryWeek").css("display", "none"); $(".EveryMonth").css("display", "none"); $(".ExecutionTime").css("display", "none"); } else if (selPlanInterval == 2) { //每周 $(".EveryInTime").css("display", "none"); $(".EveryDay").css("display", "none"); $(".EveryWeek").css("display", "block"); $(".EveryMonth").css("display", "none"); $(".ExecutionTime").css("display", "block"); } else if (selPlanInterval == 3) { //每月 $(".EveryInTime").css("display", "none"); $(".EveryDay").css("display", "none"); $(".EveryWeek").css("display", "none"); $(".EveryMonth").css("display", "block"); $(".ExecutionTime").css("display", "block"); } //清空执行时间文本框 $(".ExecutionTime_Common").val(''); //执行时间的时分秒 $(".ExecutionTime_EveryDay").val(''); //执行时间的时分秒 $("#ExecutionInterval_InTime").val(''); //实时,执行间隔 }); } //radio的click事件,根据当前选择控制html控件是否可用,注:频率为‘每天’时,‘执行一次’与‘执行间隔’只能选一种 function EveryDayClick() { $("input[name='ExecutionTime_EveryDayType']").on("click", function () { var chkEveryDay = $("input[name='ExecutionTime_EveryDayType']:checked").val(); //获取CheckBox当前选择值 //alert(chkEveryDay); if (chkEveryDay == "OneTime") { $('.OneTime').removeAttr("disabled");//去除input元素的disabled属性 $('.Repeated').attr("disabled", "disabled");//将input元素设置为disabled $("#ExecutionInterval").val(''); } else { $('.OneTime').attr("disabled", "disabled");//将input元素设置为disabled $('.Repeated').removeAttr("disabled");//去除input元素的disabled属性 $(".ExecutionTime_EveryDay").val(''); //清空文本框 } }); } //Radio单选取值 function CheckRadio() { var hidRadio = $("#hidExecutionTime_EveryDayType").val(); var radios = document.getElementsByName("ExecutionTime_EveryDayType"); if (hidRadio.length > 0) { if (hidRadio == "OneTime") { radios[0].checked = true; } else { radios[1].checked = true; } } else { radios[0].checked = true; } } //input中只能输入正整数 function CheckExecutionTime_EveryDay() { //限制键盘只能按数字键、小键盘数字键、退格键 $("#ExecutionInterval,#ExecutionInterval_InTime").keyup(function (e) { if(this.value.length==1){ this.value=this.value.replace(/[^1-9]/g,'') }else{ this.value=this.value.replace(/\D/g,'') } }).bind("paste", function () { //CTR+V事件处理 if (this.value.length == 1) { this.value = this.value.replace(/[^1-9]/g, '') } else { this.value = this.value.replace(/\D/g, '') } }); } //input中只能输入0-23的正整数 function CheckHours() { //限制键盘只能按数字键、小键盘数字键、退格键 $("#ExecutionTime_Hours,#ExecutionTime_DayHours").keyup(function (e) { //var reg = /^([1-9]|1\d|2[0-3])$/; var reg = /^(2[0-3]|[0-1]?\d)$/; var r = this.value.match(reg); if (r == null) { this.value = ''; } }).bind("paste", function () { //CTR+V事件处理 //var reg = /^([1-9]|1\d|2[0-3])$/; var reg = /^(2[0-3]|[0-1]?\d)$/; var r = this.value.match(reg); if (r == null) { this.value = ''; } }); } //input中只能输入0-59的正整数 function CheckMinutesAndSeconds() { //限制键盘只能按数字键、小键盘数字键、退格键 $("#ExecutionTime_Minutes,#ExecutionTime_Seconds,#ExecutionTime_DayMinutes,#ExecutionTime_DaySeconds").keyup(function (e) { //var reg = /^([1-9]|[1-4]\d|5[0-9])$/; var reg = /^[0-5]?[0-9]$/; var r = this.value.match(reg); if (r == null) { this.value = ''; } }).bind("paste", function () { //CTR+V事件处理 //var reg = /^([1-9]|[1-4]\d|5[0-9])$/; var reg = /^[0-5]?[0-9]$/; var r = this.value.match(reg); if (r == null) { this.value = ''; } }); } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //取消按钮 function Cancel() { window.location.href = "/SystemManager/PlanManager?id=@ViewBag.TaskID"; } //保存之后的错误提醒 function SaveAlert() { var ErMsg = $("#hidErrorMsg").val(); if ($.trim(ErMsg).length > 0) { //alert(ErMsg); $('#modal-body').append(ErMsg); $('#myModal').modal(); } } //获取多选框值,值类型为数组需转换为字符串便于保存 function GetPlanIntervalVal() { var varStr = $("#PlanInterval").val(); //获取多选框值,值类型为数组 varStr = varStr.join(); //将数组转换为字符串 $("#PlanInterval").attr("value", varStr); //多选框赋值 } //下拉框联动 function selectChange(selSn, selPlanReceiver) { $("#" + selSn).change(function () { $("#" + selPlanReceiver + " option").remove(); //初始化下拉框 $.ajax({ type: "POST", dataType: "json", url: " @Url.Action("GetPlanReceiverBySN", "SystemManager")", data: { strSn: $(this).val() }, success: function (data) { if (data.length > 0) { $.map(data, function (item, index) { $("#" + selPlanReceiver).append("<option value=" + item.Value + ">" + item.Text + "</option>"); }); } } }); }); } </script>
#region 计划任务配置 add by lupeng on 20160506 //计划任务配置页面 public ActionResult PlanAndTaskManager(string PlanID) { Session[MyConst.StartTime] = DateTime.Now.ToString(); SysLogModel sysModel = new SysLogModel() { Action = "计划任务配置", Content = "浏览", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); ViewBag.startTime = ""; ViewBag.endTime = ""; List<TaskModel> model = new List<TaskModel>(); model = SearchTaskData(ViewBag.startTime, ViewBag.endTime, PlanID, "", ""); return View(model); } //计划任务配置页的提交,这里是“查询”,其参数是POST方式传递过来的,参数名是控件(input\select等)的name属性 [HttpPost] public ActionResult PlanAndTaskManager(string startTime, string endTime, string PlanID, string TaskName, string TaskID) { SysLogModel sysModel = new SysLogModel() { Action = "计划任务配置", Content = "查询", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); List<TaskModel> model = new List<TaskModel>(); model = SearchTaskData(startTime, endTime, PlanID, TaskName, TaskID); return View(model); } [NonAction] private List<TaskModel> SearchTaskData(string startTime, string endTime, string PlanID, string TaskName, string TaskID) { SystemManager syMan = new SystemManager(); if (!string.IsNullOrEmpty(startTime) && !string.IsNullOrEmpty(endTime)) //有起止日期 { ViewBag.startTime = startTime; ViewBag.endTime = Convert.ToDateTime(endTime).AddDays(1).ToShortDateString().Replace("/", "-"); } else if (!string.IsNullOrEmpty(startTime) && string.IsNullOrEmpty(endTime)) //有开始日期 { ViewBag.startTime = startTime; ViewBag.endTime = Convert.ToDateTime(startTime).AddDays(1).ToShortDateString().Replace("/", "-"); } else if (string.IsNullOrEmpty(startTime) && !string.IsNullOrEmpty(endTime)) //有结束日期 { ViewBag.startTime = Convert.ToDateTime(startTime).AddDays(-1).ToShortDateString().Replace("/", "-"); ViewBag.endTime = endTime; } List<TaskModel> List = syMan.GetTaskData(ViewBag.startTime, ViewBag.endTime, PlanID, TaskName, TaskID); ViewBag.PlanID = PlanID; //任务ID ViewBag.PlanName = syMan.GetPlanDataByID(PlanID).PlanName; //任务名称 return List; } //编辑View public ActionResult EditPlanAndTask(string ActionType, string PlanID, string TaskID) { TaskModel model = new TaskModel(); Session[MyConst.StartTime] = DateTime.Now; ViewBag.PlanID = PlanID; //任务ID model.PlanID = PlanID; ViewBag.ActionType = ActionType; string ActionContent = string.Empty; if (ActionType == "Create") { ActionContent = "添加任务配置"; ViewBag.TaskID = 0; } else if (ActionType == "Edit") { ActionContent = "编辑任务配置"; model = syMan.GetTaskDataByID(TaskID); ViewBag.TaskID = model.TaskID; } else if (ActionType == "View") { ActionContent = "任务配置详情"; model = syMan.GetTaskDataByID(TaskID); ViewBag.TaskID = model.TaskID; } //添加日志 SysLogModel sysModel = new SysLogModel() { Action = "计划任务配置", Content = ActionContent, ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); List<PlanModel> planLists = syMan.GetPlanData("", "", ""); ViewBag.PlanList = CommonTools.GetPlanSelectList(planLists); //计划下拉框数据源 ViewBag.TaskTypesList = TaskTypesSelectList(); //任务类型下拉框数据源 return View(model); } //编辑,Post方法 [HttpPost] public ActionResult EditPlanAndTask(TaskModel model, string ActionType) { List<PlanModel> planLists = syMan.GetPlanData("", "", ""); ViewBag.PlanList = CommonTools.GetPlanSelectList(planLists); //计划下拉框数据源 ViewBag.TaskTypesList = TaskTypesSelectList(); //任务类型下拉框数据源 string strContent = string.Empty; if (ActionType == "Create") { strContent = "添加"; ViewBag.ActionType = "Create"; } else { strContent = "修改"; ViewBag.ActionType = "Edit"; } if (ModelState.IsValid) { #region if (ActionType == "Create") //新增操作 { #region model.TaskCreateUser = (Session[MyConst.UserModel] as AccountModel).ID.ToString(); List<TaskModel> list = syMan.GetTaskData("", "", model.PlanID, model.TaskName, ""); if (list != null && list.Count > 0) //验证是否重复 { ViewBag.ErrorMsg += "<label>任务配置名称已存在!</label></br> "; //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent + "任务配置", Content = strContent + "失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return View(model); } else { int result = syMan.InsertTaskData(model); //新增数据 //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent + "任务配置", Content = result > 0 ? strContent + "成功" : strContent + "失败", ModuleCode = "XTGL-XT-XWGG" }; Syslog.InsertSYSLog(sysModel); if (result > 0) { return RedirectToAction("PlanAndTaskManager", "SystemManager", new { PlanID = model.PlanID }); } else { ViewBag.ErrorMsg = strContent + "失败"; return View(model); } } #endregion } else //修改操作 { #region model.TaskModifyUser = (Session[MyConst.UserModel] as AccountModel).ID.ToString(); int result = syMan.ModifyTaskData(model); //修改数据 //插入系统日志 SysLogModel sysModel1 = new SysLogModel() { Action = strContent + "任务配置", Content = result > 0 ? strContent + "成功" : strContent + "失败", ModuleCode = "XTGL-XT-XWGG" }; Syslog.InsertSYSLog(sysModel1); if (result > 0) { //this.TempData["PlanID"] = model.PlanID; return RedirectToAction("PlanAndTaskManager", "SystemManager", new { PlanID = model.PlanID }); } else { ViewBag.ErrorMsg = strContent + "失败"; return View(model); } #endregion } #endregion } else { ViewBag.ErrorMsg = strContent + "失败"; //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent +"任务配置", Content = strContent + "失败", ModuleCode = "XTGL-XT-XWGG" }; Syslog.InsertSYSLog(sysModel); return View(model); } } //删除任务配置 [HttpPost] public ContentResult TaskDelete(int id) { int result = syMan.DeleteTask(id); SysLogModel sysModel = new SysLogModel() { Action = "删除任务配置", Content = result > 0 ? "删除成功" : "删除失败", ModuleCode = "XTGL-XT-XWGG" }; Syslog.InsertSYSLog(sysModel); if (result > 0) { return Content("ok"); } else { return Content(""); } } //计划配置页面 public ActionResult PlanManager() { Session[MyConst.StartTime] = DateTime.Now.ToString(); SysLogModel sysModel = new SysLogModel() { Action = "计划任务配置", Content = "浏览计划", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); List<PlanModel> model = new List<PlanModel>(); model = SearchPlanData("", "", ""); InitPlan(""); return View(model); } //计划配置页的提交,这里是“查询”,其参数是POST方式传递过来的,参数名是控件(input\select等)的name属性 [HttpPost] public ActionResult PlanManager(string startTime, string endTime, string PlanName) { SysLogModel sysModel = new SysLogModel() { Action = "计划任务配置", Content = "查询计划", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); List<PlanModel> model = new List<PlanModel>(); model = SearchPlanData(startTime, endTime, PlanName); InitPlan(""); return View(model); } [NonAction] private List<PlanModel> SearchPlanData(string startTime, string endTime, string PlanName) { SystemManager syMan = new SystemManager(); if (!string.IsNullOrEmpty(startTime) && !string.IsNullOrEmpty(endTime)) //有起止日期 { ViewBag.startTime = startTime; ViewBag.endTime = Convert.ToDateTime(endTime).AddDays(1).ToShortDateString().Replace("/", "-"); } else if (!string.IsNullOrEmpty(startTime) && string.IsNullOrEmpty(endTime)) //有开始日期 { ViewBag.startTime = startTime; ViewBag.endTime = Convert.ToDateTime(startTime).AddDays(1).ToShortDateString().Replace("/", "-"); } else if (string.IsNullOrEmpty(startTime) && !string.IsNullOrEmpty(endTime)) //有结束日期 { ViewBag.startTime = Convert.ToDateTime(startTime).AddDays(-1).ToShortDateString().Replace("/", "-"); ViewBag.endTime = endTime; } List<PlanModel> List = syMan.GetPlanData(ViewBag.startTime, ViewBag.endTime, PlanName); return List; } //编辑View public ActionResult EditPlan(string ActionType, string TaskID, string id) { #region PlanModel model = new PlanModel(); Session[MyConst.StartTime] = DateTime.Now; ViewBag.ActionType = ActionType; ViewBag.PlanID = id; ViewBag.TaskID = TaskID; string ActionContent = string.Empty; if (ActionType == "Create") { ActionContent = "添加任务配置"; ViewBag.TaskID = 0; model.PlanBeginTime = Convert.ToDateTime(DateTime.Now.ToString()); //新增时开始时间为系统当前时间 } else if (ActionType == "Edit") { ActionContent = "编辑任务配置"; model = syMan.GetPlanDataByID(id); ViewBag.TaskID = model.TaskID; } else if (ActionType == "View") { ActionContent = "任务配置详情"; model = syMan.GetPlanDataByID(id); ViewBag.TaskID = model.TaskID; } //添加日志 SysLogModel sysModel = new SysLogModel() { Action = "计划任务配置", Content = ActionContent, ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); InitPlan(model.Sn); return View(model); #endregion } //初始化时需要的数据 [NonAction] public void InitPlan(string Sn) { AreaManager arMan = new AreaManager(); ViewBag.Provinces = CommonTools.GetAreaSelectList(arMan.GetAreas()); OwnerManager oMan = new OwnerManager(); ViewBag.Owners = CommonTools.GetOwnerSelectList(oMan.GetAllOwners("")); InvestorManager iMan = new InvestorManager(); ViewBag.Investors = CommonTools.GetInvestorSelectList(iMan.GetAllInvestors("")); UnitsManager uMan = new UnitsManager(); ViewBag.Units = CommonTools.GetUnitsSelectList(uMan.GetAllUnits("")); ContractorInfoManager cMan = new ContractorInfoManager(); ViewBag.Contractors = CommonTools.GetContractorSelectList(cMan.GetAllContractor("")); StationInfoManager staInfoMan = new StationInfoManager(); List<StationInfoModel> stationLists = staInfoMan.GetStations(); ViewBag.Stations = CommonTools.GetStationSelectList(stationLists.FindAll(t => t.IsUsing != 0)); //获取下拉框数据,电站信息 //List<TaskModel> taskLists = syMan.GetTaskData("", "","", "", "List"); //ViewBag.Tasks = CommonTools.GetTaskSelectList(taskLists); //获取下拉框数据,任务配置信息 ViewBag.PlanIntervalsList = PlanIntervalsSelectList(); //任务类型下拉框数据源 ViewBag.PlanReceiveMethodsList = PlanReceiveMethodsSelectList(); //接收方式下拉框数据源 ViewBag.ExecutionIntervalTypeSelectList = ExecutionIntervalTypeSelectList(); //时间间隔下拉框数据源 ViewBag.ExecutionDayList = ExecutionDayList(); //每月日期数下拉框数据源 ViewBag.ExecutionWeekList = ExecutionWeekSelectList(); //一周星期数下拉框数据源 #region 接收人下拉框数据源,获取电站用户 AccountManager userMan = new AccountManager(); GroupManager groupMan = new GroupManager(); List<GroupModel> groupList = groupMan.GetGroups(); //获取所有用户组 if (!string.IsNullOrEmpty(Sn)) { List<GroupModel> groups = groupList.FindAll(f => f.OwnerID == staInfoMan.GetStationBySN(Sn).OwnModel.ID); //获取当前电站所属用户组 ViewBag.PlanReceiverList = CommonTools.GetUserSelectList(userMan.GetUsers().FindAll(u => groups.Contains(u.UserGroup))); //接收人下拉框数据源,获取电站用户 } else { //ViewBag.PlanReceiverList = ""; ViewBag.PlanReceiverList = CommonTools.GetUserSelectList(userMan.GetUsers()); } #endregion } //编辑,Post方法 [HttpPost] public ActionResult EditPlan(PlanModel model, string ActionType) { #region string strContent = string.Empty; if (ActionType == "Create") { strContent = "添加"; ViewBag.ActionType = "Create"; } else { strContent = "修改"; ViewBag.ActionType = "Edit"; } ViewBag.ErrorMsg = string.Empty; if (string.IsNullOrEmpty(model.PlanName)) { ViewBag.ErrorMsg += "<label>请输入计划名称!</label><br/>"; } if (string.IsNullOrEmpty(model.Sn)) { ViewBag.ErrorMsg += "<label>请选择电站!</label><br/>"; } else { InitPlan(model.Sn.Split(',')[0]); } if (string.IsNullOrEmpty(model.PlanBeginTime.ToString())) { ViewBag.ErrorMsg += "<label>请选择开始时间!</label><br/>"; } if (string.IsNullOrEmpty(model.PlanReceiver)) { ViewBag.ErrorMsg += "<label>请输入接收人!</label><br/>"; } if (string.IsNullOrEmpty(model.PlanName)) { ViewBag.ErrorMsg += "<label>请输入接收方式!</label><br/>"; } #region 验证执行频率并赋值 if (!string.IsNullOrEmpty(model.PlanInterval)) { string PlanInterval = model.PlanInterval; //执行间隔(频率) #region if (PlanInterval == "0") //实时 { model.ExecutionInterval = model.ExecutionInterval_InTime; //每天频率/执行间隔 model.ExecutionIntervalType = model.ExecutionIntervalType_InTime; //每天执行间隔类型,注:时、分、秒 model.ExecutionTime_EveryDayType = null; //每天频率类型,注:执行一次、执行间隔 model.ExecutionWeek = null; //执行星期数 model.ExecutionDay = null; //执行日期数 model.ExecutionTime_Hours = null; //执行时间小时数 model.ExecutionTime_Minutes = null; //执行时间分钟数 model.ExecutionTime_Seconds = null; //执行时间秒数 } else if (PlanInterval == "1") //每天 { #region 验证执行时分秒 if (model.ExecutionTime_EveryDayType == "OneTime") //每天频率类型:执行一次 { #region if (!string.IsNullOrEmpty(model.ExecutionTime_DayHours)) //小时数 { model.ExecutionTime_Hours = model.ExecutionTime_DayHours; } else { ViewBag.ErrorMsg += "<label>请选择执行时间小时数!</label><br/>"; } if (!string.IsNullOrEmpty(model.ExecutionTime_DayMinutes)) //分钟数 { model.ExecutionTime_Minutes = model.ExecutionTime_DayMinutes; } else { ViewBag.ErrorMsg += "<label>请选择执行时间分钟数!</label><br/>"; } if (!string.IsNullOrEmpty(model.ExecutionTime_DaySeconds)) //秒数 { model.ExecutionTime_Seconds = model.ExecutionTime_DaySeconds; } else { ViewBag.ErrorMsg += "<label>请选择执行时间秒数!</label><br/>"; } model.ExecutionInterval = null; //每天频率/执行间隔 model.ExecutionIntervalType = null; //每天执行间隔类型,注:时、分、秒 #endregion } else //每天频率:执行间隔 { #region if (!string.IsNullOrEmpty(model.ExecutionInterval)) //每天频率/执行间隔 { model.ExecutionInterval = model.ExecutionInterval; } else { ViewBag.ErrorMsg += "<label>请选择每天频率的执行间隔!</label><br/>"; } model.ExecutionIntervalType = model.ExecutionIntervalType; //每天执行间隔类型,注:时、分、秒 model.ExecutionTime_Hours = null; //执行时间小时数 model.ExecutionTime_Minutes = null; //执行时间分钟数 model.ExecutionTime_Seconds = null; //执行时间秒数 #endregion } #endregion model.ExecutionWeek = null; //执行星期数 model.ExecutionDay = null; //执行日期数 } else //每周、每月 { #region 验证执行时分秒 if (!string.IsNullOrEmpty(model.ExecutionTime_Hours)) //小时数 { model.ExecutionTime_Hours = model.ExecutionTime_Hours; } else { ViewBag.ErrorMsg += "<label>请选择执行时间小时数!</label><br/>"; } if (!string.IsNullOrEmpty(model.ExecutionTime_Minutes)) //分钟数 { model.ExecutionTime_Minutes = model.ExecutionTime_Minutes; } else { ViewBag.ErrorMsg += "<label>请选择执行时间分钟数!</label><br/>"; } if (!string.IsNullOrEmpty(model.ExecutionTime_Seconds)) //秒数 { model.ExecutionTime_Seconds = model.ExecutionTime_Seconds; } else { ViewBag.ErrorMsg += "<label>请选择执行时间秒数!</label><br/>"; } #endregion #region if (PlanInterval == "2") //每周 { model.ExecutionDay = null; //执行日期数 model.ExecutionWeek = model.ExecutionWeek; } else if (PlanInterval == "3") //每月 { model.ExecutionWeek = null; //执行星期数 model.ExecutionDay = model.ExecutionDay; } model.ExecutionInterval = null; //每天频率/执行间隔 model.ExecutionIntervalType = null; //每天执行间隔类型,注:时、分、秒 model.ExecutionTime_EveryDayType = null; //每天频率类型,注:执行一次、执行间隔 #endregion } #endregion } #endregion if (!string.IsNullOrEmpty(ViewBag.ErrorMsg)) //是否存在验证异常信息 { InitPlan(""); return View(model); } if (ModelState.IsValid) { model.PlanReceiver = Request.Form["PlanReceiver"]; //获取多选框值 model.PlanReceiveMethod = Request.Form["PlanReceiveMethod"]; //获取多选框值 if (string.IsNullOrEmpty(model.PlanReceiver)) //验证是否有接收人 { StationInfoManager staMan = new StationInfoManager(); model.SnName = new StationInfoManager().GetStations().Find(g => g.Sn == model.Sn.Split(',')[0]).Name; ViewBag.ErrorMsg = strContent + "失败,请给电站:" + model.SnName + "配置消息接收人!<br/>"; //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent + "任务配置", Content = strContent + "失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return View(model); } #region if (ActionType == "Create") //新增操作 { #region model.PlanMaker = (Session[MyConst.UserModel] as AccountModel).ID.ToString(); List<PlanModel> list = syMan.GetPlanData("", "", "").FindAll(u => u.PlanName == model.PlanName); if (list != null && list.Count > 0) //验证是否重复 { model.PlanReceiver = null; ViewBag.ErrorMsg += "<label>任务配置名称已存在!</label></br> "; //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent + "任务配置", Content = strContent + "失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return View(model); } else { int result = syMan.InsertPlanData(model); //新增数据 //int result = 0; //测试用 //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent + "任务配置", Content = result > 0 ? strContent + "成功" : strContent + "失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); if (result > 0) { return RedirectToAction("PlanManager", "SystemManager"); } else { ViewBag.ErrorMsg = strContent + "失败"; return View(model); } } #endregion } else //修改操作 { #region model.PlanMaker = (Session[MyConst.UserModel] as AccountModel).ID.ToString(); int result = syMan.ModifyPlanData(model); //修改数据 //int result = 0; //测试用 //插入系统日志 SysLogModel sysModel1 = new SysLogModel() { Action = strContent + "任务配置", Content = result > 0 ? strContent + "成功" : strContent + "失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel1); if (result > 0) { return RedirectToAction("PlanManager", "SystemManager"); } else { ViewBag.ErrorMsg = strContent + "失败"; model = syMan.GetPlanDataByID(model.PlanID.ToString()); return View(model); } #endregion } #endregion } else { ViewBag.ErrorMsg = strContent + "失败,请检查录入数据是否正确"; //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = strContent + "任务配置", Content = strContent + "失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return View(model); } #endregion } //删除任务配置 [HttpPost] public ContentResult PlanDelete(int id) { int result = syMan.DeletePlan(id); SysLogModel sysModel = new SysLogModel() { Action = "删除计划配置", Content = result > 0 ? "删除成功" : "删除失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); if (result > 0) { return Content("ok"); } else { return Content(""); } } //获取电站所属用户,下拉框联动 [HttpPost] public JsonResult GetPlanReceiverBySN(string strSn) { AccountManager userMan = new AccountManager(); GroupManager groupMan = new GroupManager(); List<SelectListItem> items = new List<SelectListItem>(); StationInfoManager grpMan = new StationInfoManager(); List<GroupModel> groupList = groupMan.GetGroups(); //获取所有用户组 List<GroupModel> groups = groupList.FindAll(f => f.OwnerID == grpMan.GetStationBySN(strSn.Split(',')[0]).OwnModel.ID); //获取当前电站所属用户组 items.AddRange(CommonTools.GetUserSelectList(userMan.GetUsers().FindAll(u => groups.Contains(u.UserGroup)))); //获取当前电站所属用户 return Json(items, JsonRequestBehavior.AllowGet); } #region 把枚举转换成数组 /// <summary> /// 任务类型枚举 /// </summary> public enum TaskTypes { 系统通讯状态报警 = 0, 电站设备故障报警 = 1, 电站设备性能预警 = 2, 生成电站月报报表=3, 巡检提醒=4 } /// <summary> /// 计划任务执行频率--时间间隔枚举 /// </summary> public enum PlanIntervals { //实时推送 = 0, //每天推送一次 = 1, //每周推送一次 = 2, //每月推送一次 = 3 实时推送 = 0, 每天 = 1, 每周 = 2, 每月 = 3 } /// <summary> /// 每天频率--执行间隔枚举 /// </summary> public enum ExecutionInterval { 时 = 0, 分 = 1, 秒 = 2 } /// <summary> /// 一周的星期数 /// </summary> public enum ExecutionWeek { 星期日 = 0, 星期一 = 1, 星期二 = 2, 星期三 = 3, 星期四 = 4, 星期五 = 5, 星期六 = 6 } /// <summary> /// 接收方式枚举 /// </summary> public enum PlanReceiveMethods { 邮件 = 0, 微信 = 1 } /// <summary> /// 获取每月日期数集合 IList /// </summary> public static IList ExecutionDayList() { List<SelectListItem> selectlist = new List<SelectListItem>(); ArrayList list = new ArrayList(); for (int i = 1; i <= 31;i++ ) { ListItem listitem = new ListItem(i.ToString(), i.ToString()); list.Add(listitem); } return list; } /// <summary> /// 将枚举转换成集合 IList /// </summary> /// <returns></returns> public static IList TaskTypesList() { List<SelectListItem> selectlist = new List<SelectListItem>(); ArrayList list = new ArrayList(); foreach (int i in Enum.GetValues(typeof(TaskTypes))) { ListItem listitem = new ListItem(Enum.GetName(typeof(TaskTypes), i), i.ToString()); list.Add(listitem); } return list; } /// <summary> /// 将任务类型枚举转换成集合 SelectListItem /// </summary> /// <returns></returns> public static List<SelectListItem> TaskTypesSelectList() { List<SelectListItem> selectlist = new List<SelectListItem>(); foreach (int i in Enum.GetValues(typeof(TaskTypes))) { SelectListItem selectitem = new SelectListItem(); selectitem.Value = i.ToString(); selectitem.Text = Enum.GetName(typeof(TaskTypes), i); selectlist.Add(selectitem); } return selectlist; } /// <summary> /// 把接收方式枚举转换成数组 SelectListItem /// </summary> /// <returns></returns> public static List<SelectListItem> PlanReceiveMethodsSelectList() { List<SelectListItem> selectlist = new List<SelectListItem>(); foreach (int i in Enum.GetValues(typeof(PlanReceiveMethods))) { SelectListItem selectitem = new SelectListItem(); selectitem.Value = i.ToString(); selectitem.Text = Enum.GetName(typeof(PlanReceiveMethods), i); selectlist.Add(selectitem); } return selectlist; } /// <summary> /// 把执行间隔(频率)枚举转换成数组 SelectListItem /// </summary> /// <returns></returns> public static List<SelectListItem> PlanIntervalsSelectList() { List<SelectListItem> selectlist = new List<SelectListItem>(); foreach (int i in Enum.GetValues(typeof(PlanIntervals))) { SelectListItem selectitem = new SelectListItem(); selectitem.Value = i.ToString(); selectitem.Text = Enum.GetName(typeof(PlanIntervals), i); selectlist.Add(selectitem); } return selectlist; } /// <summary> /// 把每天频率枚举转换成数组 SelectListItem /// </summary> /// <returns></returns> public static List<SelectListItem> ExecutionWeekSelectList() { List<SelectListItem> selectlist = new List<SelectListItem>(); foreach (int i in Enum.GetValues(typeof(ExecutionWeek))) { SelectListItem selectitem = new SelectListItem(); selectitem.Value = i.ToString(); selectitem.Text = Enum.GetName(typeof(ExecutionWeek), i); selectlist.Add(selectitem); } return selectlist; } /// <summary> /// 把时间间隔枚举转换成数组 SelectListItem /// </summary> /// <returns></returns> public static List<SelectListItem> ExecutionIntervalTypeSelectList() { List<SelectListItem> selectlist = new List<SelectListItem>(); foreach (int i in Enum.GetValues(typeof(ExecutionInterval))) { SelectListItem selectitem = new SelectListItem(); selectitem.Value = i.ToString(); selectitem.Text = Enum.GetName(typeof(ExecutionInterval), i); selectlist.Add(selectitem); } return selectlist; } #endregion #region 批量操作 //保存 [HttpPost] public ContentResult PlanBatchSave(string datas, string strPlanReceiver, string strPlanReceiveMethod) { #region //string id = datas.Split(',')[0]; //PlanModel model = syMan.GetPlanDataByID(id); //根据ID查找任务配置 //model.PlanID = Convert.ToInt32(datas.Split(',')[0]); //计划ID ////model.TaskID = Convert.ToInt32(datas.Split(',')[1]); //任务ID //model.Sn = datas.Split(',')[1]; //电站标识 ////model.PlanReceiver = datas.Split(',')[3]; //接收人 //model.PlanReceiver = strPlanReceiver; //接收人,获取多选框值 ////model.PlanReceiveMethod = datas.Split(',')[3]; //接收方式 //model.PlanReceiveMethod = strPlanReceiveMethod; //接收人,获取多选框值 //model.PlanBeginTime = Convert.ToDateTime(datas.Split(',')[4]); //开始时间 //model.PlanEndTime = Convert.ToDateTime(datas.Split(',')[5]); //结束时间 //model.PlanInterval = datas.Split(',')[6]; //时间间隔 //int t = syMan.ModifyPlanData(model); //批量保存 //if (t > 0) //{ // //插入系统日志 // SysLogModel sysModel = new SysLogModel() // { // Action = "计划配置——批量保存", // Content = "操作成功", // ModuleCode = "XTGL-XT-JHRW" // }; // Syslog.InsertSYSLog(sysModel); // return Content("ok"); //} //else //{ return Content(""); } #endregion #region string id = string.Empty; PlanModel model = new PlanModel(); string ErrorMsg = string.Empty; if (datas.Split(',')[0] == "undefined") { ErrorMsg += "<label>请选择要操作的数据!</label></br> "; } else { #region id = datas.Split(',')[0]; model = syMan.GetPlanDataByID(id); if (datas.Split(',')[0] == "undefined") { ErrorMsg += "<label>请输入计划ID!</label></br> "; } else { model.PlanID = Convert.ToInt32(datas.Split(',')[0]); //计划ID } if (datas.Split(',')[1] == "undefined") { ErrorMsg += "<label>请选择电站标识!</label></br> "; } else { model.Sn = datas.Split(',')[1]; //电站标识 } if (datas.Split(',')[4] == "undefined") { ErrorMsg += "<label>请选择开始时间!</label></br> "; } else { model.PlanBeginTime = Convert.ToDateTime(datas.Split(',')[4]); //开始时间 } if (datas.Split(',')[5] == "undefined") { ErrorMsg += "<label>请选择结束时间!</label></br> "; } else { model.PlanEndTime = Convert.ToDateTime(datas.Split(',')[5]); //结束时间 } //if (datas.Split(',')[6] == "undefined") //{ // ErrorMsg += "<label>请选择时间间隔!</label></br> "; //} //else //{ // model.PlanInterval = datas.Split(',')[6]; //时间间隔 //} #endregion model.PlanReceiver = strPlanReceiver; //接收人,获取多选框值 model.PlanReceiveMethod = strPlanReceiveMethod; //接收方式,获取多选框值 } if (!string.IsNullOrEmpty(ErrorMsg)) { return Content(ErrorMsg); } //string id = datas.Split(',')[0]; //PlanModel model = syMan.GetPlanDataByID(id); //根据ID查找任务配置 //model.PlanID = Convert.ToInt32(datas.Split(',')[0]); //计划ID //model.Sn = datas.Split(',')[1]; //电站标识 //model.PlanReceiver = strPlanReceiver; //接收人,获取多选框值 //model.PlanReceiveMethod = strPlanReceiveMethod; //接收人,获取多选框值 //model.PlanBeginTime = Convert.ToDateTime(datas.Split(',')[4]); //开始时间 //model.PlanEndTime = Convert.ToDateTime(datas.Split(',')[5]); //结束时间 //model.PlanInterval = datas.Split(',')[6]; //时间间隔 else { int t = syMan.ModifyPlanData(model); //批量保存 if (t > 0) { //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = "计划配置——批量保存", Content = "操作成功", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return Content("ok"); } else { return Content("计划配置,批量保存操作失败!"); } } #endregion } //删除 [HttpPost] public ContentResult PlanBatchDelete(int id) { int result = syMan.DeletePlan(id); if (result > 0) { //插入系统日志 SysLogModel sysModel = new SysLogModel() { Action = "计划配置——批量删除", Content = "删除成功", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return Content("ok"); } else { return Content(""); } } //开始推送 [HttpPost] public ContentResult PlanStartSend(string ids) { #region //string result = "OK"; //try //{ // //AlertTaskManager.Task.Start(); // if (!string.IsNullOrEmpty(ids)) // { // //遍历计划执行 // string[] arrStr = ids.Split(','); // for (int i = 0; i < arrStr.Length; i++) // { // PlanModel planModel = syMan.GetPlanDataByID(arrStr[i]);//根据计划PlanID获取计划详细信息,用于执行 // AlertTaskManager.Task.Start(planModel.PlanID.ToString(), planModel.PlanInterval); //执行线程 // } // } //} //catch (Exception) //{ // result = "Error"; //} //SysLogModel sysModel = new SysLogModel() //{ // Action = "开启消息推送", // Content = result == "OK" ? "开启成功" : "开启失败", // ModuleCode = "XTGL-XT-JHRW" //}; //Syslog.InsertSYSLog(sysModel); //return Content(result); #endregion #region string result = "OK"; try { //AlertTaskManager.Task.Start(); if (!string.IsNullOrEmpty(ids)) { int Result = syMan.ModifyPlanExecuteStatus(1, ids); //修改Plan执行状态,为Task();线程获取执行数据源做准备 if (Result != 1) { result = "Error"; } } } catch (Exception) { result = "Error"; } SysLogModel sysModel = new SysLogModel() { Action = "开启消息推送", Content = result == "OK" ? "开启成功" : "开启失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return Content(result); #endregion } ////停止推送 //[HttpPost] //public ContentResult PlanStopSend() //{ // string result = "OK"; // try // { // AlertTaskManager.Task.Stop(); // } // catch (Exception) // { // result = "Error"; // } // SysLogModel sysModel = new SysLogModel() // { // Action = "停止消息推送", // Content = result == "OK" ? "停止成功" : "停止失败", // ModuleCode = "XTGL-XT-JHRW" // }; // Syslog.InsertSYSLog(sysModel); // return Content(result); //} [HttpPost] public ContentResult PlanStopSend(string ids) { string result = "OK"; try { AlertTaskManager.Task.Stop(); //停止线程 if (!string.IsNullOrEmpty(ids)) { int Result = syMan.ModifyPlanExecuteStatus(0, ids); //修改Plan执行状态,为Task();线程获取执行数据源做准备 if (Result != 1) { result = "Error"; } } } catch (Exception) { result = "Error"; } SysLogModel sysModel = new SysLogModel() { Action = "停止消息推送", Content = result == "OK" ? "停止成功" : "停止失败", ModuleCode = "XTGL-XT-JHRW" }; Syslog.InsertSYSLog(sysModel); return Content(result); } #endregion #endregion
相关文章推荐
- 利用Ntdsutil检查计划任务生成的快照(活动目录快照配置管理系列二)
- 一步步学习SPD2010--附录C--使用SP2010管理任务(6)--配置外部内容类型配置文件页面宿主
- 利用计划任务创建快照任务(活动目录快照配置管理系列一)
- 一步步学习SPD2010--附录C--使用SP2010管理任务(6)--配置外部内容类型配置文件页面宿主
- 配置管理计划的新设想
- 配置管理计划的新设想
- 配置管理计划的新设想
- 配置管理计划的新设想
- 用tomcat自带的管理页面配置
- 配置管理计划的新设想
- 软件配置管理计划示例
- 配置管理计划的新设想
- 计划任务工具 cron 的配置和说明
- RHCE课程-RH131Linux管理笔记四-Linux的计划任务 推荐
- 中华人民共和国国家标准 计算机软件配置管理计划规范
- 配置管理计划的新设想
- 配置管理计划的新设想
- linux 计划任务管理 起动java应用程序
- 配置管理计划的新设想
- 计划任务管理 之 计划任务工具 cron 的配置和说明