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;
///
/// 生产补料相关接口
///
[Route("api/[controller]")]
[ApiController]
public class MesItemBlController : ControllerBase
{
private readonly MesItemBlManager _manager = new();
/***进入模版管理可以修改模版***/
///
/// 获取所有
///
///
[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] 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);
}
}
///
/// 添加返回自增
///
///
[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);
}
}
///
/// 修改
///
///
[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 生产补料
///
/// 获取生产补料单号列表
///
/// 补料单号列表
/// 成功获取补料单号列表
/// 获取失败
[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);
}
}
///
/// 根据单号获取生产补料单明细
///
/// 查询参数,必须包含billNo
/// 补料单明细列表
///
/// 请求示例:
/// POST /api/MesItemBl/GetMesItemBlDetailByBillNo
/// {
/// "billNo": "BL202401010001"
/// }
///
/// 成功获取补料单明细
/// 获取失败,可能是单据号不存在或已完成
[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);
}
}
///
/// 扫描条码
///
/// 查询参数
/// 扫描结果和待处理列表
///
/// 请求示例:
/// POST /api/MesItemBl/SctlScanBarcode
/// {
/// "billNo": "WO202401010001",
/// "barcode": "1234567890",
/// "userName": "admin",
/// "blNo": "BL202401010001"
/// }
///
/// 扫描成功
/// 扫描失败,返回具体错误信息
[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 生产超领
///
/// 获取生产超领单号列表
///
/// 超领单号列表
/// 成功获取超领单号列表
/// 获取失败
[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);
}
}
///
/// 获取生产超领单明细
///
/// 查询参数,必须包含billNo
/// 超领单明细列表
///
/// 请求示例:
/// POST /api/MesItemBl/GetMesItemBlDetailBySccBillNo
/// {
/// "billNo": "SC202401010001"
/// }
///
/// 成功获取超领单明细
/// 获取失败,返回具体错误信息
[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);
}
}
///
/// 生产超领扫描条码
///
/// 查询参数
/// 扫描结果和待处理列表
///
/// 请求示例:
/// POST /api/MesItemBl/ScanBarcodeForOverPicking
/// {
/// "billNo": "WO202401010001",
/// "barcode": "1234567890",
/// "userName": "admin",
/// "blNo": "SC202401010001"
/// }
///
/// 扫描成功
/// 扫描失败,返回具体错误信息
[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);
}
}
#endregion
}