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;
}
}
}