using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEA_Core.BaseServices; using WIDESEA_DTO.ERP; using WIDESEA_DTO.MES; using WIDESEA_DTO; using WIDESEA_IOutboundRepository; using WIDESEA_IOutboundService; using WIDESEA_Model.Models; using WIDESEA_Common.OrderEnum; using WIDESEA_Core.Helper; using WIDESEA_IBasicRepository; using WIDESEA_Common.WareHouseEnum; using WIDESEA_Core; namespace WIDESEA_OutboundService { public class MesOutboundOrderService : ServiceBase, IMesOutboundOrderService { private readonly IBasicRepository _basicRepository; public MesOutboundOrderService(IMesOutboundOrderRepository BaseDal, IBasicRepository basicRepository) : base(BaseDal) { _basicRepository = basicRepository; } public MesResponseContent SubstrateOut(SubstrateOutModel model) { try { Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA57.ToString()); if (warehouse == null) { return MesResponseContent.Instance.Error($"仓库基础信息未配置"); } Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == model.MaterialCode); if (materielInfo == null) { return MesResponseContent.Instance.Error($"未找到该物料信息"); } Dt_MesOutboundOrder mesOutboundOrder = new Dt_MesOutboundOrder() { CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt(), Line = model.Line, MaterialCode = model.MaterialCode, MaterialName = model.MaterialName, OrderQuantity = model.RequiredQuantity, TaskNo = model.TaskNo, Unit = model.Unit, OrderType = MesOutboundOrderTypeEnum.SubstrateOut.ObjToInt(), OrderStatus = OutOrderStatusEnum.未开始.ObjToInt(), WarehouseId = warehouse.WarehouseId }; BaseDal.AddData(mesOutboundOrder); return MesResponseContent.Instance.OK(); } catch (Exception ex) { return MesResponseContent.Instance.Error(ex.Message); } } } }