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; /// /// 生产报工相关接口 /// [Route("api/[controller]")] [ApiController] public class MesWorkProdController : ControllerBase { private readonly MesWorkProdManager _manager = new(); #region 基础CRUD /// /// 获取所有 /// /// 报工单列表 [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] MesWorkProd 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("Update")] public ResponseResult Update([FromBody] MesWorkProd 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); } } #endregion #region 生产报工 /// /// PDA扫描生产报工 /// /// 报工请求参数 /// 报工结果 /// /// 请求示例: /// POST /api/MesWorkProd/ScanWork /// { /// "staffNo": "ST001", /// "itemBarcode": "BC001", /// "userNo": "admin" /// } /// /// 扫描成功 /// 扫描失败,返回具体错误信息 [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); } } /// /// PDA扫描生产报工(带数量) /// /// 报工请求参数 /// 报工结果 /// /// 请求示例: /// POST /api/MesWorkProd/ScanWorkProd /// { /// "itemBarcode": "BC001", /// "quantity": 10, /// "userNo": "admin" /// } /// /// 扫描成功 /// 扫描失败,返回具体错误信息 [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 }