using System.Dynamic;
using MES.Service.Dto.webApi;
using MES.Service.Modes;
using MES.Service.service;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace MESApplication.Controllers;
///
/// 来源出货计划的标准出货接口
///
[ApiController]
[Route("api/[controller]")]
public class ShipmentPlanDeliveryController : ControllerBase
{
private readonly MessageCenterManager _manager = new();
private readonly ShipmentPlanDeliveryManager m = new();
private readonly string METHOD = "POST";
private readonly string TableName = "SHIPMENT_PLAN_DELIVERY";
private readonly string URL = "http://localhost:10054/api/ShipmentPlanDelivery/";
///
/// 保存出货计划出货数据(标准接口)
///
/// 出货计划出货数据
///
[HttpPost("Save")]
public ResponseResult Save(ErpShipmentPlanDelivery data)
{
var entity = new MessageCenter();
entity.TableName = TableName;
entity.Url = URL + "Save";
entity.Method = METHOD;
entity.Route = data.OrderDto.BillNo;
entity.Data = JsonConvert.SerializeObject(data);
entity.Status = (short)1;
entity.CreateBy = "SYSTEM";
try
{
dynamic resultInfos = new ExpandoObject();
var save = m.Save(data);
resultInfos.tbBillList = save;
entity.Result = (short)(save ? 1 : 0);
entity.DealWith = (short)1;
_manager.save(entity);
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
entity.Result = (short)0;
entity.DealWith = (short)0;
entity.ResultData = ex.Message;
_manager.save(entity);
return ResponseResult.ResponseError(ex);
}
}
///
/// 批量保存出货计划出货数据
///
/// 出货计划出货数据列表
///
[HttpPost("SaveList")]
public ResponseResult SaveList(List dataList)
{
var entity = new MessageCenter();
entity.TableName = TableName;
entity.Url = URL + "SaveList";
entity.Method = METHOD;
entity.Data = JsonConvert.SerializeObject(dataList);
entity.Status = (short)1;
entity.CreateBy = "SYSTEM";
try
{
dynamic resultInfos = new ExpandoObject();
var save = m.SaveList(dataList);
resultInfos.tbBillList = save;
entity.Result = (short)(save ? 1 : 0);
entity.DealWith = (short)1;
_manager.save(entity);
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
entity.Result = (short)0;
entity.DealWith = (short)0;
entity.ResultData = ex.Message;
_manager.save(entity);
return ResponseResult.ResponseError(ex);
}
}
///
/// 获取所有出货计划出货数据
///
///
[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);
}
}
///
/// 根据主键获取出货计划出货数据
///
/// 主键ID
///
[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);
}
}
///
/// 根据主键删除出货计划出货数据
///
/// 主键ID数组
///
[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] ShipmentPlanDelivery 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);
}
}
///
/// 添加出货计划出货数据并返回自增ID
///
/// 出货计划出货数据
///
[HttpPost("InsertReturnIdentity")]
public ResponseResult InsertReturnIdentity([FromBody] ShipmentPlanDelivery 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] ShipmentPlanDelivery 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);
}
}
}