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);
}
}
}