using Dapper;
using Estsh.Core.Controllers;
using Estsh.Core.IRepositories;
using Estsh.Core.IServices;
using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Models;
using Estsh.Core.Services.IServices;
using Estsh.Core.Util;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using System.Collections;
using System.Text;
using System.Text.RegularExpressions;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:DPS管理
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Web.Controllers
{
public class DPSDefineController : BaseController
{
private IDPSDefineService service;
public DPSDefineController(IDPSDefineService _service)
{
service = _service;
}
//
// GET: /Menu/
public ActionResult Index()
{
return View();
}
///
/// 获取DPS管理列表数据
///
///
///
///
///
///
public ActionResult getDPSListByPage(String partNo_search, String mt_area_search, String control_id_search, String addr_search,
String mt_group_search, String enabled_search, Pager pager, String direction, String sort)
{
Hashtable result = new Hashtable();
result.Add("pager.pageNo", pager.pageNo);
Hashtable dataHt = this.service.getDPSListByPage(partNo_search, mt_area_search, control_id_search, addr_search,
mt_group_search, enabled_search, pager, direction, sort);
result.Add("rows", dataHt["dataList"]);
result.Add("pager.totalRows", dataHt["totalCount"]);
result.Add("sort", sort);
result.Add("direction", direction);
return Json(result);
}
///
/// 保存DPS数据
///
///
public ActionResult saveDPS()
{
Hashtable result = new Hashtable();
String message = "";
String editType = Request.Form["editType"].ToString();
String ruid = Request.Form["ruid"].ToString();
String partId;
String mtArea = Request.Form["mtArea"].ToString();
String mtGroup = Request.Form["mtGroup"].ToString();
//String viewBoardId = Request["viewBoardId"].ToString();
String addrId = Request.Form["addrId"].ToString();
String sysPartNo = Request.Form["sysPartNo"].ToString();
String partName = Request.Form["partName"].ToString();
String partSpec = Request.Form["partSpec"].ToString();
String enabled = Request.Form["enabled"].ToString();
String isFinish = Request.Form["isFinish"].ToString();
String controlId = Request.Form["controlId"].ToString();
//判断输入的‘partNo’ 在数据库中是否存在
if (String.IsNullOrEmpty(this.service.isExsitPart_no(sysPartNo)))
{
message = "输入的零件号不存在!";
result.Add("message", message);
return Json(result);
}
else
{
partId = this.service.isExsitPart_no(sysPartNo);
}
//判断输入的值是否为数字类型
if (!isNum(addrId) || !isNum(controlId))
{
message = "带 * 的只能输入数字!";
result.Add("message", message);
return Json(result);
}
//传递要更新的数据库字段 2013 0327 14:05 by NOAH
GDps model = new GDps();
model.PartId = Convert.ToInt32(partId);
model.MtArea = mtArea;
model.mtGroup = mtGroup;
model.AddrId = Convert.ToInt32(addrId);
model.PartNo = sysPartNo;
model.PartName = partName;
model.partSpec = partSpec;
model.IsFinish = isFinish;
model.ControlId = Convert.ToInt32(controlId);
model.Enabled = enabled;
if (editType != null && editType.Trim().Equals("edit"))
{
try
{
model.UpdateUserId = CurrentEmp.EmpId;
model.Ruid = Convert.ToInt32(ruid);
this.service.updateDPS(model);
message = "修改成功";
}
catch (Exception e)
{
message = "修改失败!" + e.Message;
}
}
else
{
model.IsLight = "N";
model.IsRunning = "N";
try
{
model.CreateUserId = CurrentEmp.EmpId;
this.service.saveDPS(model);
message = "添加成功";
}
catch (Exception e)
{
message = "添加失败!" + e.Message;
}
}
result.Add("message", message);
return Json(result);
}
///
/// 查看菜单详情
///
///
///
public ActionResult getDPSDetail(String ruid)
{
Hashtable ht = this.service.getDPSDetail(ruid);
ViewData.Add("ruid", ht["ruid"]);
ViewData.Add("mtGroup", ht["mtGroup"]);
ViewData.Add("mtArea", ht["mtArea"]);
ViewData.Add("viewBoardId", ht["viewBoardId"]);
ViewData.Add("addrId", ht["addrId"]);
ViewData.Add("controlId", ht["controlId"]);
ViewData.Add("sysPartNo", ht["sysPartNo"]);
ViewData.Add("partName", ht["partName"]);
ViewData.Add("partSpec", ht["partSpec"]);
ViewData.Add("isFinish", ht["isFinish"]);
ViewData.Add("enabled", ht["enabled"]);
return View("ViewDPSDefine");
}
///
/// 编辑菜单
///
///
///
public ActionResult editDPS(String ruid)
{
if (!string.IsNullOrEmpty(ruid))
{
Hashtable ht = this.service.getDPSDetail(ruid);
ViewData.Add("editType", "edit");
ViewData.Add("ruid", ht["ruid"]);
ViewData.Add("mtArea", ht["mtArea"]);
ViewData.Add("mtGroup", ht["mtGroup"]);
ViewData.Add("addrId", ht["addrId"]);
ViewData.Add("controlId", ht["controlId"]);
ViewData.Add("sysPartNo", ht["sysPartNo"]);
ViewData.Add("partName", ht["partName"]);
ViewData.Add("partSpec", ht["partSpec"]);
ViewData.Add("isFinish", ht["isFinish"]);
ViewData.Add("enabled", ht["enabled"]);
}
else
{
ViewData.Add("editType", "new");
}
return View("EditDPSDefine");
}
///
/// 删除菜单
///
///
///
public ActionResult deleteDPS(String ids)
{
int delCount = 0;
try
{
delCount = this.service.deleteDPS(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 启用
///
///
///
public ActionResult onEnable(String ids)
{
int delCount = 0;
try
{
delCount = this.service.EnableData(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 禁用
///
///
///
public ActionResult onDisable(String ids)
{
int delCount = 0;
try
{
delCount = this.service.DisableData(ids);
}
catch (Exception e)
{
delCount = -1;
}
Hashtable result = new Hashtable();
result.Add("status", delCount);
return Json(result);
}
///
/// 获取 类型 信息
/// BY NOAH
///
///
//public ActionResult getBoardName()
//{
// Hashtable result = new Hashtable();
// ArrayList menuList = this.service.getBoardName();
// result.Add("list", menuList);
// return Json(result);
//}
///
/// 判断是否为数字类型
/// 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 exportData(String partNo_search, String mt_area_search, String control_id_search, String addr_search,
String mt_group_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;
}
}
Hashtable dataHt = this.service.getTableListByPage(partNo_search, mt_area_search, control_id_search, addr_search,
mt_group_search, enabled_search, pager, direction, sort, paging);
List listHt = (List)dataHt["dataList"];
var memoryStream = ExcelHelper.ToExcel(listHt);
return File(memoryStream.ToArray(), "application/ms-excel", "DPS管理.xls");
}
}
}