using Estsh.Core.Controllers; 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 * 描述:移动单管理 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { public class MovementManageController : BaseController { private IMovementManageService service; public MovementManageController(IMovementManageService _service) { service = _service; } // // GET: /Menu/ public ActionResult Index() { return View(); } /// /// 获取移动单管理列表数据 /// /// /// /// /// /// public ActionResult getMoveHeaderListByPage(string orderNo, string orderType, string orderStatus, string startTime, string endTime, Pager pager, String direction, String sort, string refOrderNo, string enabled = "Y") { int factoryId = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); result.Add("pager.pageNo", pager.pageNo); Hashtable dataHt = this.service.getMoveHeaderListByPage(orderNo, orderType, orderStatus, startTime, endTime, enabled, factoryId, pager, direction, sort, refOrderNo); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); result.Add("sort", sort); result.Add("direction", direction); return Json(result); } /// /// 获取移动单明细管理列表数据 /// /// /// /// /// /// public ActionResult getMoveDetailListByPage(string orderNo, string enabled = "Y") { int factoryId = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); Hashtable dataHt = this.service.getMoveDetailListByPage(orderNo, enabled, factoryId); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); return Json(result); } /// /// 获取移动单条码管理列表数据 /// /// /// /// /// /// public ActionResult getMoveSnListByPage(string orderNo, string partNo, string enabled = "Y") { int factoryId = CurrentEmp.FactoryId; Hashtable result = new Hashtable(); Hashtable dataHt = this.service.getMoveSnListByPage(orderNo, partNo, enabled, factoryId); result.Add("rows", dataHt["dataList"]); result.Add("pager.totalRows", dataHt["totalCount"]); return Json(result); } /// /// 生成条码 /// /// /// public ActionResult onBarcodeGenerator(String orderNos) { Hashtable result = new Hashtable(); try { result = this.service.onBarcodeGenerator(orderNos); } catch (Exception e) { result.Add("message", "生成条码失败,请重查看!"); result.Add("flag", "error"); } return Json(result); } public ActionResult getSelectMoveOrderType() { Hashtable result = new Hashtable(); List menuList = this.service.GetMoveOrderType(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectRefOrderNo() { Hashtable result = new Hashtable(); List menuList = this.service.getSelectRefOrderNo(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectFedbatchType() { Hashtable result = new Hashtable(); List menuList = this.service.GetFedbatchType(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectFedbatchMethods() { Hashtable result = new Hashtable(); List menuList = this.service.GetFedbatchMethods(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectMoveOrderStatus() { Hashtable result = new Hashtable(); List menuList = this.service.GetMoveOrderStatus(); result.Add("list", menuList); return Json(result); } /// /// 获取父节点菜单下拉列表数据 /// /// public ActionResult getSelectFactory() { Hashtable result = new Hashtable(); List menuList = this.service.getSelectFactory(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectWarehouse() { Hashtable result = new Hashtable(); List menuList = this.service.getSelectWarehouse(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectZone() { Hashtable result = new Hashtable(); List menuList = this.service.getSelectZone(); result.Add("list", menuList); return Json(result); } public ActionResult getSelectVendor() { Hashtable result = new Hashtable(); List menuList = this.service.getSelectVendor(); result.Add("list", menuList); return Json(result); } public ActionResult GetPart() { Hashtable result = new Hashtable(); List menuList = this.service.GetPart(); result.Add("list", menuList); return Json(result); } /// /// 保存菜单数据 /// /// public ActionResult saveMovementManage() { //int fedbatchType = 0;// int.Parse(Request.Form["fedbatchType"]); //int fedbatchMethods = 0;//int.Parse(Request.Form["fedbatchMethods"]); int orderType = int.Parse(Request.Form["orderType"]); int factoryId = CurrentEmp.FactoryId; String factoryCode = CurrentEmp.FactoryCode; String enabled = Request.Form["enabled"].ToString(); string vendorId = Request.Form["vendorId"]; string customerId = Request.Form["customerId"]; String planDate = Request.Form["planDate"].ToString(); String planTime = Request.Form["planTime"].ToString(); String destWarehouseId = Request.Form["destWarehouseId"].ToString(); String destZoneId = Request.Form["destZoneId"].ToString(); String destErpWarehouse = Request.Form["destErpWarehouse"].ToString(); String srcWarehouseId = Request.Form["srcWarehouseId"].ToString(); String srcZoneId = Request.Form["srcZoneId"].ToString(); String srcErpWarehouse = Request.Form["srcErpWarehouse"].ToString(); String remarks = Request.Form["remarks"].ToString(); String reforderno = Request.Form["refOrderNo"].ToString(); String destWarehouseName = ""; List destWare = service.getSelectWarehouse(destWarehouseId); if (destWare.Count > 0) { destWarehouseName = destWare[0].WarehouseName; } String srcWarehouseName = ""; List srcWare = service.getSelectWarehouse(srcWarehouseId); if (srcWare.Count > 0) { srcWarehouseName = srcWare[0].WarehouseName; } String destZoneName = ""; List destZones = service.getSelectZone(destZoneId); if (destZones.Count > 0) { destZoneName = destZones[0].ZoneName; } String srcZoneName = ""; List srcZones = service.getSelectZone(srcZoneId); if (srcZones.Count > 0) { srcZoneName = srcZones[0].ZoneName; } WmsMoveHeader moveHeader = new WmsMoveHeader(); //moveHeader.prepareMaterial = fedbatchMethods; //moveHeader.fedbatchType = fedbatchType; moveHeader.OrderType = orderType; moveHeader.FactoryId = factoryId; moveHeader.FactoryCode = factoryCode; moveHeader.Enabled = enabled; moveHeader.Remarks = remarks; moveHeader.RefOrderNo = reforderno; string detailRow = Request.Form["detailRow"].ToString(); IList moveDetailsList = Newtonsoft.Json.JsonConvert.DeserializeObject>(detailRow); for (int i = 0; i < moveDetailsList.Count; i++) { moveDetailsList[i].ItemNo = (i + 1).ToString(); //purchaseDetailList[i].PartId = Convert.ToInt32(PartId); string PartNo = string.IsNullOrEmpty(moveDetailsList[i].PartNo.ToString()) ? "0" : moveDetailsList[i].PartNo.ToString(); List parts = service.GetPart(PartNo); if (parts.Count > 0) { moveDetailsList[i].PartId = parts[0].PartId; moveDetailsList[i].PartSpec = parts[0].PartSpec; moveDetailsList[i].Unit = parts[0].Unit; } else { moveDetailsList[i].PartId = 0; moveDetailsList[i].PartSpec = ""; moveDetailsList[i].Unit = ""; } //moveDetailsList[i].Qty = string.IsNullOrEmpty(Qty) ? 0 : Convert.ToDecimal(Qty); moveDetailsList[i].PickQty = 0; moveDetailsList[i].OutQty = 0; moveDetailsList[i].RecQty = 0; moveDetailsList[i].PlanDate = planDate; moveDetailsList[i].PlanTime = planTime; moveDetailsList[i].DestWarehouseId = string.IsNullOrEmpty(destWarehouseId) ? 0 : Convert.ToInt32(destWarehouseId); moveDetailsList[i].DestWarehouseName = destWarehouseName; moveDetailsList[i].DestZoneId = string.IsNullOrEmpty(destZoneId) ? 0 : Convert.ToInt32(destZoneId); moveDetailsList[i].DestZoneName = destZoneName; moveDetailsList[i].DestErpWarehouse = destErpWarehouse; moveDetailsList[i].SrcWarehouseId = string.IsNullOrEmpty(srcWarehouseId) ? 0 : Convert.ToInt32(srcWarehouseId); moveDetailsList[i].SrcWarehouseName = srcWarehouseName; moveDetailsList[i].SrcZoneId = string.IsNullOrEmpty(srcZoneId) ? 0 : Convert.ToInt32(srcZoneId); moveDetailsList[i].SrcZoneName = srcZoneName; moveDetailsList[i].SrcErpWarehouse = srcErpWarehouse; moveDetailsList[i].Enabled = enabled; moveDetailsList[i].FactoryId = CurrentEmp.FactoryId; moveDetailsList[i].FactoryCode = CurrentEmp.FactoryCode; moveDetailsList[i].CreateUserId = CurrentEmp.EmpId; } String message = ""; try { moveHeader.CreateUserId = CurrentEmp.EmpId; bool flag = this.service.saveMovementManage(moveHeader, moveDetailsList); if (flag == true) { message = "添加成功"; } else { message = "添加失败!"; } } catch (Exception e) { message = "添加失败!"; } Hashtable result = new Hashtable(); result.Add("message", message); return Json(result); } public ActionResult GetErpwarehouse() { Hashtable resault = new Hashtable(); List pdlineList = service.GetErpwarehouse(); resault.Add("list", pdlineList); return Json(resault); } #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.GetPartNoInfo(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 #region 过滤零件号简码 public ActionResult GetPart_Spec(string q) { List list = filePartSpec(q); return writeResult(list); } /// /// 过滤零件号 /// /// /// public List filePartSpec(string key) { Hashtable autoComplateList = GetItemPartSpec(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 GetItemPartSpec(string key) { List autoComplateList = new List(); Hashtable result = new Hashtable(); try { List dt = service.GetPartSpecInfo(key); for (int i = 0; i < dt.Count; i++) { result.Add(dt[i].PartId.ToString(), dt[i].PartSpec.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 getPartNoInfo(string partNo) { Hashtable resault = new Hashtable(); List list = service.GetPartNoInfo(partNo); return Json(list); } public ActionResult getPartNoInfoByPartNo(string partNo) { Hashtable resault = new Hashtable(); List list = service.GetPartNoInfoByPartNo(partNo); return Json(list); } public ActionResult getPartSpecInfo(string partSpec) { Hashtable resault = new Hashtable(); List list = service.GetPartSpecInfo(partSpec); return Json(list); } public ActionResult getPartSpecInfoByPartSpec(string partSpec) { Hashtable resault = new Hashtable(); List list = service.GetPartSpecInfoByPartSpec(partSpec); return Json(list); } #region 关联单号 public ActionResult GetWorkRefOrderNo(string refOrderNo, string orderType) { Hashtable resault = new Hashtable(); List list = service.GetWorkRefOrderNo(refOrderNo,orderType); return Json(list); } public ActionResult GetRefOrderNo(string q) { List list = fileRefOrderNo(q); return writeResult(list); } /// /// 过滤关联单号 /// /// /// public List fileRefOrderNo(string key) { Hashtable autoComplateList = GetItemRefOrderNo(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 GetItemRefOrderNo(string refOrderNo) { List autoComplateList = new List(); Hashtable result = new Hashtable(); try { List dt = service.GetWorkOrderInfo(refOrderNo); for (int i = 0; i < dt.Count; i++) { result.Add(dt[i].Ruid.ToString(), dt[i].OrderNo.ToString()); } } catch (Exception e) { result = new Hashtable(); } return result; } #endregion /// /// 编辑菜单 /// /// /// public ActionResult EditMovementManage(String warehouseId) { ViewData.Add("editType", "new"); List menuList = this.service.getSelectWarehouse(); if (menuList.Count > 0) { //源仓库 目标仓库绑定默认值 ViewData.Add("srcWarehouseId", menuList[0].value); ViewData.Add("destWarehouseId", menuList[0].value); } return View("EditMovementManage"); } /// /// 关闭 /// /// /// public ActionResult onClose(String orderNos) { bool flag = true; try { string empId = CurrentEmp.EmpId.ToString(); flag = this.service.onClose(orderNos, empId); } catch (Exception e) { flag = false; } Hashtable result = new Hashtable(); result.Add("status", flag); return Json(result); } /// /// 启用 /// /// /// public ActionResult onEnable(String orderNos) { bool flag = true; try { flag = this.service.EnableData(orderNos); } catch (Exception e) { flag = false; } Hashtable result = new Hashtable(); result.Add("status", flag); return Json(result); } /// /// 禁用 /// /// /// public ActionResult onDisable(String orderNos) { bool flag = true; try { flag = this.service.DisableData(orderNos); } catch (Exception e) { flag = false; } Hashtable result = new Hashtable(); result.Add("status", flag); return Json(result); } } }