using System.Collections; using Aspose.Cells; using Microsoft.AspNetCore.Mvc; using Estsh.Core.Services.IServices; using Estsh.Core.Model.Result; using Estsh.Core.Models; using System.Text.Json; using Estsh.Core.Controllers; using Estsh.Core.Model.ExcelModel; using Estsh.Core.Util; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:BOM查询 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { public class BOMSearchController : BaseController { private IBOMSearchService service; public BOMSearchController(IBOMSearchService _service) { service = _service; } // // GET: /BOMSearchController/ public ActionResult Index() { return View(); } /// /// 获取BOM数据列表 /// /// /// /// /// /// public ActionResult getListByPage(String partNo,string partSpec, string itemPartNo,string itemPartSpec, Pager pager, String direction, String sort, string enabled = "Y") { string factoryId = CurrentEmp.FactoryId.ToString(); Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getListByPage(partNo, partSpec, itemPartNo, itemPartSpec, enabled, factoryId, 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); } #region 过滤零件号 public ActionResult GetPart_no(string q) { List list = filePart(q); return writeResult(list); } /// /// 过滤零件号 /// /// /// public List filePart(string key) { Hashtable autoComplateList = GetItemPart(key); List result = new List(); foreach (System.Collections.DictionaryEntry item in autoComplateList) { if (item.Value.ToString().ToUpper().StartsWith(key.ToUpper())) { result.Add(item.Value.ToString()); } } return result; } /// /// 查询零件号 /// /// /// public Hashtable GetItemPart(string key) { List autoComplateList = new List(); Hashtable result = new Hashtable(); try { List dt = service.GetPartInfo(key); for (int i = 0; i < dt.Count; i++) { result.Add(dt[i].PartId.ToString(), dt[i].PartNo.ToString()); } } catch (Exception e) { result = new Hashtable(); } return result; } #endregion private ActionResult writeResult(List list) { Hashtable result = new Hashtable(); result.Add("list", list); return Json(result); } /// /// 导出Bom 数据 /// /// public ActionResult exportBOMInfo(String bomType, String partId) { List dataHt = this.service.exportBOMInfo(bomType, partId); var memoryStream = ExcelHelper.ToExcel(dataHt); return File(memoryStream.ToArray(), "application/ms-excel", "BOM管理.xls"); } public ActionResult exportALL(String bomType) { List dataHt = this.service.exportALL(bomType); var memoryStream = ExcelHelper.ToExcel(dataHt); return File(memoryStream.ToArray(), "application/ms-excel", "BOM管理.xls"); } } }