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