using Dapper; using Estsh.Core.Controllers; using Estsh.Core.Model.ExcelModel; using Estsh.Core.Model.Result; using Estsh.Core.Models; using Estsh.Core.Services; using Estsh.Core.Services.IServices; using Estsh.Core.Util; using Microsoft.AspNetCore.Mvc; using System.Collections; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:回冲配置 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { public class PDLineDefineController : BaseController { private IPDLineDefineService service; private ICommonService commonService; public PDLineDefineController(IPDLineDefineService _service, ICommonService _commonService) { service = _service; commonService = _commonService; } // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 获取产线列表数据 /// /// /// /// /// /// public ActionResult getPDLineListByPage(String pdlineCode, String pdlineName, 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.getPDLineListByPage(pdlineCode, pdlineName, factoryid, 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 getFactoryList() { Hashtable result = new Hashtable(); List menuList = commonService.getFactoryInfo(); result.Add("list", menuList); return Json(result); } /// /// 获取线边库区下拉列表数据 /// /// public ActionResult getSelectSrcZone() { int factoryid = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); List menuList = service.getSelectSrcZone(factoryid); result.Add("list", menuList); return Json(result); } /// /// 获取线边库位拉列表数据 /// /// public ActionResult getSelectSrcLocate(string zoneId) { int factoryid = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); List menuList = service.getSelectSrcLocate(zoneId, factoryid); result.Add("list", menuList); return Json(result); } /// /// 获取成品库区下拉列表数据 /// /// public ActionResult getSelectDestZone() { int factoryid = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); List menuList = service.getSelectDestZone(factoryid); result.Add("list", menuList); return Json(result); } /// /// 获取成品库位拉列表数据 /// /// public ActionResult getSelectDestLocate(string zoneId) { int factoryid = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); List menuList = service.getSelectDestLocate(zoneId, factoryid); result.Add("list", menuList); return Json(result); } /// /// 保存产线数据 /// /// public ActionResult savePdline() { String editType = Request.Form["editType"].ToString(); String pdlineId = Request.Form["pdlineId"].ToString(); String pdlineCode = Request.Form["pdlineCode"].ToString(); String pdlineName = Request.Form["pdlineName"].ToString(); String pdlineDesc = Request.Form["pdlineDesc"].ToString(); String enabled = Request.Form["enabled"].ToString(); String partPrepare = Request.Form["partPrepare"].ToString(); List sysZones = service.getSelectZone(); List sysLocates = service.getSelectLocate(); int srcZoneId = Convert.ToInt32(String.IsNullOrEmpty(Request.Form["srcZoneId"].ToString()) ? 0 : Request.Form["srcZoneId"].ToString()); String srcZoneName = ""; int srcWarehouseId = 0; string srcWarehouseName = ""; if (!srcZoneId.Equals(0)) { List srczones = sysZones.Where(a => a.ZoneId == srcZoneId).ToList(); srcZoneName = srczones[0].ZoneName; srcWarehouseId = srczones[0].WarehouseId; srcWarehouseName = srczones[0].WarehouseName; } int srcLocateId = Convert.ToInt32(String.IsNullOrEmpty(Request.Form["srcLocateId"].ToString()) ? 0 : Request.Form["srcLocateId"].ToString()); String srcLocateName = ""; if (!srcLocateId.Equals(0)) { List srclocates = sysLocates.Where(a => a.LocateId == srcLocateId).ToList(); srcLocateName = srclocates[0].LocateName; } int destZoneId = Convert.ToInt32(String.IsNullOrEmpty(Request.Form["destZoneId"].ToString()) ? 0 : Request.Form["destZoneId"].ToString()); String destZoneName = ""; int destWarehouseId = 0; string destWarehouseName = ""; if (!destZoneId.Equals(0)) { List destzones = sysZones.Where(a => a.ZoneId == destZoneId).ToList(); destZoneName = destzones[0].ZoneName; destWarehouseId = destzones[0].WarehouseId; destWarehouseName = destzones[0].WarehouseName; } int destLocateId = Convert.ToInt32(String.IsNullOrEmpty(Request.Form["destLocateId"].ToString()) ? 0 : Request.Form["destLocateId"].ToString()); String destLocateName = ""; if (!destLocateId.Equals(0)) { List destlocates = sysLocates.Where(a => a.LocateId == destLocateId).ToList(); destLocateName = destlocates[0].LocateName; } SysPdline sysPdline = new SysPdline(); sysPdline.PdlineCode = pdlineCode; sysPdline.PdlineName = pdlineName; sysPdline.PdlineDesc = pdlineDesc; sysPdline.SrcWarehouseId = srcWarehouseId; sysPdline.SrcWarehouseName = srcWarehouseName; sysPdline.DestWarehouseId = destWarehouseId; sysPdline.DestWarehouseName = destWarehouseName; sysPdline.SrcZoneId = srcZoneId; sysPdline.SrcLocateId = srcLocateId; sysPdline.DestZoneId = destZoneId; sysPdline.DestLocateId = destLocateId; sysPdline.SrcZoneName = srcZoneName; sysPdline.SrcLocateName = srcLocateName; sysPdline.DestZoneName = destZoneName; sysPdline.DestLocateName = destLocateName; sysPdline.FactoryId = CurrentEmp.FactoryId; sysPdline.FactoryCode = CurrentEmp.FactoryCode; ; sysPdline.Enabled = enabled; sysPdline.PartPrepare = int.Parse(partPrepare); String message = ""; String flag = ""; if (editType != null && editType.Trim().Equals("edit")) { try { sysPdline.PdlineId = Convert.ToInt32(pdlineId); sysPdline.UpdateUserId = CurrentEmp.EmpId; this.service.updatePdline(sysPdline); message = "修改成功"; flag = "OK"; } catch (Exception e) { message = "修改失败!"; flag = "Fail"; } } else { try { sysPdline.CreateUserId = CurrentEmp.EmpId; this.service.savePdline(sysPdline); message = "添加成功"; flag = "OK"; } catch (Exception e) { message = "添加失败!"; flag = "Fail"; } } Hashtable result = new Hashtable(); result.Add("message", message); result.Add("flag", flag); return Json(result); } /// /// 查看菜单详情 /// /// /// public ActionResult getPdlineDetail(String pdlineId) { ViewData.Add("editType", "edit"); Hashtable ht = this.service.getPdlineDetail(pdlineId); ViewData.Add("pdlineId", ht["pdlineId"]); ViewData.Add("pdlineCode", ht["pdlineCode"]); ViewData.Add("pdlineName", ht["pdlineName"]); ViewData.Add("factoryId", ht["factoryId"]); ViewData.Add("factoryName", ht["factoryName"]); ViewData.Add("pdlineDesc", ht["pdlineDesc"]); ViewData.Add("srcZoneId", ht["srcZoneId"]); ViewData.Add("srcLocateId", ht["srcLocateId"]); ViewData.Add("destZoneId", ht["destZoneId"]); ViewData.Add("destLocateId", ht["destLocateId"]); ViewData.Add("enabled", ht["enabled"]); ViewData.Add("partPrepare", ht["partPrepare"]); return View("ViewPDLineDefine"); } /// /// 编辑菜单 /// /// /// public ActionResult editPdline(String pdlineId) { if (!string.IsNullOrEmpty(pdlineId)) { Hashtable ht = this.service.getPdlineDetail(pdlineId); ViewData.Add("editType", "edit"); ViewData.Add("pdlineId", ht["pdlineId"]); ViewData.Add("pdlineCode", ht["pdlineCode"]); ViewData.Add("pdlineName", ht["pdlineName"]); ViewData.Add("factoryId", ht["factoryId"]); ViewData.Add("factoryName", ht["factoryName"]); ViewData.Add("pdlineDesc", ht["pdlineDesc"]); ViewData.Add("srcZoneId", ht["srcZoneId"]); ViewData.Add("srcLocateId", ht["srcLocateId"]); ViewData.Add("destZoneId", ht["destZoneId"]); ViewData.Add("destLocateId", ht["destLocateId"]); ViewData.Add("partPrepare", ht["partPrepare"]); } else { ViewData.Add("editType", "new"); } return View("EditPDLineDefine"); } #region 过滤库位 public ActionResult GetLocateName(string q) { List list = fileLocateName(q); return writeResult(list); } /// /// 过滤库位 /// /// /// public List fileLocateName(string key) { Hashtable autoComplateList = GetItemLocateName(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 GetItemLocateName(string key) { List autoComplateList = new List(); Hashtable result = new Hashtable(); try { List dt = service.GetLocateInfo(key); for (int i = 0; i < dt.Count; i++) { result.Add(dt[i].LocateId.ToString(), dt[i].LocateName.ToString()); } } catch (Exception e) { result = new Hashtable(); } return result; } #endregion #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 deletePdLine(String ids) { int delCount = 0; try { delCount = this.service.deleteMenu(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.EnablePdline(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.DisablePdline(ids); } 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 pdlineCode, String pdlineName, string enabled = "Y") { List listHt = this.service.getExportList(pdlineCode, pdlineName, enabled, CurrentEmp.FactoryId); 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"); } } }