using Microsoft.AspNetCore.Mvc;
using Rhea.Common;
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Xml.Linq;
using Tiger.Api.iBiz;
using Tiger.IBusiness;
using Tiger.Model;
namespace Tiger.Api.Controllers.MES
{
public partial class MESController : ControllerBase
{
///
/// 获取工艺路线
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task GetRoute([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().GetRoute(action.Data?.ToString()));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 获取工艺路线图形数据
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task GetRouteData([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().GetRouteData(action.Data?.ToString()));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 保存工艺路线图形数据
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveRouteData([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveRouteData(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 保存工艺路线
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveRoute([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveRoute(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 删除工艺路线
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task DeleteRoute([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().DeleteRoute(action.Data?.ToString()));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 保存节点岗位资源
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveRouteNodePost([FromBody] ApiAction> action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveRouteNodePost(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 删除产品绑定的工艺路线
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task DeleteProdRoute([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().DeleteProdRoute(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 保存工单工艺节点岗位资源
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveWoRouteNodePost([FromBody] ApiAction> action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveWoRouteNodePost(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 保存工单工艺路线图形数据
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveWoRouteData([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveWoRouteData(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 获取工单工艺路线图形数据
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task GetWoRouteData([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().GetWoRouteData(action.Data?.ToString()));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 删除工单绑定的工艺路线
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task DeleteWoRoute([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().DeleteWoRoute(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 获取工艺路线树形结构
///
///
///
///
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task GetRoutePTreeAsync(string? prodCode, string? orgCode) {
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { PROD_CODE = prodCode,ORG_CODE = orgCode });
var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery("SP_MES_GET_ROUTE_PTREE", pars);//返回List
return Ok(data);
}
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task GetWoPTreeAsync(string? wo)
{
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = wo });
var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery("SP_MES_GET_WO_PTREE", pars);//返回List
return Ok(data);
}
///
/// 添加生产工艺路线
///
///
///
///
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task RouteToProd(string? rotId, string? prodCode)
{
ApiAction response = new();
try
{
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, PROD_CODE = prodCode, ERR_CODE = 0, ERR_MSG = "" });
pars[2].Direction = System.Data.ParameterDirection.Output;
pars[3].Direction = System.Data.ParameterDirection.Output;
Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_ROUTE2PROD", pars);
response.Data = pars[2].Value;
response.IsSuccessed = pars[2].Value.ToInt32() == 0 ? true : false;
response.LocaleMsg = new(pars[3].Value.ToString());
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 添加客户工艺路线
///
///
///
///
///
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task RouteToCust(string? rotId, string? prodCode, string? custCode)
{
ApiAction response = new();
try
{
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, PROD_CODE = prodCode, CUST_CODE = custCode, ERR_CODE=0, ERR_MSG="" });
pars[3].Direction = System.Data.ParameterDirection.Output;
pars[4].Direction = System.Data.ParameterDirection.Output;
Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_ROUTE2CUST", pars);
response.Data = pars[3].Value;
response.IsSuccessed = pars[3].Value.ToInt32() == 0? true: false;
response.LocaleMsg = new(pars[4].Value.ToString());
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 添加工单工艺路线
///
///
///
///
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task SP_MES_PROD2WO(string? rotId, string? wo)
{
ApiAction response = new();
try
{
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { ROT_ID = rotId, WO = wo, ERR_CODE = 0, ERR_MSG = "" });
pars[2].Direction = System.Data.ParameterDirection.Output;
pars[3].Direction = System.Data.ParameterDirection.Output;
Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_PROD2WO", pars);
response.Data = pars[2].Value;
response.IsSuccessed = pars[2].Value.ToInt32() == 0 ? true : false;
response.LocaleMsg = new(pars[3].Value.ToString());
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 添加工单的客户的工艺路线
///
///
///
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task SP_MES_WO2CUST(string? wo)
{
ApiAction response = new();
try
{
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = wo, ERR_CODE = 0, ERR_MSG = "" });
pars[1].Direction = System.Data.ParameterDirection.Output;
pars[2].Direction = System.Data.ParameterDirection.Output;
Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars);
response.Data = pars[1].Value;
response.IsSuccessed = pars[1].Value.ToInt32() == 0 ? true : false;
response.LocaleMsg = new(pars[2].Value.ToString());
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
}
}