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 }