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 System.Collections; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:委外BOM * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { public class OutsourceBomController : BaseController { private IOutsourceBomService service; public OutsourceBomController(IOutsourceBomService _service) { service = _service; } // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 获取库位零件管理列表数据 /// /// /// /// /// /// public ActionResult getBomListByPage(string partNo, string itemPartNo, Pager pager, String direction, String sort, string enabled = "Y") { int factoryId = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getBomListByPage(partNo, itemPartNo, 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); } public ActionResult GetpartInfo() { Hashtable result = new Hashtable(); List menuList = this.service.GetpartInfo(); result.Add("list", menuList); return Json(result); } /// /// 保存菜单数据 /// /// public ActionResult saveOutsourceBom() { String message = ""; String flag = ""; String editType = Request.Form["editType"].ToString(); String ruid = Request.Form["ruid"].ToString(); String partNo = Request.Form["partNo"].ToString(); String itemPartNo = Request.Form["itemPartNo"].ToString(); String enabled = Request.Form["enabled"].ToString(); List partInfo = service.GetPartInfo(partNo); if (partInfo.Count == 0) { Hashtable resultMsg = new Hashtable(); resultMsg.Add("flag", "false"); resultMsg.Add("message", "源零件号不存在,请重新输入"); return Json(resultMsg); } List itemPartNoInfo = service.GetPartInfo(itemPartNo); if (itemPartNoInfo.Count == 0) { Hashtable resultMsg = new Hashtable(); resultMsg.Add("flag", "false"); resultMsg.Add("message", "目标零件号不存在,请重新输入"); return Json(resultMsg); } int partId = partInfo[0].PartId; string partSpec = partInfo[0].PartSpec; WmsOutsourceBom wmsOutsourceBom = new WmsOutsourceBom(); wmsOutsourceBom.PartNo = partNo; wmsOutsourceBom.ItemPartNo = itemPartNo; wmsOutsourceBom.Enabled = enabled; wmsOutsourceBom.FactoryId = CurrentEmp.FactoryId; wmsOutsourceBom.FactoryCode = CurrentEmp.FactoryCode; try { if (editType != null && editType.Trim().Equals("edit")) { wmsOutsourceBom.Ruid = Convert.ToInt32(ruid == null ? 0 : ruid); wmsOutsourceBom.UpdateUserId = CurrentEmp.EmpId; int num = this.service.updateOutsourceBom(wmsOutsourceBom); if (num > 0) { flag = "true"; message = "修改成功"; } else { flag = "false"; message = "修改失败!"; } } else { wmsOutsourceBom.CreateUserId = CurrentEmp.EmpId; wmsOutsourceBom.Guid = Guid.NewGuid().ToString(); int num = this.service.saveOutsourceBom(wmsOutsourceBom); if (num > 0) { flag = "true"; message = "添加成功"; } else { flag = "false"; message = "添加失败!"; } } } catch (Exception e) { flag = "false"; message = "添加失败!" + e.Message; } Hashtable result = new Hashtable(); result.Add("flag", flag); result.Add("message", message); return Json(result); } /// /// 编辑菜单 /// /// /// public ActionResult editOutsourceBom(String ruid) { if (!string.IsNullOrEmpty(ruid)) { Hashtable ht = this.service.getOutsourceBomDetail(ruid); ViewData.Add("editType", "edit"); ViewData.Add("partNo", ht["partNo"]); ViewData.Add("itemPartNo", ht["itemPartNo"]); ViewData.Add("factoryId", ht["factoryId"]); ViewData.Add("factoryCode", ht["factoryCode"]); ViewData.Add("enabled", ht["enabled"]); ViewData.Add("ruid", ht["ruid"]); } else { ViewData.Add("editType", "new"); } return View("EditOutsourceBom"); } /// /// 删除菜单 /// /// /// public ActionResult deleteOutsourceBom(String ruid) { int delCount = 0; try { delCount = this.service.deleteOutsourceBom(ruid); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 启用 /// /// /// public ActionResult onEnable(String ruid) { int delCount = 0; try { delCount = this.service.EnableOutsourceBom(ruid); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 禁用 /// /// /// public ActionResult onDisable(String ruid) { int delCount = 0; try { delCount = this.service.DisableOutsourceBom(ruid); } catch (Exception e) { delCount = -1; } Hashtable result = new Hashtable(); result.Add("status", delCount); return Json(result); } /// /// 导入 /// /// public ActionResult importFile() { 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 itemPartNo, string enabled = "Y") { List listHt = this.service.getExportList(partNo, itemPartNo, enabled, CurrentEmp.FactoryId); var memoryStream = ExcelHelper.ToExcel(listHt); string dateTime = DateTime.Now.ToString("yyyyMMddHHmmss"); return File(memoryStream.ToArray(), "application/ms-excel", "委外Bom" + 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", "委外Bom" + dateTime + ".xls"); } } }