using System.Dynamic;
|
using Microsoft.AspNetCore.Mvc;
|
using NewPdaSqlServer.Dto.service;
|
using NewPdaSqlServer.service.Warehouse;
|
using NewPdaSqlServer.util;
|
|
namespace NewPdaSqlServer.Controllers.Warehouse;
|
|
/// <summary>
|
/// 其他出库相关接口
|
/// </summary>
|
[Route("api/[controller]")]
|
[ApiController]
|
public class MesItemQtController : ControllerBase
|
{
|
private readonly MesItemQtManager _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);
|
}
|
}
|
|
#endregion
|
|
#region 其他出库业务
|
|
/// <summary>
|
/// 获取未完成的退料单号列表
|
/// </summary>
|
/// <returns>退料单号列表</returns>
|
/// <remarks>
|
/// 获取状态为已审核(Qt015=true)且未完结(Qt014=false)的退料单号列表
|
/// </remarks>
|
/// <response code="200">成功获取退料单号列表</response>
|
/// <response code="400">获取失败</response>
|
[HttpPost("GetPendingQtList")]
|
public ResponseResult GetPendingQtList()
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetPendingQtList();
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 获取待处理的退料单明细列表
|
/// </summary>
|
/// <param name="query">查询参数</param>
|
/// <returns>待处理的退料单明细列表</returns>
|
/// <remarks>
|
/// 请求示例:
|
///
|
/// POST /api/MesItemQt/GetPendingQtList
|
/// {
|
/// "userName": "admin", // 用户名(必填)
|
/// "billNo": "QT20240101001" // 退料单号(必填)
|
/// }
|
///
|
/// 返回未完成的明细记录(Qd007-Qd008>0)
|
/// </remarks>
|
/// <response code="200">成功获取退料单明细</response>
|
/// <response code="400">获取失败,返回具体错误信息</response>
|
[HttpPost("GetPendingQtDetailList")]
|
public ResponseResult GetPendingQtDetailList([FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetPendingQtList(query);
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 扫描条码出库
|
/// </summary>
|
/// <param name="query">查询参数</param>
|
/// <returns>出库结果、待处理明细和提示消息</returns>
|
/// <remarks>
|
/// 请求示例:
|
///
|
/// POST /api/MesItemQt/OutScanBarcode
|
/// {
|
/// "billNo": "QT20240101001", // 退料单号(必填)
|
/// "barcode": "BC001", // 条码号(必填)
|
/// "userName": "admin" // 用户名(必填)
|
/// }
|
///
|
/// 返回数据包含:
|
/// - form: 处理结果表单
|
/// - item: 待处理明细列表
|
/// - message: 处理结果消息
|
/// </remarks>
|
/// <response code="200">扫描成功</response>
|
/// <response code="400">扫描失败,返回具体错误信息</response>
|
[HttpPost("OutScanBarcode")]
|
public ResponseResult OutScanBarcode([FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (form, items, message) = _manager.OutScanBarcode(query);
|
resultInfos.form = form;
|
resultInfos.items = items;
|
resultInfos.message = message;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 打印条码出库
|
/// </summary>
|
/// <param name="query">查询参数</param>
|
/// <returns>出库结果、待处理明细和提示消息</returns>
|
/// <remarks>
|
/// 请求示例:
|
///
|
/// POST /api/MesItemQt/PrintQtckBarcode
|
/// {
|
/// "userName": "admin", // 用户名(必填)
|
/// "billNo": "QT20240101001", // 退料单号(必填)
|
/// "barcode": "BC001", // 条码号(必填)
|
/// "Fum": 10 // 发料数量(必填,必须大于0)
|
/// }
|
///
|
/// 返回数据包含:
|
/// - form: 处理结果表单
|
/// - item: 待处理明细列表
|
/// - message: 处理结果消息
|
/// </remarks>
|
/// <response code="200">打印成功</response>
|
/// <response code="400">打印失败,返回具体错误信息</response>
|
[HttpPost("PrintQtckBarcode")]
|
public ResponseResult PrintQtckBarcode([FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (form, items, message) = _manager.PrintQtckBarcode(query);
|
resultInfos.form = form;
|
resultInfos.items = items;
|
resultInfos.message = message;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
#endregion
|
}
|