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.

310 lines
10 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.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();
}
/// <summary>
/// 获取零件关键数据列表数据
/// </summary>
/// <param name="CartonTrackName">菜单名称</param>
/// <param name="pager">分页</param>
/// <param name="direction">排序方式</param>
/// <param name="sort">排序列</param>
/// <returns></returns>
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);
}
/// <summary>
/// 判断数据是否存在
/// </summary>
/// <param name="aPartID">零件ID</param>
/// <param name="aProcessID">制程ID</param>
/// <param name="aKeyDataID">关键数据ID</param>
/// <returns></returns>
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);
}
/// <summary>
/// 获取零件号信息
/// </summary>
/// <returns></returns>
public ActionResult GetPartID()
{
Hashtable reault = new Hashtable();
List<KeyValueResult> list = service.GetPartID();
reault.Add("list", list);
return Json(reault);
}
/// <summary>
/// 获取制程信息
/// </summary>
/// <returns></returns>
public ActionResult GetProcessID()
{
Hashtable reault = new Hashtable();
List<KeyValueResult> list = service.GetProcessID();
reault.Add("list", list);
return Json(reault);
}
/// <summary>
/// 获取关键数据信息
/// </summary>
/// <returns></returns>
public ActionResult GetKeyDataID()
{
Hashtable reault = new Hashtable();
List<KeyValueResult> list = service.GetKeyDataID();
reault.Add("list", list);
return Json(reault);
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public ActionResult edit(string guid)
{
List<SysPartKeydata> 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");
}
/// <summary>
/// 删除
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
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);
}
/// <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>
/// 保存数据
/// </summary>
/// <returns></returns>
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);
}
/// <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, 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<PartKeyDataDefine> 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");
}
/// <summary>
/// 导入Excel文件
/// </summary>
/// <returns></returns>
public ActionResult importPartKeyData()
{
Hashtable result = new Hashtable();
IFormFile file = Request.Form.Files[0];
List<PartKeyDataDefine> data = ExcelHelper.GetList<PartKeyDataDefine>(file, 0);
result = service.ImportExcel(data, CurrentEmp.EmpId);
return Json(result);
}
}
}