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.

267 lines
9.6 KiB
C#

using System.Collections;
using Microsoft.AspNetCore.Mvc;
using Estsh.Core.Services.IServices;
using Estsh.Core.Models;
using Estsh.Core.Util;
using Estsh.Core.Controllers;
using Estsh.Core.Model.Result;
using Estsh.Core.Model.ExcelModel;
namespace Estsh.Core.Web.Controllers
{
/// <summary>
/// 支给件零件号
/// </summary>
public class SupportingPartDefineController : BaseController
{
private ISupportingPartDefineService service;
public SupportingPartDefineController(ISupportingPartDefineService _service)
{
service = _service;
}
//
// GET: /Menu/
public ActionResult Index()
{
return View();
}
/// <summary>
/// 获取支给件维护管理列表数据
/// </summary>
/// <param name="partNo"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
public ActionResult GetListByPage(String customerPart ,String partNo, String partSpec, Pager pager, String direction, String sort, String enabled = "Y")
{
Hashtable result = new Hashtable();
result.Add("pager.pageNo", pager.pageNo);
Hashtable dataHt = this.service.GetListByPage(customerPart , partNo, partSpec, pager, direction, sort, 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>
/// <rehuoturns></returns>
public ActionResult GetSelect()
{
Hashtable result = new Hashtable();
List<KeyValueResult> list = this.service.GetSelect();
result.Add("list", list);
return Json(result);
}
/// <summary>
/// 保存支给件维护数据
/// </summary>
/// <returns></returns>
public ActionResult Save()
{
String editType = Request.Form["editType"].ToString();
String ruid = Request.Form["ruid"].ToString();
String customerPart = Request.Form["customerPart"].ToString();
String partNo = Request.Form["partNo"].ToString();
WmsCustomerToStock sysExemptionList = new WmsCustomerToStock();
Hashtable result = new Hashtable();
String message = "";
if (editType != null && editType.Trim().Equals("edit"))
{
try
{
List<SysPart> sysParts = this.service.GetDetailByName(partNo);//根据零件号查询
if (sysParts.Count == 0)
{
message = "零件号不存在!";
}
else
{
List<WmsCustomerToStock> ht1 = this.service.ifExemptionList(customerPart, sysParts[0].PartNo);
if (ht1.Count != 0)
{
message = "该零件号已存在于支给件维护中!";
}
else
{
sysExemptionList.ruid = Convert.ToInt32(ruid);
sysExemptionList.CustomerPart = customerPart;
sysExemptionList.PartId = sysParts[0].PartId;
sysExemptionList.PartNo = sysParts[0].PartNo;
sysExemptionList.PartSpec = sysParts[0].PartSpec;
sysExemptionList.PartSpec2 = sysParts[0].PartSpec2;
sysExemptionList.FactoryId = CurrentEmp.FactoryId;
sysExemptionList.FactoryCode = CurrentEmp.FactoryCode;
sysExemptionList.UpdateUserId = CurrentEmp.EmpId;
this.service.Update(sysExemptionList);
message = "修改成功";
}
}
}
catch (Exception e)
{
message = "修改失败!";
}
}
else
{
try
{
List<SysPart> sysParts = this.service.GetDetailByName(partNo);//根据零件号查询
if (sysParts.Count == 0)
{
message = "零件号不存在!";
result.Add("message", message);
return Json(result);
}
List<WmsCustomerToStock> ht1 = this.service.ifExemptionList(customerPart, sysParts[0].PartNo);
if (ht1.Count != 0)
{
message = "该零件号已存在于支给件维护中!";
}
else
{
sysExemptionList.CustomerPart = customerPart;
sysExemptionList.PartId = sysParts[0].PartId;
sysExemptionList.PartNo = sysParts[0].PartNo;
sysExemptionList.PartSpec = sysParts[0].PartSpec;
sysExemptionList.PartSpec2 = sysParts[0].PartSpec2;
sysExemptionList.FactoryId = CurrentEmp.FactoryId;
sysExemptionList.FactoryCode = CurrentEmp.FactoryCode;
this.service.Insert(sysExemptionList);
message = "添加成功";
}
}
catch (Exception e)
{
message = "添加失败!";
}
}
result.Add("message", message);
return Json(result);
}
/// <summary>
/// 导入支给件维护
/// </summary>
/// <returns></returns>
public ActionResult partImport()
{
int factoryId = CurrentEmp.FactoryId;
string factoryCode = CurrentEmp.FactoryCode;
Hashtable result = new Hashtable();
IFormFile file = Request.Form.Files[0];
List<SupportingPartDefine> data = ExcelHelper.GetList<SupportingPartDefine>(file, 0);
result = service.ImportExcel(data, factoryId, factoryCode, CurrentEmp.EmpId);
return Json(result);
}
public ActionResult uploadFile()
{
return View("uploadFile");
}
/// <summary>
/// 导出数据到Excel
/// BY NOAH
/// </summary>
/// <returns></returns>
public ActionResult exportData(String partNo, string enabled = "Y")
{
List<SupportingPartDefine> listHt = this.service.getExportList(partNo, enabled);
var memoryStream = ExcelHelper.ToExcel(listHt);
string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
return File(memoryStream.ToArray(), "application/ms-excel", "支给件维护" + dateTime + ".xls");
}
/// <summary>
/// 下载模板
/// </summary>
/// <returns></returns>
public ActionResult downLoadExcel()
{
List<SupportingPartDefine> listHt = new List<SupportingPartDefine>();//导出空数据模板
var memoryStream = ExcelHelper.ToExcel(listHt);
string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss");
return File(memoryStream.ToArray(), "application/ms-excel", "支给件维护" + dateTime + ".xls");
}
/// <summary>
/// 编辑支给件维护
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public ActionResult Edit(String ruid)
{
if (!string.IsNullOrEmpty(ruid))
{
List<WmsCustomerToStock> Info = this.service.ifExemptionList(ruid);
ViewData.Add("editType", "edit");
ViewData.Add("ruid", Info[0].ruid);
ViewData.Add("partId", Info[0].PartId);
ViewData.Add("partNo", Info[0].PartNo);
ViewData.Add("partSpec", Info[0].PartSpec);
ViewData.Add("customerPart", Info[0].CustomerPart);
}
else
{
ViewData.Add("editType", "new");
}
return View("editSupportingPartDefine");
}
/// <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);
}
}
}