using Microsoft.AspNetCore.Mvc;
|
using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Threading.Tasks;
|
using VueWebCoreApi.DLL.BLL;
|
using VueWebCoreApi.Models;
|
using VueWebCoreApi.Models.ErpOrder;
|
using VueWebCoreApi.Models.ReportVerify;
|
using VueWebCoreApi.Models.UpdateReport;
|
using VueWebCoreApi.Models.WorkData;
|
using VueWebCoreApi.Tools;
|
|
namespace VueWebCoreApi.Controllers
|
{
|
[ApiExplorerSettings(GroupName = "工单管理")]
|
[ApiController]
|
[Route("api/[controller]")]
|
//[ChannelActionFilter]
|
public class WorkOrderController : Controller
|
{
|
//定义全局信息返回变量
|
ToMessage mes = new ToMessage();
|
RedisCommon redis = new RedisCommon();
|
|
#region[ERP订单查询]
|
/// <summary>
|
/// ERP订单查询
|
/// </summary>
|
/// <param name="erporderstus">订单状态码</param>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="erpordercode">订单编号</param>
|
/// <param name="saleordercode">销售单号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">产品规格</param>
|
/// <param name="datatype">日期类型(计划开工(PS)、计划完工(PE)、预计交付(ED))</param>
|
/// <param name="searchdate">开始日期</param>
|
/// <param name="creatuser">创建人员</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[Route(template: "ErpOrderSearch")]
|
[HttpGet]
|
public JsonResult ErpOrderSearch(string erporderstus = null,string wkshopcode=null, string erpordercode = null, string saleordercode = null, string partcode = null, string partname = null, string partspec = null,string datatype=null, string searchdate = null, string creatuser = null, int page = 0, int rows = 0, string prop = null, string order = null)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
string paydatestartdate = ""; //预计开工开始时间
|
string paydateenddate = ""; //预计开工结束时间
|
if (searchdate != "" && searchdate != null)
|
{
|
paydatestartdate = searchdate.Split('~')[0].ToString();
|
paydateenddate = searchdate.Split('~')[1].ToString();
|
}
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.ErpOrderSearch(erporderstus, wkshopcode, erpordercode, saleordercode, partcode, partname, partspec, startNum, datatype,paydatestartdate, paydateenddate, creatuser, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[ERP订单下达]
|
/// <summary>
|
/// ERP订单下达
|
/// </summary>
|
/// <param name="obj">提交数据</param>
|
/// <returns></returns>
|
[Route(template: "MarkSaveErpOrder")]
|
[HttpPost]
|
public JsonResult MarkSaveErpOrder([FromBody] JObject obj)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
string erporderid = obj["erporderid"].ToString(); //订单id
|
string sbid = obj["sbid"].ToString(); //sbid(订单明细id)
|
string erpordercode = obj["erpordercode"].ToString(); //订单编号
|
string saleordercode = obj["saleordercode"].ToString(); //销售订单号
|
string partcode = obj["partcode"].ToString(); //产品编码
|
string wkshopcode = obj["wkshopcode"].ToString(); //车间编码
|
string warehousecode = obj["warehousecode"].ToString(); //仓库编码
|
string erpqty = obj["erpqty"].ToString(); //订单数量
|
string markqty = obj["markqty"].ToString(); //下单数量
|
string ordernum = obj["ordernum"].ToString(); //下单单数
|
string relse_qty = obj["relse_qty"].ToString(); //已下单数量
|
string saleOrderDeliveryDate = obj["saleOrderDeliveryDate"].ToString(); //交付时间
|
string paystartdate = obj["paystartdate"].ToString(); //预计开工日期
|
string payenddate = obj["payenddate"].ToString(); //预计完工日期
|
string clerkuser = obj["clerkuser"].ToString(); //销售订单业务员
|
mes = WorkOrderBLL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[订单批量下达]
|
[Route(template: "MarkBatchSaveErpOrder")]
|
[HttpPost]
|
public JsonResult MarkBatchSaveErpOrder(List<ErpOrderBatch> obj)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MarkBatchSaveErpOrder(obj, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[ERP订单关闭]
|
/// <summary>
|
/// ERP订单关闭
|
/// </summary>
|
/// <param name="erporderid">订单id</param>
|
/// <param name="erpordercode">订单号</param>
|
/// <returns></returns>
|
[Route(template: "ClosedErpOrder")]
|
[HttpPost]
|
public JsonResult ClosedErpOrder(string erporderid, string erpordercode)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.ClosedErpOrder(erporderid, erpordercode, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[ERP订单删除]
|
/// <summary>
|
/// ERP订单删除
|
/// </summary>
|
/// <param name="erporderid">订单id</param>
|
/// <param name="erpordercode">订单号</param>
|
/// <returns></returns>
|
[Route(template: "DeleteErpOrder")]
|
[HttpPost]
|
public JsonResult DeleteErpOrder(string erporderid, string erpordercode)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.DeleteErpOrder(erporderid, erpordercode, us);
|
return Json(mes);
|
}
|
#endregion
|
|
|
#region[MES工单查询]
|
/// <summary>
|
/// MES工单查询
|
/// </summary>
|
/// <param name="mesorderstus">工单状态码</param>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="mesordercode">工单编号</param>
|
/// <param name="sourceorder">源单单号</param>
|
/// <param name="saleordercode">销售单号</param>
|
/// <param name="ordertype">单据类型</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">产品规格</param>
|
/// <param name="datatype">日期类型(计划开工(PS)、计划完工(PE)、预计交付(ED)、创建日期(CT))</param>
|
/// <param name="creatuser">创建人员</param>
|
/// <param name="searchdate">查询日期</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderSearch")]
|
[HttpGet]
|
public JsonResult MesOrderSearch(int page, int rows, string prop, string order, string mesorderstus = null,string wkshopcode=null, string mesordercode = null, string sourceorder = null, string saleordercode = null, string ordertype = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null,string datatype=null, string searchdate = null)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
string paydatestartdate = ""; //预计开工开始时间
|
string paydateenddate = ""; //预计开工结束时间
|
if (searchdate != "" && searchdate != null)
|
{
|
paydatestartdate = searchdate.Split('~')[0].ToString();
|
paydateenddate = searchdate.Split('~')[1].ToString();
|
}
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderSearch(mesorderstus, wkshopcode, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, datatype, paydatestartdate, paydateenddate, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES报废补单工单查询]
|
/// <summary>
|
/// MES报废补单工单查询
|
/// </summary>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="mesordercode">工单编号</param>
|
/// <param name="sourceorder">源单单号</param>
|
/// <param name="saleordercode">销售单号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">产品规格</param>
|
/// <param name="creatuser">创建人员</param>
|
/// <param name="createdate">创建时间</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[Route(template: "MesBadOrderSearch")]
|
[HttpGet]
|
public JsonResult MesBadOrderSearch(int page, int rows, string prop, string order,string wkshopcode=null, string mesordercode = null, string sourceorder = null, string saleordercode = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = null)
|
{
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesBadOrderSearch(wkshopcode,mesordercode, sourceorder, saleordercode, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单新增、获取工单号]
|
/// <summary>
|
/// MES工单新增、获取工单号
|
/// </summary>
|
/// <returns></returns>
|
[Route(template: "AddMesOrderCodeSearch")]
|
[HttpPost]
|
public JsonResult AddMesOrderCodeSearch()
|
{
|
mes = WorkOrderBLL.AddMesOrderCodeSearch();
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单编辑获取工序数据]
|
/// <summary>
|
/// MES工单编辑获取工序数据
|
/// </summary>
|
/// <param name="sourceid">源单id</param>
|
/// <param name="sourcewo">源单单号</param>
|
/// <param name="wocode">工单号</param>
|
/// <param name="data_sources">数据来源:ERP/MES</param>
|
/// <returns></returns>
|
[Route(template: "UpdateMesOrderStepSearch")]
|
[HttpGet]
|
public JsonResult UpdateMesOrderStepSearch(string sourceid,string sourcewo,string wocode,string data_sources)
|
{
|
mes = WorkOrderBLL.UpdateMesOrderStepSearch(sourceid, sourcewo, wocode, data_sources);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单新增、编辑提交]
|
/// <summary>
|
/// MES工单新增、编辑提交
|
/// </summary>
|
/// <param name="OperType">操作类型</param>
|
/// <param name="json">提交数据</param>
|
/// <returns></returns>
|
[Route(template: "AddUpdateMesOrder")]
|
[HttpPost]
|
public JsonResult AddUpdateMesOrder(WorkList json,string OperType)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.AddUpdateMesOrder(OperType,json, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单删除]
|
/// <summary>
|
/// MES工单删除
|
/// </summary>
|
/// <param name="souceid">源单id</param>
|
/// <param name="wocode">工单编号</param>
|
/// <param name="m_po">订单编号</param>
|
/// <param name="orderqty">工单数量</param>
|
/// <returns></returns>
|
[Route(template: "DeleteMesOrder")]
|
[HttpPost]
|
public JsonResult DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.DeleteMesOrder(souceid, wocode, m_po, orderqty,us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单查找历史引用最新工序信息]
|
/// <summary>
|
/// MES工单查找历史引用最新工序信息
|
/// </summary>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="routecode">工艺路线编码</param>
|
/// <param name="partcode">产品编码</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderNewStepContent")]
|
[HttpPost]
|
public JsonResult MesOrderNewStepContent(string wkshopcode,string routecode, string partcode)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderNewStepContent(wkshopcode, routecode, partcode, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单查看工单SOP]
|
/// <summary>
|
/// MES工单查看工单SOP
|
/// </summary>
|
/// <param name="wocode">工单编号</param>
|
/// <param name="materielcode">产品编码</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderSopSearch")]
|
[HttpGet]
|
public JsonResult MesOrderSopSearch(string wocode, string materielcode)
|
{
|
mes = WorkOrderBLL.MesOrderSopSearch(wocode, materielcode);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单查看工艺SOP]
|
/// <summary>
|
/// MES工单查看工艺SOP
|
/// </summary>
|
/// <param name="materielcode">产品编码</param>
|
/// <param name="routecode">工艺路线编码</param>
|
/// <param name="stepcode">工序编码</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderProcessSopSearch")]
|
[HttpGet]
|
public JsonResult MesOrderProcessSopSearch(string materielcode,string routecode,string stepcode)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderProcessSopSearch(materielcode, routecode, stepcode,us);
|
return Json(mes);
|
}
|
#endregion
|
|
|
#region[MES工单派发提交]
|
/// <summary>
|
/// MES工单派发提交
|
/// </summary>
|
/// <param name="wocodelist">工单号数组</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderDistribution")]
|
[HttpPost]
|
public JsonResult MesOrderDistribution([FromBody] string[] wocodelist)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderDistribution(wocodelist, us);
|
return Json(mes);
|
}
|
#endregion
|
|
|
#region[MES工单关闭列表查询]
|
/// <summary>
|
/// MES工单关闭列表查询
|
/// </summary>
|
/// <param name="mesorderstus">工单状态(已关闭/未关闭)</param>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="mesordercode">工单编号</param>
|
/// <param name="sourceorder">源单单号</param>
|
/// <param name="saleordercode">销售单号</param>
|
/// <param name="ordertype">单据类型</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">产品规格</param>
|
/// <param name="creatuser">创建人员</param>
|
/// <param name="createdate">创建时间</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderClosedSearch")]
|
[HttpGet]
|
public JsonResult MesOrderClosedSearch(int page, int rows, string prop, string order, string mesorderstus = null,string wkshopcode=null, string mesordercode = null, string sourceorder = null, string saleordercode = null, string ordertype = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = null)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderClosedSearch(mesorderstus, wkshopcode, mesordercode, sourceorder, saleordercode, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[MES工单关闭提交]
|
/// <summary>
|
/// MES工单关闭提交
|
/// </summary>
|
/// <param name="wocodelist">工单号数组</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderBitchClosedSeave")]
|
[HttpPost]
|
public JsonResult MesOrderBitchClosedSeave([FromBody] string[] wocodelist)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderBitchClosedSeave(us, wocodelist);
|
return Json(mes);
|
}
|
#endregion
|
|
|
#region[生产开报工扫码获取工单对应工序任务(自制)]
|
/// <summary>
|
/// 生产开报工扫码获取工单对应工序任务(自制)
|
/// </summary>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="wocode">工单号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">规格型号</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则(默认按照计划开工时间正序)</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepSearch")]
|
[HttpGet]
|
public JsonResult MesOrderStepSearch(string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, int page = 0, int rows = 0, string prop = null, string order = null)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderStepSearch(wkshopcode,wocode, partcode, partname, partspec, startNum, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产开报工扫码获取工单对应工序任务(外协)]
|
/// <summary>
|
/// 生产开报工扫码获取工单对应工序任务(外协)
|
/// </summary>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="wocode">工单号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">规格型号</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则(默认按照计划开工时间正序)</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderWxStepSearch")]
|
[HttpGet]
|
public JsonResult MesOrderWxStepSearch(string wkshopcode, string wocode = null, string partcode = null, string partname = null, string partspec = null, int page = 0, int rows = 0, string prop = null, string order = null)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderWxStepSearch(wkshopcode,wocode, partcode, partname, partspec, startNum, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产开报工扫码获取工单对应工序任务(不良)]
|
/// <summary>
|
/// 生产开报工扫码获取工单对应工序任务(不良)
|
/// </summary>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="wocode">工单号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">规格型号</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则(默认按照计划开工时间正序)</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderNgStepSearch")]
|
[HttpGet]
|
public JsonResult MesOrderNgStepSearch(string wkshopcode=null, string wocode = null, string partcode = null, string partname = null, string partspec = null, int page = 0, int rows = 0, string prop = null, string order = null)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderNgStepSearch(wkshopcode,wocode, partcode, partname, partspec, startNum, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产开报工扫码获取工单对应工序任务(不良明细)]
|
/// <summary>
|
/// 生产开报工扫码获取工单对应工序任务(不良明细)
|
/// </summary>
|
/// <param name="wocode">工单号</param>
|
/// <param name="stepcode">工序编码</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderNgSubStepSearch")]
|
[HttpGet]
|
public JsonResult MesOrderNgSubStepSearch(string wocode,string stepcode)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderNgSubStepSearch(wocode,stepcode);
|
return Json(mes);
|
}
|
#endregion
|
|
#region [生产开报工:报工/外协(发料/收料)时条件判断及数据返回接口]
|
/// <summary>
|
/// 生产开报工:报工/外协(发料/收料)时条件判断及数据返回接口
|
/// </summary>
|
/// <param name="OperType">操作类型:自制(ZZ)/外协(WX)</param>
|
/// <param name="SelectType">操作类型:自制(传空)/外协(发料标识(OUT)/收料标识(IN))</param>
|
/// <param name="wocode">工单编号</param>
|
/// <param name="stepcode">工序编号</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepStart")]
|
[HttpGet]
|
public JsonResult MesOrderStepStart(string OperType,string SelectType, string wocode, string stepcode )
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderStepStart(OperType,SelectType, wocode, stepcode, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产开报工,报工提交]
|
/// <summary>
|
/// 生产开报工,报工提交
|
/// </summary>
|
/// <param name="obj">报工提交数据</param>
|
/// <returns></returns>
|
[Route(template: "SavaMesOrderStepReport")]
|
[HttpPost]
|
public JsonResult SavaMesOrderStepReport([FromBody] JObject obj)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
string mesordercode = obj["mesordercode"].ToString(); //工单编号
|
string partcode = obj["partcode"].ToString(); //产品编码
|
string stepseq = obj["stepseq"].ToString(); //工序序号
|
string stepcode = obj["stepcode"].ToString(); //工序编码
|
string stepprice = obj["stepprice"].ToString(); //工序工价
|
string eqpcode = obj["eqpcode"].ToString(); //设备编码
|
string inbarcode = obj["inbarcode"].ToString(); //入库条码
|
string reckway = obj["reckway"].ToString(); //计件方式(班组:group、个人:person)
|
string usergroupcode = obj["usergroupcode"].ToString(); //班组编码
|
string reportuser = obj["reportuser"].ToString(); //报工人员
|
string taskqty = obj["taskqty"].ToString(); //任务数量
|
string startqty = obj["startqty"].ToString(); //开工数量
|
string reportqty = obj["reportqty"].ToString(); //报工工数量
|
string defectlist = obj["defectlist"].ToString();//不良汇总
|
string remarks = obj["remarks"].ToString(); //备注
|
List<ReportDefectList> defectobjs = JsonConvert.DeserializeObject<List<ReportDefectList>>(defectlist);
|
mes = WorkOrderBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, stepprice, eqpcode, inbarcode, reckway, usergroupcode, reportuser, taskqty, startqty, reportqty, defectobjs, remarks, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产开报工,发料提交]
|
/// <summary>
|
/// 生产开报工,发料提交
|
/// </summary>
|
/// <param name="obj">发料提交数据</param>
|
/// <returns></returns>
|
[Route(template: "SavaMesOrderStepOut")]
|
[HttpPost]
|
public JsonResult SavaMesOrderStepOut([FromBody] JObject obj)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
string mesordercode = obj["mesordercode"].ToString(); //工单编号
|
string partcode = obj["partcode"].ToString(); //产品编码
|
string stepseq = obj["stepseq"].ToString(); //工序序号
|
string stepcode = obj["stepcode"].ToString(); //工序编码
|
string wxcode = obj["wxcode"].ToString(); //外协供应商编码
|
string outuser = obj["outuser"].ToString(); //发料人员
|
string taskqty = obj["taskqty"].ToString(); //任务数量
|
string fqty = obj["fqty"].ToString(); //发料数量
|
mes = WorkOrderBLL.SavaMesOrderStepOut(mesordercode, partcode, stepseq, stepcode, wxcode, outuser, taskqty, fqty, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产开报工,收料提交]
|
/// <summary>
|
/// 生产开报工,收料提交
|
/// </summary>
|
/// <param name="obj">收料提交数据</param>
|
/// <returns></returns>
|
[Route(template: "SavaMesOrderStepIn")]
|
[HttpPost]
|
public JsonResult SavaMesOrderStepIn([FromBody] JObject obj)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
string mesordercode = obj["mesordercode"].ToString(); //工单编号
|
string partcode = obj["partcode"].ToString(); //产品编码
|
string stepseq = obj["stepseq"].ToString(); //工序序号
|
string stepcode = obj["stepcode"].ToString(); //工序编码
|
string wxcode = obj["wxcode"].ToString(); //外协供应商编码
|
string inbarcode = obj["inbarcode"].ToString(); //入库条码
|
string inuser = obj["inuser"].ToString(); //收料人员
|
string taskqty = obj["taskqty"].ToString(); //任务数量
|
string sqty = obj["sqty"].ToString(); //收料数量
|
string defectlist = obj["defectlist"].ToString();//不良汇总
|
string remarks = obj["remarks"].ToString(); //备注
|
List<ReportDefectList> defectobjs = JsonConvert.DeserializeObject<List<ReportDefectList>>(defectlist);
|
mes = WorkOrderBLL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inbarcode, inuser, taskqty, sqty, defectobjs, remarks, us);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[不良处理,提交]
|
/// <summary>
|
/// 不良处理,提交
|
/// </summary>
|
/// <param name="json">提交数据</param>
|
/// <returns></returns>
|
[Route(template: "EditOrderNgStepSeave")]
|
[HttpPost]
|
public JsonResult EditOrderNgStepSeave(ReportDefectHandle json)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.EditOrderNgStepSeave(json, us);
|
return Json(mes);
|
}
|
#endregion
|
|
|
#region[生产执行,报工调整列表数据查询接口]
|
/// <summary>
|
/// 生产执行,报工调整列表数据查询接口
|
/// </summary>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="wo_code">工单编号</param>
|
/// <param name="partnumber">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">产品规格</param>
|
/// <param name="reportuser">报工人员</param>
|
/// <param name="reportdate">报工时间</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepVerifySearch")]
|
[HttpGet]
|
public JsonResult MesOrderStepVerifySearch(string wkshopcode=null, string wo_code = null, string partnumber = null, string partname = null, string partspec = null, string reportuser = null, string reportdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
|
{
|
string reportdateopendate = ""; //报工开始时间
|
string reportdateclosedate = ""; //报工结束时间
|
if (reportdate != "" && reportdate != null)
|
{
|
reportdateopendate = reportdate.Split('~')[0].ToString();
|
reportdateclosedate = reportdate.Split('~')[1].ToString();
|
}
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderStepVerifySearch(wkshopcode,wo_code, partnumber, partname, partspec, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产执行,报工调整获取选定报工记录的不良数据]
|
/// <summary>
|
/// 生产执行,报工调整获取选定报工记录的不良数据
|
/// </summary>
|
/// <param name="wo_code">工单号</param>
|
/// <param name="step_code">工序号</param>
|
/// <param name="step_type">工序类型(自制:Z 外协:W)</param>
|
/// <param name="isbott">是否首道工序</param>
|
/// <param name="isend">是否末道工序</param>
|
/// <param name="id">报工主id</param>
|
/// <param name="sbid">报工子id</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepModelSearch")]
|
[HttpGet]
|
public JsonResult MesOrderStepModelSearch(string wo_code,string step_code,string step_type,string isbott,string isend,string id, string sbid)
|
{
|
mes = WorkOrderBLL.MesOrderStepModelSearch(wo_code, step_code, step_type, isbott, isend,id,sbid);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产执行,报工调整数据提交]
|
/// <summary>
|
/// 生产执行,报工调整数据提交
|
/// </summary>
|
/// <param name="json">提交数据</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepUpdateSeave")]
|
[HttpPost]
|
public JsonResult MesOrderStepUpdateSeave(List<UpdateProductReport> json)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderStepUpdateSeave(us, json);
|
return Json(mes);
|
}
|
#endregion
|
|
|
|
#region[生产执行,报工审核列表数据查询接口]
|
/// <summary>
|
/// 生产执行,报工审核列表数据查询接口
|
/// </summary>
|
/// <param name="reviewstatus">审核状态</param>
|
/// <param name="wkshopcode">车间编码</param>
|
/// <param name="wo_code">工单编号</param>
|
/// <param name="partnumber">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partspec">产品规格</param>
|
/// <param name="stepname">报工工序</param>
|
/// <param name="reportuser">报工人员</param>
|
/// <param name="reportdate">报工时间</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepReportVerifySearch")]
|
[HttpGet]
|
public JsonResult MesOrderStepReportVerifySearch(string reviewstatus=null, string wkshopcode=null, string wo_code = null, string partnumber = null, string partname = null, string partspec = null,string stepname=null, string reportuser = null, string reportdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
|
{
|
string reportdateopendate = ""; //报工开始时间
|
string reportdateclosedate = ""; //报工结束时间
|
if (reportdate != "" && reportdate != null)
|
{
|
reportdateopendate = reportdate.Split('~')[0].ToString();
|
reportdateclosedate = reportdate.Split('~')[1].ToString();
|
}
|
int startNum = rows * (page - 1) + 1; //起始记录rowNum
|
int endNum = rows * page; //结束记录 rowNum
|
mes = WorkOrderBLL.MesOrderStepReportVerifySearch(reviewstatus,wkshopcode, wo_code, partnumber, partname, partspec,stepname,reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产执行,报工审核数据提交]
|
/// <summary>
|
/// 生产执行,报工审核数据提交
|
/// </summary>
|
/// <param name="json">提交数据</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepReportVerifySeave")]
|
[HttpPost]
|
public JsonResult MesOrderStepReportVerifySeave([FromBody] DataModel json)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderStepReportVerifySeave(us, json);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[生产执行,报工弃审数据提交]
|
/// <summary>
|
/// 生产执行,报工弃审数据提交
|
/// </summary>
|
/// <param name="id">报工记录id</param>
|
/// <param name="steptype">工序类型</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepReportNotVerifySeave")]
|
[HttpPost]
|
public JsonResult MesOrderStepReportNotVerifySeave(string id, string steptype)
|
{
|
var token = HttpContext.Request.Headers["Token"].ToString();
|
User us = JwtTools.Denocode(token.ToString());
|
mes = WorkOrderBLL.MesOrderStepReportNotVerifySeave(us, id, steptype);
|
return Json(mes);
|
}
|
#endregion
|
}
|
}
|