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.

330 lines
11 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
/// <summary>
/// 获取DPS管理列表数据
/// </summary>
/// <param name="partNo"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 保存DPS数据
/// </summary>
/// <returns></returns>
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);
}
/// <summary>
/// 查看菜单详情
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
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");
}
/// <summary>
/// 编辑菜单
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
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");
}
/// <summary>
/// 删除菜单
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 启用
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 禁用
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
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);
}
/// <summary>
/// 获取 类型 信息
/// BY NOAH
/// </summary>
/// <rehuoturns></returns>
//public ActionResult getBoardName()
//{
// Hashtable result = new Hashtable();
// ArrayList menuList = this.service.getBoardName();
// result.Add("list", menuList);
// return Json(result);
//}
/// <summary>
/// 判断是否为数字类型
/// BY NOAH
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public bool isNum(string s)
{
string pattern = "^[0-9]*$";
Regex rx = new Regex(pattern);
return rx.IsMatch(s);
}
/// <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 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<DPSDefine> listHt = (List<DPSDefine>)dataHt["dataList"];
var memoryStream = ExcelHelper.ToExcel(listHt);
return File(memoryStream.ToArray(), "application/ms-excel", "DPS管理.xls");
}
}
}