using System.Dynamic;
|
using Microsoft.AspNetCore.Mvc;
|
using NewPdaSqlServer.Dto.service;
|
using NewPdaSqlServer.entity;
|
using NewPdaSqlServer.service.Warehouse;
|
using NewPdaSqlServer.util;
|
|
namespace NewPdaSqlServer.Controllers.Warehouse;
|
|
/// <summary>
|
/// 生产补料相关接口
|
/// </summary>
|
[Route("api/[controller]")]
|
[ApiController]
|
public class MesItemBlController : ControllerBase
|
{
|
private readonly MesItemBlManager _manager = new();
|
|
/***进入模版管理可以修改模版***/
|
|
/// <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] MesItemBl 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("InsertReturnIdentity")]
|
public ResponseResult InsertReturnIdentity([FromBody] MesItemBl data)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.InsertReturnIdentity(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] MesItemBl 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);
|
}
|
}
|
|
#region 生产补料
|
|
/// <summary>
|
/// 获取生产补料单号列表
|
/// </summary>
|
/// <returns>补料单号列表</returns>
|
/// <response code="200">成功获取补料单号列表</response>
|
/// <response code="400">获取失败</response>
|
[HttpPost("GetSCBLBillNo")]
|
public ResponseResult GetSCBLBillNo()
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetSCBLBillNo();
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 根据单号获取生产补料单明细
|
/// </summary>
|
/// <param name="query">查询参数,必须包含billNo</param>
|
/// <returns>补料单明细列表</returns>
|
/// <remarks>
|
/// 请求示例:
|
/// POST /api/MesItemBl/GetMesItemBlDetailByBillNo
|
/// {
|
/// "billNo": "BL202401010001"
|
/// }
|
/// </remarks>
|
/// <response code="200">成功获取补料单明细</response>
|
/// <response code="400">获取失败,可能是单据号不存在或已完成</response>
|
[HttpPost("GetMesItemBlDetailByBillNo")]
|
public ResponseResult GetMesItemBlDetailByBillNo(
|
[FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetMesItemBlDetailByBillNo(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/MesItemBl/SctlScanBarcode
|
/// {
|
/// "billNo": "WO202401010001",
|
/// "barcode": "1234567890",
|
/// "userName": "admin",
|
/// "blNo": "BL202401010001"
|
/// }
|
/// </remarks>
|
/// <response code="200">扫描成功</response>
|
/// <response code="400">扫描失败,返回具体错误信息</response>
|
[HttpPost("SctlScanBarcode")]
|
public ResponseResult SctlScanBarcode([FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (success, pendingList) = _manager.SctlScanBarcode(query);
|
resultInfos.success = success;
|
resultInfos.pendingList = pendingList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
#endregion
|
|
#region 生产超领
|
|
/// <summary>
|
/// 获取生产超领单号列表
|
/// </summary>
|
/// <returns>超领单号列表</returns>
|
/// <response code="200">成功获取超领单号列表</response>
|
/// <response code="400">获取失败</response>
|
[HttpPost("GetSccList")]
|
public ResponseResult GetSccList()
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList = _manager.GetSccList();
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 获取生产超领单明细
|
/// </summary>
|
/// <param name="query">查询参数,必须包含billNo</param>
|
/// <returns>超领单明细列表</returns>
|
/// <remarks>
|
/// 请求示例:
|
/// POST /api/MesItemBl/GetMesItemBlDetailBySccBillNo
|
/// {
|
/// "billNo": "SC202401010001"
|
/// }
|
/// </remarks>
|
/// <response code="200">成功获取超领单明细</response>
|
/// <response code="400">获取失败,返回具体错误信息</response>
|
[HttpPost("GetMesItemBlDetailBySccBillNo")]
|
public ResponseResult GetMesItemBlDetailBySccBillNo(
|
[FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
resultInfos.tbBillList =
|
_manager.GetMesItemBlDetailBySccBillNo(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/MesItemBl/ScanBarcodeForOverPicking
|
/// {
|
/// "billNo": "WO202401010001",
|
/// "barcode": "1234567890",
|
/// "userName": "admin",
|
/// "blNo": "SC202401010001"
|
/// }
|
/// </remarks>
|
/// <response code="200">扫描成功</response>
|
/// <response code="400">扫描失败,返回具体错误信息</response>
|
[HttpPost("ScanBarcodeForOverPicking")]
|
public ResponseResult ScanBarcodeForOverPicking(
|
[FromBody] WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (success, pendingList) =
|
_manager.ScanBarcodeForOverPicking(query);
|
resultInfos.success = success;
|
resultInfos.pendingList = pendingList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
|
[HttpPost("PrintBarcodeForOverPicking")]
|
public ResponseResult PrintForOverPicking(WarehouseQuery query)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (success, pendingList) =
|
_manager.PrintBarcodeForOverPicking(query);
|
resultInfos.success = success;
|
resultInfos.pendingList = pendingList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
#endregion
|
}
|