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 TerminalEmpDefineController : Controller { private TerminalEmpDefineService service = new TerminalEmpDefineService(); // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 获取菜单管理列表数据 /// /// /// /// /// /// public ActionResult getTerminalEmpListByPage(String terminal_name, string emp_no,string emp_id, Pager pager, String direction, String sort) { Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getTerminalEmpListByPage(terminal_name,emp_no,emp_id, pager, direction, sort); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); result.Add("sort", sort); result.Add("direction", direction); string startTime = Convert.ToDateTime(Request["txtStartTime"]).ToString("yyyy-MM-dd HH:mm:ss"); string endTime = Convert.ToDateTime(Request["txtEndTime"]).ToString("yyyy-MM-dd HH:mm:ss"); return Json(result); } /// /// 保存菜单数据 /// /// public ActionResult saveTerminalEmp() { Hashtable result = new Hashtable(); String message = ""; String flag = ""; String editType = Request["editType"].ToString(); String ruid = Request["ruid"].ToString(); int emp_id = this.service.GetEmpId(Request["emp_no"].ToString()); String emp_no = Request["emp_no"].ToString(); int terminal_id = this.service.GetTerminalName(Request["terminal_name"].ToString()); if (terminal_id == 0) { result.Add("message", "工位名称不存在!"); result.Add("flag", "Fail"); return Json(result); } if (emp_id == 0) { result.Add("message", "员工用户不存在,请先在员工管理中添加!"); result.Add("flag", "Fail"); return Json(result); } bool CplID = service.GetEmpnoTerminalId( Request["terminal_name"].ToString(),emp_no); if (CplID == true) { result.Add("message", string.Format("账号" + emp_no + "对应此工位" + Request["terminal_name"].ToString() + "已存在!")); result.Add("flag", "error"); return Json(result); } //传递要更新的数据库字段 Hashtable htParams = new Hashtable(); htParams.Add("@emp_id", emp_id); htParams.Add("@emp_no", emp_no); htParams.Add("@terminal_id", terminal_id); //用户id UserInfo user = (UserInfo)Session["loginedUser"]; htParams.Add("@update_userid", user.updateUserId); htParams.Add("@create_userid", user.updateUserId); if (editType != null && editType.Trim().Equals("edit")) { try { htParams.Add("@ruid", ruid); this.service.updateTerminalEmp(htParams); message = "修改成功"; flag = "OK"; } catch (Exception e) { message = "修改失败!"; flag = "Fail"; } } else { try { htParams.Add("@ruid", ruid); this.service.saveTerminalEmp(htParams); message = "添加成功"; flag = "OK"; } catch (Exception e) { message = "添加失败!"; flag = "Fail"; } } result.Add("message", message); result.Add("flag", flag); return Json(result); } /// /// 查看菜单详情 /// /// /// public ActionResult getTerminalEmpDetail(String ruid) { Hashtable ht = this.service.getTerminalEmpDetail(ruid); ViewData.Add("ruid", ht["ruid"]); ViewData.Add("emp_id", ht["emp_id"]); ViewData.Add("emp_no", ht["emp_no"]); ViewData.Add("terminal_name", ht["terminal_name"]); return View("~/Views/TerminalEmpDefine/ViewTerminalEmpDefine.aspx"); } /// /// 编辑菜单 /// /// /// public ActionResult editTerminalEmp(String ruid) { Hashtable ht = this.service.getTerminalEmpDetail(ruid); ViewData.Add("editType", "edit"); ViewData.Add("ruid", ht["ruid"]); ViewData.Add("emp_id", ht["emp_id"]); ViewData.Add("emp_no", ht["emp_no"]); ViewData.Add("terminal_name", ht["terminal_name"]); return View("~/Views/TerminalEmpDefine/EditTerminalEmpDefine.aspx"); } /// /// 删除菜单 /// /// /// public ActionResult deleteTerminalEmp(String ids) { int delCount = 0; try { delCount = this.service.deleteTerminalEmp(ids); } catch(Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 导出数据到Excel /// BY NOAH /// /// /// /// /// /// /// public ActionResult exportData(String terminal_name, string emp_no,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.getTerminalEmpExport(terminal_name, emp_no, pager, direction, sort); 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("员工名称"); } 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]["emp_no"].ToString()); dataRow.CreateCell(3).SetCellValue(dataHt.Rows[i]["emp_name"].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 importTerminalEmpInfo() { Hashtable result = new Hashtable(); HttpPostedFileBase userDataFile = Request.Files[0]; UserInfo user = (UserInfo)Session["loginedUser"]; if (userDataFile == null) { return null; } result = service.ReadExcelFile(userDataFile.InputStream, user.empId); return Json(result); } } }