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;
///
/// 生产报工相关接口
///
[Route("api/[controller]")]
[ApiController]
public class MesWorkProdController : ControllerBase
{
private readonly MesWorkProdManager _manager = new();
#region 基础CRUD
///
/// 获取所有
///
/// 报工单列表
[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);
}
}
///
/// 根据主键获取
///
/// 报工单信息
[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);
}
}
///
/// 根据主键删除
///
/// 删除结果
[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);
}
}
///
/// 添加
///
/// 添加结果
[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);
}
}
///
/// 修改
///
/// 修改结果
[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 生产报工
///
/// PDA扫描生产报工
///
/// 报工请求参数
/// 报工结果
///
/// 请求示例:
/// POST /api/MesWorkProd/ScanWork
/// {
/// "staffNo": "ST001",
/// "itemBarcode": "BC001",
/// "userNo": "admin"
/// }
///
/// 扫描成功
/// 扫描失败,返回具体错误信息
[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);
}
}
///
/// PDA扫描生产报工(带数量)
///
/// 报工请求参数
/// 报工结果
///
/// 请求示例:
/// POST /api/MesWorkProd/ScanWorkProd
/// {
/// "itemBarcode": "BC001",
/// "quantity": 10,
/// "userNo": "admin"
/// }
///
/// 扫描成功
/// 扫描失败,返回具体错误信息
[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
}