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; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:零件免检清单模块控制类 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { /// /// 零件免检清单模块控制类 /// public class PartExemptionListDefineController : BaseController { private IPartExemptionListDefineService service; public PartExemptionListDefineController(IPartExemptionListDefineService _service) { service = _service; } // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 获取零件免检清单管理列表数据 /// /// /// /// /// /// public ActionResult GetListByPage(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(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); } /// /// 获取父节点零件免检清单下拉列表数据 /// /// public ActionResult GetSelect() { Hashtable result = new Hashtable(); List list = this.service.GetSelect(); result.Add("list", list); return Json(result); } /// /// 保存零件免检清单数据 /// /// public ActionResult Save() { String editType = Request.Form["editType"].ToString(); String partId = Request.Form["partId"].ToString(); String partNo = Request.Form["partNo"].ToString(); SysExemptionList sysExemptionList = new SysExemptionList(); Hashtable result = new Hashtable(); String message = ""; if (editType != null && editType.Trim().Equals("edit")) { try { List sysParts = this.service.GetDetailByName(partNo);//根据零件号查询 if (sysParts.Count == 0) { message = "零件号不存在!"; } else { List ht1 = this.service.ifExemptionList(sysParts[0].PartNo); if (ht1.Count != 0) { message = "该零件号已存在于免检清单中!"; } else { sysExemptionList.oldPartId = Convert.ToInt32(partId); sysExemptionList.newPartId = Convert.ToInt32(sysParts[0].PartId); sysExemptionList.PartNo = partNo; sysExemptionList.UpdateUserId = CurrentEmp.EmpId; this.service.Update(sysExemptionList); message = "修改成功"; } } } catch (Exception e) { message = "修改失败!"; } } else { try { List sysParts = this.service.GetDetailByName(partNo);//根据零件号查询 if (sysParts.Count == 0) { message = "零件号不存在!"; result.Add("message", message); return Json(result); } List ht1 = this.service.ifExemptionList(sysParts[0].PartNo); if (ht1.Count != 0) { message = "该零件号已存在于免检清单中!"; } else { sysExemptionList.CreateUserId = CurrentEmp.EmpId; sysExemptionList.PartId = Convert.ToInt32(sysParts[0].PartId); sysExemptionList.PartNo = sysParts[0].PartNo; this.service.Insert(sysExemptionList); message = "添加成功"; } } catch (Exception e) { message = "添加失败!"; } } result.Add("message", message); return Json(result); } /// /// 导入免检清单 /// /// public ActionResult partImport() { int factoryId = CurrentEmp.FactoryId; string factoryCode = CurrentEmp.FactoryCode; Hashtable result = new Hashtable(); IFormFile file = Request.Form.Files[0]; List data = ExcelHelper.GetList(file, 0); result = service.ImportExcel(data, factoryId, factoryCode, CurrentEmp.EmpId); return Json(result); } public ActionResult uploadFile() { return View("uploadFile"); } /// /// 导出数据到Excel /// BY NOAH /// /// public ActionResult exportData(String partNo, string enabled = "Y") { List 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"); } /// /// 下载模板 /// /// public ActionResult downLoadExcel() { List listHt = new List();//导出空数据模板 var memoryStream = ExcelHelper.ToExcel(listHt); string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss"); return File(memoryStream.ToArray(), "application/ms-excel", "零件免检清单"+ dateTime + ".xls"); } /// /// 编辑零件免检清单 /// /// /// public ActionResult Edit(String partNo) { if (!string.IsNullOrEmpty(partNo)) { List Info = this.service.ifExemptionList(partNo); ViewData.Add("editType", "edit"); ViewData.Add("partId", Info[0].PartId); ViewData.Add("partNo", Info[0].PartNo); } else { ViewData.Add("editType", "new"); } return View("editPartExemptionListDefine"); } /// /// 删除零件免检清单 /// /// /// public ActionResult Delete(String ids) { int delCount = 0; try { ids = ids.Substring(0, ids.Length - 1); delCount = this.service.Delete(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); } } }