using Microsoft.AspNetCore.Mvc;
using Rhea.Common;
using SqlSugar;
using System.Threading.Tasks;
using Tiger.IBusiness;
using Tiger.Model;
using Tiger.Model.Entitys.MES.BizMesWo;
using Tiger.Model.Entitys.MES.BizMesWoBatch;
using Tiger.Api.iBiz;
namespace Tiger.Api.Controllers.MES
{
public partial class MESController : ControllerBase
{
///
/// 保存工单
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveMesWo([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveMesWo(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 下发保存批次工单
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task SaveMesBatchWo([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().SaveMesBatchWo(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 删除工单
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task DeleteMesWo([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().DeleteMesWo(action.Data?.ToString()));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 更新工单状态
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task UpdateWoStatus([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().UpdateWoStatus(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 更新工单批次状态
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task UpdateWoBatchStatus([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().UpdateWoBatchStatus(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 更新工单模板变量
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task AddOrEditLabelVarByWorkOrder([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().AddOrEditLabelVarByWorkOrder(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 获取工单模板变量
///
///
///
[HttpPost]
[Route("api/[controller]/[action]")]
public async Task GetLabelVarByWorkOrder([FromBody] ApiAction action)
{
ApiAction response = new();
try
{
response = response.GetResponse(await DI.Resolve().GetLabelVarByWorkOrder(action.Data));
}
catch (System.Exception ex)
{
response = response.GetResponse().CatchExceptionWithLog(ex);
}
return Ok(response);
}
///
/// 获取工单批次的数量汇总
///
///
///
[HttpGet]
[Route("api/[controller]/[action]")]
public async Task GetWoBatchCount(ApiAction action)
{
ApiAction response = new();
try
{
SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { BATCH = action.Data?.ToString(), 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_GET_WO_BATCH_COUNT", 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);
}
}
}