using Microsoft.AspNetCore.Mvc;
|
using Rhea.Common;
|
using SqlSugar;
|
using System;
|
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
|
{
|
/// <summary>
|
/// 获取工艺路线
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> GetRoute([FromBody] ApiAction action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().GetRoute(action.Data?.ToString()));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 获取工艺路线图形数据
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> GetRouteData([FromBody] ApiAction action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().GetRouteData(action.Data?.ToString()));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 保存工艺路线图形数据
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> SaveRouteData([FromBody] ApiAction<RouteData> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().SaveRouteData(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 保存工艺路线
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> SaveRoute([FromBody] ApiAction<MES_ROUTE> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().SaveRoute(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 删除工艺路线
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> DeleteRoute([FromBody] ApiAction action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().DeleteRoute(action.Data?.ToString()));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 保存节点岗位资源
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> SaveRouteNodePost([FromBody] ApiAction<List<MES_ROUTE_NODE_POST>> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().SaveRouteNodePost(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 删除产品绑定的工艺路线
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> DeleteProdRoute([FromBody] ApiAction<DelProdRotInput> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().DeleteProdRoute(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 保存默认工艺路线到产品
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> SetDefaultRoute([FromBody] ApiAction<ProdRotInput> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().SetDefaultRoute(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 保存工单工艺节点岗位资源
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> SaveWoRouteNodePost([FromBody] ApiAction<List<MES_WO_NODE_POST>> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().SaveWoRouteNodePost(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 保存工单工艺路线图形数据
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> SaveWoRouteData([FromBody] ApiAction<WoRouteData> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().SaveWoRouteData(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 获取工单工艺路线图形数据
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> GetWoRouteData([FromBody] ApiAction action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().GetWoRouteData(action.Data?.ToString()));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 删除工单绑定的工艺路线
|
/// </summary>
|
/// <param name="action"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> DeleteWoRoute([FromBody] ApiAction<DelWoRotInput> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().DeleteWoRoute(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 获取工艺路线树形结构
|
/// </summary>
|
/// <param name="prodCode"></param>
|
/// <param name="orgCode"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> GetRoutePTreeAsync(string? prodCode, string? orgCode) {
|
var data = await DI.Resolve<IRoute>().GetRoutePTree(prodCode, orgCode);
|
return Ok(data);
|
}
|
|
[HttpGet]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> GetWoPTreeAsync(string? wo)
|
{
|
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = wo });
|
var data = Biz.Db.Ado.UseStoredProcedure().SqlQuery<V_MES_WO_PTREE>("SP_MES_GET_WO_PTREE", pars);//返回List
|
return Ok(data);
|
}
|
|
/// <summary>
|
/// 添加生产工艺路线
|
/// </summary>
|
/// <param name="rotId"></param>
|
/// <param name="prodCode"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> 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);
|
}
|
|
/// <summary>
|
/// 添加客户工艺路线
|
/// </summary>
|
/// <param name="rotId"></param>
|
/// <param name="prodCode"></param>
|
/// <param name="custCode"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> 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);
|
}
|
|
/// <summary>
|
/// 添加工单工艺路线
|
/// </summary>
|
/// <param name="rotId"></param>
|
/// <param name="wo"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> ProdRouteToWo([FromBody] ApiAction<WoRotInput> action)
|
{
|
ApiAction response = new();
|
try
|
{
|
response = response.GetResponse(await DI.Resolve<IRoute>().ProdRouteToWo(action.Data));
|
}
|
catch (System.Exception ex)
|
{
|
response = response.GetResponse().CatchExceptionWithLog(ex);
|
}
|
return Ok(response);
|
}
|
|
/// <summary>
|
/// 添加工单的客户的工艺路线
|
/// </summary>
|
/// <param name="wo"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[Route("api/[controller]/[action]")]
|
public async Task<IActionResult> 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);
|
}
|
}
|
}
|