|
|
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();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取库存插单列表
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetCustPDLine()
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<KeyValueResult> list = this.service.GetCustPDLine();
|
|
|
result.Add("list", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 获取产线列表
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetPDLine()
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<KeyValueResult> list = this.service.GetPdline();
|
|
|
result.Add("list", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据客户产线查询车型
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetMode_type(string CustPDLine)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<KeyValueResult> list = this.service.GetMode_type(CustPDLine);
|
|
|
result.Add("list", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据车型编号查询座椅配置
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetModelList(int ModelType)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<KeyValueResult> list = this.service.GetModelList(ModelType);
|
|
|
result.Add("list", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
///// <summary>
|
|
|
///// 获取配置名称
|
|
|
///// </summary>
|
|
|
///// <returns></returns>
|
|
|
//public ActionResult GetModelName()
|
|
|
//{
|
|
|
// Hashtable result = new Hashtable();
|
|
|
// ArrayList list = this.service.GetModelName();
|
|
|
// result.Add("list", list);
|
|
|
// return Json(result);
|
|
|
//}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取班次
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult Getshift()
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<KeyValueResult> list = this.service.Getshift();
|
|
|
result.Add("list", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取生产类型
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetProdType()
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<KeyValueResult> list = this.service.GetProdType();
|
|
|
result.Add("list", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据配置编号获取总成清单
|
|
|
/// </summary>
|
|
|
/// <param name="modelID">配置编号</param>
|
|
|
/// <returns>总成清单</returns>
|
|
|
public ActionResult GetBomDetail(int cbModel)//,string isLoad)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<SysBom> 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<SysBom> 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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
///<summary>
|
|
|
/// 调用存储过程 dbo.sys_release_stock_order 释放生产指令
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
///<summary>
|
|
|
/// 调用存储过程 dbo.sys_assign_stock_order 分配虚拟料架
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public string AssignStockOrder(string custPDLine)
|
|
|
{
|
|
|
return service.AssignStockOrder(custPDLine);
|
|
|
}
|
|
|
|
|
|
// /// <summary>
|
|
|
///// 初始化全局的静态变量
|
|
|
///// </summary>
|
|
|
///// <param name="proxy"></param>
|
|
|
//public string TrayPagePrintCount(string param)
|
|
|
//{
|
|
|
// return service.TrayPagePrintCount(param);
|
|
|
//}
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取要打印的条码数据(前排)
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetSN(string orderNo)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<GHtWorkorderSn> list = this.service.GetSN(orderNo);
|
|
|
result.Add("rows", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新条码的打印状态
|
|
|
/// </summary>
|
|
|
/// <param name="serialNumber">条码</param>
|
|
|
/// <returns>是否成功</returns>
|
|
|
//public bool UpdateSNPrintStatus(string serialNumber)
|
|
|
//{
|
|
|
// return service.UpdateSNPrintStatus(serialNumber);
|
|
|
//}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取要打印的条码数据(前排)
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetBackSN(string orderNo)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<GWorkorderSn> list = this.service.GetBackSN(orderNo);
|
|
|
result.Add("rows", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
//条码补打
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取补打信息
|
|
|
/// </summary>
|
|
|
/// <param name="serialNumber">过程条码 OR 合格证条码</param>
|
|
|
/// <returns></returns>
|
|
|
public ActionResult GetReprintDataBySN(string type, string serialNumber, int count, bool isOrderByInLineTime)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<GWorkorderSn> list = this.service.GetReprintDataBySN(type, serialNumber, count, isOrderByInLineTime);
|
|
|
result.Add("rows", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取要 打印过程条码 信息
|
|
|
/// </summary>
|
|
|
/// <param name="serialNumber"></param>
|
|
|
//public void PrintSerialNumber(string serialNumber)
|
|
|
public ActionResult PrintSerialNumber(string serialNumber)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<GWorkorderSn> list = this.service.PrintSerialNumber(serialNumber);
|
|
|
result.Add("rows", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据配置编号获取过程条码打印的张数
|
|
|
/// </summary>
|
|
|
public int GetModelBarcodeCount(string serialNumber)
|
|
|
{
|
|
|
return service.GetModelBarcodeCount(serialNumber);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新条码的补打状态
|
|
|
/// </summary>
|
|
|
/// <param name="sn">条码</param>
|
|
|
/// <returns>是否更新成功</returns>
|
|
|
public bool UpdateSNReprintStatus(string serialNumber)
|
|
|
{
|
|
|
return service.UpdateSNReprintStatus(serialNumber);
|
|
|
}
|
|
|
|
|
|
// 打印合格证
|
|
|
/// <summary>
|
|
|
/// 根据配置编号获取合格证条码打印的张数
|
|
|
/// </summary>
|
|
|
public int GetModelQACount(string serialNumber)
|
|
|
{
|
|
|
return service.GetModelQACount(serialNumber);
|
|
|
}
|
|
|
|
|
|
//打印后排的的合格证条码
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据条码获取对应后排条码的打印信息
|
|
|
/// </summary>
|
|
|
/// <param name="serialNumber">条码</param>
|
|
|
/// <returns>后排条码的打印信息</returns>
|
|
|
public ActionResult GetBackSNs(string serialNumber)
|
|
|
{
|
|
|
Hashtable result = new Hashtable();
|
|
|
List<GWorkorderSn> list = this.service.GetBackSNs(serialNumber);
|
|
|
result.Add("rows", list);
|
|
|
return Json(result);
|
|
|
}
|
|
|
}
|
|
|
} |