You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

292 lines
9.8 KiB
C#

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();
}
/// <summary>
/// 获取菜单管理列表数据
/// </summary>
/// <param name="menuName"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 保存菜单数据
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// 查看菜单详情
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
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");
}
/// <summary>
/// 编辑菜单
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
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");
}
/// <summary>
/// 删除菜单
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 导出数据到Excel
/// BY NOAH
/// </summary>
/// <param name="pager"></param>
/// <param name="txtOrderNo"></param>
/// <param name="sort"></param>
/// <param name="direction"></param>
/// <param name="isPage"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 导入Excel文件
/// </summary>
/// <returns></returns>
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);
}
}
}