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