using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Estsh.Web.Util; using Estsh.Web.Service; using System.Collections; using System.Text.RegularExpressions; using System.Data; using NPOI.HSSF.UserModel; using System.IO; using Estsh.Web.Models; namespace Estsh.Core.Web.Controllers { /*********************************************************** * 工站管制信息管理 * * NOAH * ************************************************************/ public class TerminalControlDefineController : Controller { private TerminalControlDefineService service = new TerminalControlDefineService(); // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 加载功能树 /// /// public ActionResult getMenuTree() { string path = Request.ApplicationPath; if (path.EndsWith("/")) { path = path.Substring(0, path.Length - 1); } List treeNodes = new List(); treeNodes = service.getMenuList("isIndex = '是'", " RUID ASC ", path); Hashtable result = new Hashtable(); result.Add("treeNodes", treeNodes); String json = Estsh.Web.Util.JSON.Encode(result); return Json(result, JsonRequestBehavior.AllowGet); } /// /// 获取菜单管理列表数据 /// /// /// /// /// /// public ActionResult getTerminalControlListByPage(String terminal_name_search, String station_name_search, String station_ip_search, String enabled_search, Pager pager, String direction, String sort) { Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); ArrayList menuList = this.service.getTerminalControlListByPage(terminal_name_search, station_name_search, station_ip_search, enabled_search, pager, direction, sort); result.Add("rows", menuList); int total = this.service.getMenuCount(terminal_name_search, station_name_search, station_ip_search, enabled_search); result.Add("pager.totalRows", total); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } /// /// 保存菜单数据 /// /// public ActionResult saveTerminalControl() { Hashtable result = new Hashtable(); String message = ""; String flag = ""; String editType = Request["editType"].ToString(); String terminal_id = Request["terminal_id"].ToString(); String unlock_pwd = Request["unlock_pwd"].ToString(); String station_name = Request["station_name"].ToString(); String station_ip = Request["station_ip"].ToString(); String view_board_id = Request["view_board_id"].ToString(); String enabled = Request["enabled"].ToString(); String terminal_id_bak = Request["terminal_id_bak"].ToString(); String view_part_location = Request["view_part_location"].ToString(); //页面中的terminal_id if (String.IsNullOrEmpty(terminal_id)) { terminal_id = Request["terminal_id_bak"].ToString(); } ////判断输入的字符是否为空 //if (String.IsNullOrEmpty(terminal_id) || String.IsNullOrEmpty(view_board_id)) //{ // message = "工站名称或者看板名称为空!"; // result.Add("message", message); // return Json(result); //} //传递要更新的数据库字段 2013 0506 14:05 by NOAH Hashtable htParams = new Hashtable(); htParams.Add("@unlock_pwd", unlock_pwd); htParams.Add("@station_name", station_name); htParams.Add("@station_ip", station_ip); htParams.Add("@view_board_id", view_board_id); htParams.Add("@enabled", enabled); htParams.Add("@view_part_location", view_part_location); //用户id UserInfo user = (UserInfo)Session["loginedUser"]; htParams.Add("@update_userid", user.updateUserId); htParams.Add("@create_userid", user.updateUserId); if (!String.IsNullOrEmpty(terminal_id_bak)) { htParams.Add("@terminal_id_bak", terminal_id_bak); } if (editType != null && editType.Trim().Equals("edit")) { try { htParams.Add("@terminal_id",terminal_id); this.service.updateTerminalControl(htParams); message = "修改成功"; flag = "OK"; } catch (Exception e) { message = "修改失败!"; flag = "NO"; } } else { try { htParams.Add("@terminal_id", terminal_id); this.service.saveTerminalControl(htParams); message = "添加成功"; flag = "OK"; } catch (Exception e) { message = "添加失败!"; flag = "NO"; } } result.Add("message", message); result.Add("flag", flag); return Json(result) ; } /// /// 查看菜单详情 /// /// /// public ActionResult getTerminalControlDetail(String terminal_id) { Hashtable ht = this.service.getTerminalControlDetail(terminal_id); ViewData.Add("terminal_id",ht["terminal_id"]); ViewData.Add("terminal_name", ht["terminal_name"]); ViewData.Add("unlock_pwd", ht["unlock_pwd"]); ViewData.Add("station_name", ht["station_name"]); ViewData.Add("station_ip", ht["station_ip"]); ViewData.Add("view_board_name", ht["view_board_name"]); ViewData.Add("view_board_id", ht["view_board_id"]); ViewData.Add("enabled", ht["enabled"]); ViewData.Add("view_part_location", ht["view_part_location"]); return View("~/Views/TerminalControlDefine/ViewTerminalControlDefine.aspx"); } /// /// 编辑菜单 /// /// /// public ActionResult editTerminalControl(String terminal_id) { Hashtable ht = this.service.getTerminalControlDetail(terminal_id); ViewData.Add("editType", "edit"); ViewData.Add("terminal_id", terminal_id); ViewData.Add("terminal_name", ht["terminal_name"]); ViewData.Add("unlock_pwd", ht["unlock_pwd"]); ViewData.Add("station_name", ht["station_name"]); ViewData.Add("station_ip", ht["station_ip"]); ViewData.Add("view_board_name", ht["view_board_name"]); ViewData.Add("view_board_id", ht["view_board_id"]); ViewData.Add("view_part_location", ht["view_part_location"]); ViewData.Add("enabled", ht["enabled"]); return View("~/Views/TerminalControlDefine/EditTerminalControlDefine.aspx"); } /// /// 删除菜单 /// /// /// public ActionResult deleteTerminalControl(String ids) { int delCount = 0; try { delCount = this.service.deleteTerminalControl(ids); } catch(Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 获取 站点 信息 /// BY NOAH /// /// public ActionResult getTerminalName() { Hashtable result = new Hashtable(); ArrayList menuList = this.service.getTerminalName(); result.Add("list", menuList); return Json(result, JsonRequestBehavior.AllowGet); } /// /// 获取 产线 信息 /// BY NOAH /// /// public ActionResult getBoardName() { Hashtable result = new Hashtable(); ArrayList menuList = this.service.getBoardName(); result.Add("list", menuList); return Json(result, JsonRequestBehavior.AllowGet); } /// /// 判断是否为数字类型 /// BY NOAH /// /// /// public bool isNum(string s) { string pattern = "^[0-9]*$"; Regex rx = new Regex(pattern); return rx.IsMatch(s); } /// /// 导出数据到Excel /// BY NOAH /// /// /// /// /// /// /// public ActionResult exportData1(String terminal_name_search, String station_name_search, String station_ip_search, String enabled_search, Pager pager, String sort, String direction, String isPage) { Boolean paging = false; if (isPage == null || "".Equals(isPage)) { paging = false; } else { if ("1".Equals(isPage.Trim())) { paging = true; } else { paging = false; } } DataTable dataHt = this.service.getTableListByPage(terminal_name_search, station_name_search, station_ip_search, enabled_search, pager, direction, sort, paging);//txtOrderNo, pager, direction, sort, paging HSSFWorkbook workbook = new HSSFWorkbook(); Stream outputStream = Response.OutputStream; HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("工站管制信息管理"); try { if (workbook != null) { HSSFRow headRow = (HSSFRow)sheet.CreateRow(0); headRow.CreateCell(0).SetCellValue("工站编号"); headRow.CreateCell(1).SetCellValue("工站名称"); headRow.CreateCell(2).SetCellValue("解锁码"); headRow.CreateCell(3).SetCellValue("工站电脑名称"); headRow.CreateCell(4).SetCellValue("工站电脑IP"); headRow.CreateCell(5).SetCellValue("看板名称"); headRow.CreateCell(6).SetCellValue("启用/禁用"); } for (int i = 0; i < dataHt.Rows.Count; i++) { int row = i + 1; HSSFRow dataRow = (HSSFRow)sheet.CreateRow(row); dataRow.CreateCell(0).SetCellValue(dataHt.Rows[i]["terminal_id"].ToString()); dataRow.CreateCell(1).SetCellValue(dataHt.Rows[i]["terminal_name"].ToString()); dataRow.CreateCell(2).SetCellValue(dataHt.Rows[i]["unlock_pwd"].ToString()); dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["station_name"].ToString()); dataRow.CreateCell(4).SetCellValue(dataHt.Rows[i]["station_ip"].ToString()); dataRow.CreateCell(5).SetCellValue(dataHt.Rows[i]["view_board_name"].ToString()); dataRow.CreateCell(6).SetCellValue(dataHt.Rows[i]["enabled"].ToString()); } Response.Clear(); workbook.Write(outputStream); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment;filename=工站管制信息管理.xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; Response.Flush(); } catch (Exception e) { } finally { workbook = null; } return null; } ///// ///// 导出数据到Excel ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// ///// public ActionResult exportData(int totalRows1) { #region 查询汇总数据 string whereStr = string.Empty; //#region 汇总信息 whereStr = "1=1"; Pager pager1 = new Pager(); pager1.pageSize = Convert.ToInt32(totalRows1); pager1.totalRows = pager1.pageSize; DataTable sumList = service.GetSumMessage(whereStr, ref pager1);//获得汇总信息 #endregion Stream outputStream = Response.OutputStream; #region string AbsolutePath = Request.UrlReferrer.AbsolutePath; string url = AbsolutePath.Remove(0, Request.ApplicationPath.Length); GridColumnService colService = new GridColumnService(); Models.SysWebGridColumn[] sumGridItems = colService.GetColumnByUrl(url, "工站管制信息管理");//查询汇总GtidColumn HSSFWorkbook workbook = NPOIExcelTools.DataTableToWorkbook(sumGridItems, sumList, "工站管制信息管理");//将汇总表转换为Workbook Response.Clear(); workbook.Write(outputStream); Response.Buffer = true; Response.AppendHeader("Content-Disposition", "attachment;filename=工站管制信息管理.xls"); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/vnd.ms-excel"; Response.Flush(); #endregion return null; } } }