using Estsh.Core.Controllers; using Estsh.Core.Model.Result; using Estsh.Core.Models; using Estsh.Core.Services.IServices; using Microsoft.AspNetCore.Mvc; using System.Collections; using System.Data; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:库存插单 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Web.Controllers { public class ProductionOrderReleaseController : BaseController { private IProductionOrderReleaseService service; public ProductionOrderReleaseController(IProductionOrderReleaseService _service) { service = _service; } public ActionResult Index() { return View(); } /// /// 获取库存插单列表 /// /// public ActionResult GetCustPDLine() { Hashtable result = new Hashtable(); List list = this.service.GetCustPDLine(); result.Add("list", list); return Json(result); } /// /// 获取产线列表 /// /// public ActionResult GetPDLine() { Hashtable result = new Hashtable(); List list = this.service.GetPdline(); result.Add("list", list); return Json(result); } /// /// 根据客户产线查询车型 /// /// public ActionResult GetMode_type(string CustPDLine) { Hashtable result = new Hashtable(); List list = this.service.GetMode_type(CustPDLine); result.Add("list", list); return Json(result); } /// /// 根据车型编号查询座椅配置 /// /// public ActionResult GetModelList(int ModelType) { Hashtable result = new Hashtable(); List list = this.service.GetModelList(ModelType); result.Add("list", list); return Json(result); } ///// ///// 获取配置名称 ///// ///// //public ActionResult GetModelName() //{ // Hashtable result = new Hashtable(); // ArrayList list = this.service.GetModelName(); // result.Add("list", list); // return Json(result); //} /// /// 获取班次 /// /// public ActionResult Getshift() { Hashtable result = new Hashtable(); List list = this.service.Getshift(); result.Add("list", list); return Json(result); } /// /// 获取生产类型 /// /// public ActionResult GetProdType() { Hashtable result = new Hashtable(); List list = this.service.GetProdType(); result.Add("list", list); return Json(result); } /// /// 根据配置编号获取总成清单 /// /// 配置编号 /// 总成清单 public ActionResult GetBomDetail(int cbModel)//,string isLoad) { Hashtable result = new Hashtable(); List list = this.service.GetBomDetail(cbModel); result.Add("rows", list); return Json(result); } //库存插单保存按钮 public bool isExist(string orderNo) { return service.isExist(orderNo); } //加载单据编号 public string GetOrderNo() { return service.GetOrderNo("StockOrder", "A"); } //库存插单保存按钮 public bool Insert_g_stock_order(int modelTypeId, int modelId, string orderNo, string custPdline, int shiftId, int qty, string type, string documentData, int PdlineId) { GStockOrder model = new GStockOrder(); model.ModelTypeId = modelTypeId; model.ModelId = modelId; model.OrderNo = orderNo; model.CustPdline = custPdline; model.ShiftId = shiftId; model.Qty = qty; model.Type = type; model.DocumentData = documentData; model.AppointPdline = PdlineId; return service.Insert_g_stock_order(model); } public bool Insert_g_stock_order_detail(string orderNo, string modelId, string partNoList) { try { Hashtable result = new Hashtable(); if (string.IsNullOrEmpty(partNoList) && string.IsNullOrEmpty(modelId.ToString())) { return false; } //判断配置对应总成是否匹配 List dt = service.GetBomDetailTable(Convert.ToInt32(modelId)); partNoList = partNoList.Remove(partNoList.Length - 1, 1); string[] strList = partNoList.Split(','); bool ifExist = false; for (int j = 0; j < strList.Length; j++) { object dr = dt.Select(a=>a.PartNo==strList[j]); if (dr==null) { ifExist = false; return ifExist; } } for (int i = 0; i < strList.Length; i++) { string partId = service.getPartId(strList[i]).ToString(); GStockOrderDetail model = new GStockOrderDetail(); model.OrderNo = orderNo; model.PartId =Convert.ToInt32( partId); ifExist = service.Insert_g_stock_order_detail(model); } return true; } catch (Exception ex) { return false; } } /// /// 调用存储过程 dbo.sys_release_stock_order 释放生产指令 /// /// public string ReleaseStockOrder(string orderNo) { string mes = ""; orderNo = orderNo.Substring(0, orderNo.Length - 1); string[] str = orderNo.Split(','); for (int i = 0; i < str.Length; i++) { mes = service.ReleaseStockOrder(str[i].ToString()); } return mes; } /// /// 调用存储过程 dbo.sys_assign_stock_order 分配虚拟料架 /// /// public string AssignStockOrder(string custPDLine) { return service.AssignStockOrder(custPDLine); } // /// ///// 初始化全局的静态变量 ///// ///// //public string TrayPagePrintCount(string param) //{ // return service.TrayPagePrintCount(param); //} /// /// 获取要打印的条码数据(前排) /// /// public ActionResult GetSN(string orderNo) { Hashtable result = new Hashtable(); List list = this.service.GetSN(orderNo); result.Add("rows", list); return Json(result); } /// /// 更新条码的打印状态 /// /// 条码 /// 是否成功 //public bool UpdateSNPrintStatus(string serialNumber) //{ // return service.UpdateSNPrintStatus(serialNumber); //} /// /// 获取要打印的条码数据(前排) /// /// public ActionResult GetBackSN(string orderNo) { Hashtable result = new Hashtable(); List list = this.service.GetBackSN(orderNo); result.Add("rows", list); return Json(result); } //条码补打 /// /// 获取补打信息 /// /// 过程条码 OR 合格证条码 /// public ActionResult GetReprintDataBySN(string type, string serialNumber, int count, bool isOrderByInLineTime) { Hashtable result = new Hashtable(); List list = this.service.GetReprintDataBySN(type, serialNumber, count, isOrderByInLineTime); result.Add("rows", list); return Json(result); } /// /// 获取要 打印过程条码 信息 /// /// //public void PrintSerialNumber(string serialNumber) public ActionResult PrintSerialNumber(string serialNumber) { Hashtable result = new Hashtable(); List list = this.service.PrintSerialNumber(serialNumber); result.Add("rows", list); return Json(result); } /// /// 根据配置编号获取过程条码打印的张数 /// public int GetModelBarcodeCount(string serialNumber) { return service.GetModelBarcodeCount(serialNumber); } /// /// 更新条码的补打状态 /// /// 条码 /// 是否更新成功 public bool UpdateSNReprintStatus(string serialNumber) { return service.UpdateSNReprintStatus(serialNumber); } // 打印合格证 /// /// 根据配置编号获取合格证条码打印的张数 /// public int GetModelQACount(string serialNumber) { return service.GetModelQACount(serialNumber); } //打印后排的的合格证条码 /// /// 根据条码获取对应后排条码的打印信息 /// /// 条码 /// 后排条码的打印信息 public ActionResult GetBackSNs(string serialNumber) { Hashtable result = new Hashtable(); List list = this.service.GetBackSNs(serialNumber); result.Add("rows", list); return Json(result); } } }