南骏 池
2025-04-14 7c67d60d2233f71547bcff90e03f9343dd4f13a2
Controllers/Wom/MesWorkProdController.cs
@@ -1,31 +1,34 @@
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;
[ApiController]
/// <summary>
///     生产报工相关接口
/// </summary>
[Route("api/[controller]")]
[ApiController]
public class MesWorkProdController : ControllerBase
{
    private readonly MesWorkProdManager m = new();
    private readonly MesWorkProdManager _manager = new();
    /***进入模版管理可以修改模版***/
    #region 基础CRUD
    /// <summary>
    ///     获取所有
    /// </summary>
    /// <returns></returns>
    /// <returns>报工单列表</returns>
    [HttpPost("GetList")]
    public ResponseResult GetList()
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetList();
            resultInfos.tbBillList = _manager.GetList();
            return new ResponseResult
            {
                status = 0,
@@ -39,18 +42,17 @@
        }
    }
    /// <summary>
    ///     根据主键获取
    /// </summary>
    /// <returns></returns>
    /// <returns>报工单信息</returns>
    [HttpPost("GetById")]
    public ResponseResult GetById(int id)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetById(id);
            resultInfos.tbBillList = _manager.GetById(id);
            return new ResponseResult
            {
                status = 0,
@@ -67,14 +69,14 @@
    /// <summary>
    ///     根据主键删除
    /// </summary>
    /// <returns></returns>
    /// <returns>删除结果</returns>
    [HttpPost("DeleteByIds")]
    public ResponseResult DeleteByIds([FromBody] object[] ids)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.DeleteByIds(ids);
            resultInfos.tbBillList = _manager.DeleteByIds(ids);
            return new ResponseResult
            {
                status = 0,
@@ -91,38 +93,14 @@
    /// <summary>
    ///     添加
    /// </summary>
    /// <returns></returns>
    /// <returns>添加结果</returns>
    [HttpPost("Insert")]
    public ResponseResult Add([FromBody] MesWorkProd data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.Insert(data);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    ///     添加返回自增
    /// </summary>
    /// <returns></returns>
    [HttpPost("InsertReturnIdentity")]
    public ResponseResult InsertReturnIdentity([FromBody] MesWorkProd data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.InsertReturnIdentity(data);
            resultInfos.tbBillList = _manager.Insert(data);
            return new ResponseResult
            {
                status = 0,
@@ -139,14 +117,14 @@
    /// <summary>
    ///     修改
    /// </summary>
    /// <returns></returns>
    /// <returns>修改结果</returns>
    [HttpPost("Update")]
    public ResponseResult Update([FromBody] MesWorkProd data)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.Update(data);
            resultInfos.tbBillList = _manager.Update(data);
            return new ResponseResult
            {
                status = 0,
@@ -159,4 +137,82 @@
            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
}