using System.Dynamic;
|
using Microsoft.AspNetCore.Mvc;
|
using NewPdaSqlServer.Dto.service;
|
using NewPdaSqlServer.entity;
|
using NewPdaSqlServer.service.Wom;
|
using NewPdaSqlServer.util;
|
|
namespace NewPdaSqlServer.Controllers.Wom;
|
|
/// <summary>
|
/// 生产报工相关接口
|
/// </summary>
|
[Route("api/[controller]")]
|
[ApiController]
|
public class MesWorkProdController : ControllerBase
|
{
|
private readonly MesWorkProdManager _manager = new();
|
|
#region 基础CRUD
|
|
/// <summary>
|
/// 获取所有
|
/// </summary>
|
/// <returns>报工单列表</returns>
|
[HttpPost("GetList")]
|
public ResponseResult GetList()
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetList();
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 根据主键获取
|
/// </summary>
|
/// <returns>报工单信息</returns>
|
[HttpPost("GetById")]
|
public ResponseResult GetById(int id)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetById(id);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 根据主键删除
|
/// </summary>
|
/// <returns>删除结果</returns>
|
[HttpPost("DeleteByIds")]
|
public ResponseResult DeleteByIds([FromBody] object[] ids)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.DeleteByIds(ids);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 添加
|
/// </summary>
|
/// <returns>添加结果</returns>
|
[HttpPost("Insert")]
|
public ResponseResult Add([FromBody] MesWorkProd data)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.Insert(data);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <returns>修改结果</returns>
|
[HttpPost("Update")]
|
public ResponseResult Update([FromBody] MesWorkProd data)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.Update(data);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
#endregion
|
|
#region 生产报工
|
|
/// <summary>
|
/// PDA扫描生产报工
|
/// </summary>
|
/// <param name="request">报工请求参数</param>
|
/// <returns>报工结果</returns>
|
/// <remarks>
|
/// 请求示例:
|
///
|
/// POST /api/MesWorkProd/ScanWork
|
/// {
|
/// "staffNo": "ST001",
|
/// "itemBarcode": "BC001",
|
/// "userNo": "admin"
|
/// }
|
/// </remarks>
|
/// <response code="200">扫描成功</response>
|
/// <response code="400">扫描失败,返回具体错误信息</response>
|
[HttpPost("ScanWork")]
|
public ResponseResult ScanWork([FromBody] ScanWorkRequest request)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.result = _manager.ScanWorkAsync(request);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// PDA扫描生产报工(带数量)
|
/// </summary>
|
/// <param name="request">报工请求参数</param>
|
/// <returns>报工结果</returns>
|
/// <remarks>
|
/// 请求示例:
|
///
|
/// POST /api/MesWorkProd/ScanWorkProd
|
/// {
|
/// "itemBarcode": "BC001",
|
/// "quantity": 10,
|
/// "userNo": "admin"
|
/// }
|
/// </remarks>
|
/// <response code="200">扫描成功</response>
|
/// <response code="400">扫描失败,返回具体错误信息</response>
|
[HttpPost("ScanWorkProd")]
|
public ResponseResult ScanWorkProd([FromBody] ScanWorkRequest request)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.success = _manager.ScanWorkProdAsync(request);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
#endregion
|
}
|