using Dapper;
using Estsh.Core.Controllers;
using Estsh.Core.Model.ExcelModel;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Services.IServices;
using Estsh.Core.Util;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
using System.Collections;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:零件关键数据
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Web.Controllers
{
public class PartKeyDataDefineController : BaseController
{
private IPartKeyDataDefineService service;
public PartKeyDataDefineController(IPartKeyDataDefineService _service)
{
service = _service;
}
public ActionResult Index()
{
return View();
}
///
/// 获取零件关键数据列表数据
///
/// 菜单名称
/// 分页
/// 排序方式
/// 排序列
///
public ActionResult GetQuery(String partNo ,String txtProcessName,String txtKeyDataName,string cbPdline, Pager pager, String direction, String sort, String enabled = "Y")
{
Hashtable result = new Hashtable();
result.Add("pager.pageNo", pager.pageNo);
Hashtable dataHt = this.service.GetQuery(partNo, pager, direction, sort, txtProcessName, txtKeyDataName, cbPdline, enabled);
result.Add("rows", dataHt["dataList"]);
result.Add("pager.totalRows", dataHt["totalCount"]);
result.Add("sort", sort);
result.Add("direction", direction);
return Json(result);
}
///
/// 判断数据是否存在
///
/// 零件ID
/// 制程ID
/// 关键数据ID
///
public ActionResult GetpartKeyData()
{
string aPartID = "";
string aProcessID = "";
string aKeyDataID = "";
string message = "";
Hashtable reault = new Hashtable();
bool bo = service.GetpartKeyData(aPartID, aProcessID, aKeyDataID);
if (bo)
message = "1";
else
message = "0";
reault.Add("status", message);
return Json(reault);
}
///
/// 获取零件号信息
///
///
public ActionResult GetPartID()
{
Hashtable reault = new Hashtable();
List list = service.GetPartID();
reault.Add("list", list);
return Json(reault);
}
///
/// 获取制程信息
///
///
public ActionResult GetProcessID()
{
Hashtable reault = new Hashtable();
List list = service.GetProcessID();
reault.Add("list", list);
return Json(reault);
}
///
/// 获取关键数据信息
///
///
public ActionResult GetKeyDataID()
{
Hashtable reault = new Hashtable();
List list = service.GetKeyDataID();
reault.Add("list", list);
return Json(reault);
}
///
/// 编辑
///
///
///
public ActionResult edit(string guid)
{
List DeptInfo = this.service.GetRow(" and a.guid='" + guid + "'");
ViewData.Add("editType", "edit");
if (DeptInfo.Count > 0)
{
ViewData.Add("partNo", DeptInfo[0].PartNo);
ViewData.Add("processId", DeptInfo[0].ProcessId);
ViewData.Add("keydataId", DeptInfo[0].KeydataId);
ViewData.Add("itemCount", DeptInfo[0].ItemCount);
ViewData.Add("guid", DeptInfo[0].Guid);
ViewData.Add("torqueCommand", DeptInfo[0].TorqueCommand);
}
return View("EditPartKey");
}
///
/// 删除
///
///
///
public ActionResult delete(string guid)
{
int delCount = 0;
try
{
delCount = this.service.DeleteDetail(guid);
}
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);
}
///
/// 保存数据
///
///
public ActionResult saveDept()
{
String editType = Request.Form["editType"].ToString();
String cmbPartNo = Request.Form["cmbPartNo"].ToString();
String cmbProcessName = Request.Form["cmbProcessName"].ToString();
String cmbKeyDataName = Request.Form["cmbKeyDataName"].ToString();
String nuItemCount = Request.Form["nuItemCount"].ToString();
String torqueCommand = Request.Form["nuTorqueCommand"].ToString();
String message = "";
if (editType != null && editType.Trim().Equals("edit"))
{
try
{
String guid = Request.Form["guid"].ToString();
this.service.UpdateKeyData(guid, cmbProcessName, cmbPartNo, cmbKeyDataName, nuItemCount, torqueCommand);
//统一更新扭矩指令
this.service.UpdateTorqueCommand(cmbPartNo, cmbProcessName, cmbKeyDataName, torqueCommand);
message = "修改成功";
}
catch (Exception e)
{
message = "修改失败!";
}
}
else
{
try
{
if (service.GetpartKeyData(cmbPartNo, cmbProcessName, cmbKeyDataName))
{
message = "数据已经存在!";
}
else
{
this.service.insert(cmbPartNo, cmbProcessName, cmbKeyDataName, nuItemCount, torqueCommand);
//统一更新扭矩指令
this.service.UpdateTorqueCommand(cmbPartNo, cmbProcessName, cmbKeyDataName, torqueCommand);
message = "添加成功";
}
}
catch (Exception e)
{
message = "添加失败!";
}
}
Hashtable result = new Hashtable();
result.Add("message", message);
return Json(result);
}
///
/// 导出数据到Excel
/// BY NOAH
///
///
///
///
///
///
///
public ActionResult exportData(String partNo, 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;
}
}
List dataHt = this.service.getTableListByPage(partNo, enabled_search, pager, direction, sort, paging);//txtOrderNo, pager, direction, sort, paging
var memoryStream = ExcelHelper.ToExcel(dataHt);
return File(memoryStream.ToArray(), "application/ms-excel", "零件关键数据.xls");
}
///
/// 导入Excel文件
///
///
public ActionResult importPartKeyData()
{
Hashtable result = new Hashtable();
IFormFile file = Request.Form.Files[0];
List data = ExcelHelper.GetList(file, 0);
result = service.ImportExcel(data, CurrentEmp.EmpId);
return Json(result);
}
}
}