using System.Dynamic; using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.Warehouse; using MES.Service.util; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace MESApplication.Controllers.Warehouse; [ApiController] [Route("api/[controller]")] public class XbRackingTaskSyxtLogController : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly XbRackingTaskSyxtLogManager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "xb_racking_task_syxt_log"; private readonly string URL = "http://localhost:10054/api/XbRackingTaskSyxtLog/"; /***进入模版管理可以修改模版***/ /// /// 获取所有 /// /// [HttpPost("GetList")] public ResponseResult GetList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.GetList(); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// /// 根据主键获取 /// /// [HttpPost("GetById")] public ResponseResult GetById(decimal id) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.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 = m.DeleteByIds(ids); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// /// 添加 /// /// [HttpPost("Insert")] public ResponseResult Add([FromBody] XbRackingTaskSyxtLog data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Insert(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// /// 添加返回自增 /// /// [HttpPost("InsertReturnIdentity")] public ResponseResult InsertReturnIdentity( [FromBody] XbRackingTaskSyxtLog data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.InsertReturnIdentity(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// /// 修改 /// /// [HttpPost("Update")] public ResponseResult Update([FromBody] XbRackingTaskSyxtLog data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Update(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// /// 任务完成上报 /// /// [HttpPost("TaskCompleteReport")] public ResponseResult TaskCompleteReport(TaskCompleteReportDto dto) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "TaskCompleteReport"; entity.Method = METHOD; entity.Data = JsonConvert.SerializeObject(dto); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); var result = m.TaskCompleteReport(dto); resultInfos.tbBillList = result; entity.Result = 0; if (result.Code == "200") entity.Result = 1; entity.DealWith = 1; _manager.save(entity); if (result.Code == "200") return new ResponseResult { status = 0, message = "OK", data = resultInfos }; return new ResponseResult { status = 1, message = result.CodeMessage, data = resultInfos }; } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } /// /// 核验任务单号是否存在 /// /// [HttpPost("ValidateTaskExists")] public ResponseResult ValidateTaskExists(TaskCompleteReportDto dto) { try { var exists = m.ValidateTaskExists(dto); return new ResponseResult { status = 0, message = exists ? "任务单号存在" : "任务单号不存在", data = exists }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } /// /// 异常任务上报 /// /// [HttpPost("TaskErrorReport")] public ResponseResult TaskErrorReport(TaskErrorReportDto dto) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "TaskErrorReport"; entity.Method = METHOD; entity.Data = JsonConvert.SerializeObject(dto); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); var result = m.TaskErrorReport(dto); resultInfos.tbBillList = result; entity.Result = 0; if (result.Code == "200") entity.Result = 1; entity.DealWith = 1; _manager.save(entity); if (result.Code == "200") return new ResponseResult { status = 0, message = "OK", data = resultInfos }; return new ResponseResult { status = 1, message = result.CodeMessage, data = resultInfos }; } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } }