| | |
| | | using Furion.DatabaseAccessor; |
| | | using Furion.DependencyInjection; |
| | | using Furion.DynamicApiController; |
| | | using Furion.FriendlyException; |
| | | using Mapster; |
| | | using Microsoft.AspNetCore.Authorization; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Microsoft.EntityFrameworkCore; |
| | | using System.Linq.Dynamic.Core; |
| | | using Admin.NET.Core; |
| | | using Yitter.IdGenerator; |
| | | using Microsoft.Extensions.Logging; |
| | | using Microsoft.AspNetCore.Mvc.RazorPages; |
| | | using StackExchange.Redis; |
| | | //using Furion.DatabaseAccessor; |
| | | //using Furion.DependencyInjection; |
| | | //using Furion.DynamicApiController; |
| | | //using Furion.FriendlyException; |
| | | //using Mapster; |
| | | //using Microsoft.AspNetCore.Authorization; |
| | | //using Microsoft.AspNetCore.Mvc; |
| | | //using Microsoft.EntityFrameworkCore; |
| | | //using System.Linq.Dynamic.Core; |
| | | //using Admin.NET.Core; |
| | | //using Yitter.IdGenerator; |
| | | //using Microsoft.Extensions.Logging; |
| | | //using Microsoft.AspNetCore.Mvc.RazorPages; |
| | | //using StackExchange.Redis; |
| | | |
| | | namespace Admin.NET.Application |
| | | { |
| | | /// <summary> |
| | | /// Pda空托出库 |
| | | /// </summary> |
| | | [ApiDescriptionSettings("Pda空托出库", Name = "CallEmpty", Order = 100)] |
| | | [Route("api/[Controller]")] |
| | | public class CallEmptyService : IDynamicApiController, ITransient |
| | | { |
| | | private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; |
| | | private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; |
| | | private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; |
| | | private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; |
| | | private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; |
| | | private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; |
| | | private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; |
| | | private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; |
| | | private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; |
| | | private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; |
| | | private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; |
| | | //namespace Admin.NET.Application |
| | | //{ |
| | | // /// <summary> |
| | | // /// Pda空托出库 |
| | | // /// </summary> |
| | | // [ApiDescriptionSettings("Pda空托出库", Name = "CallEmpty", Order = 100)] |
| | | // [Route("api/[Controller]")] |
| | | // public class CallEmptyService : IDynamicApiController, ITransient |
| | | // { |
| | | // private readonly IRepository<WmsOrder, MasterDbContextLocator> _wmsOrderRep; |
| | | // private readonly IRepository<WmsOrderDetails, MasterDbContextLocator> _wmsOrderDetailsRep; |
| | | // private readonly IRepository<WmsTask, MasterDbContextLocator> _wmsTaskRep; |
| | | // private readonly IRepository<WmsPlace, MasterDbContextLocator> _wmsPlaceRep; |
| | | // private readonly IRepository<WmsArea, MasterDbContextLocator> _wmsAreaRep; |
| | | // private readonly IRepository<WmsWarehouseEntrance, MasterDbContextLocator> _wmsWarehouseEntranceRep; |
| | | // private readonly IRepository<WmsMaterialContainer, MasterDbContextLocator> _wmsMaterialContainerRep; |
| | | // private readonly IRepository<WmsContainer, MasterDbContextLocator> _wmsContainerRep; |
| | | // private readonly IRepository<WmsContainerPlace, MasterDbContextLocator> _wmsContainerPlaceRep; |
| | | // private readonly IRepository<WmsMaterialStock, MasterDbContextLocator> _wmsMaterialStockRep; |
| | | // private readonly IRepository<WmsOrderType, MasterDbContextLocator> _wmsOrderTypeRep; |
| | | |
| | | /// <summary> |
| | | /// 构造函数 |
| | | /// </summary> |
| | | public CallEmptyService( |
| | | IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, |
| | | IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, |
| | | IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, |
| | | IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, |
| | | IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, |
| | | IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, |
| | | IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, |
| | | IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, |
| | | IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, |
| | | IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, |
| | | IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep |
| | | ) |
| | | { |
| | | _wmsOrderRep = wmsOrderRep; |
| | | _wmsOrderDetailsRep = wmsOrderDetailsRep; |
| | | _wmsTaskRep = wmsTaskRep; |
| | | _wmsPlaceRep = wmsPlaceRep; |
| | | _wmsAreaRep = wmsAreaRep; |
| | | _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; |
| | | _wmsMaterialContainerRep = wmsMaterialContainerRep; |
| | | _wmsContainerRep = wmsContainerRep; |
| | | _wmsContainerPlaceRep = wmsContainerPlaceRep; |
| | | _wmsMaterialStockRep = wmsMaterialStockRep; |
| | | _wmsOrderTypeRep = wmsOrderTypeRep; |
| | | } |
| | | // /// <summary> |
| | | // /// 构造函数 |
| | | // /// </summary> |
| | | // public CallEmptyService( |
| | | // IRepository<WmsOrder, MasterDbContextLocator> wmsOrderRep, |
| | | // IRepository<WmsOrderDetails, MasterDbContextLocator> wmsOrderDetailsRep, |
| | | // IRepository<WmsTask, MasterDbContextLocator> wmsTaskRep, |
| | | // IRepository<WmsPlace, MasterDbContextLocator> wmsPlaceRep, |
| | | // IRepository<WmsArea, MasterDbContextLocator> wmsAreaRep, |
| | | // IRepository<WmsWarehouseEntrance, MasterDbContextLocator> wmsWarehouseEntranceRep, |
| | | // IRepository<WmsMaterialContainer, MasterDbContextLocator> wmsMaterialContainerRep, |
| | | // IRepository<WmsContainer, MasterDbContextLocator> wmsContainerRep, |
| | | // IRepository<WmsContainerPlace, MasterDbContextLocator> wmsContainerPlaceRep, |
| | | // IRepository<WmsMaterialStock, MasterDbContextLocator> wmsMaterialStockRep, |
| | | // IRepository<WmsOrderType, MasterDbContextLocator> wmsOrderTypeRep |
| | | // ) |
| | | // { |
| | | // _wmsOrderRep = wmsOrderRep; |
| | | // _wmsOrderDetailsRep = wmsOrderDetailsRep; |
| | | // _wmsTaskRep = wmsTaskRep; |
| | | // _wmsPlaceRep = wmsPlaceRep; |
| | | // _wmsAreaRep = wmsAreaRep; |
| | | // _wmsWarehouseEntranceRep = wmsWarehouseEntranceRep; |
| | | // _wmsMaterialContainerRep = wmsMaterialContainerRep; |
| | | // _wmsContainerRep = wmsContainerRep; |
| | | // _wmsContainerPlaceRep = wmsContainerPlaceRep; |
| | | // _wmsMaterialStockRep = wmsMaterialStockRep; |
| | | // _wmsOrderTypeRep = wmsOrderTypeRep; |
| | | // } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 提交出库 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpPost("PdaContainerOut")] |
| | | [UnitOfWork] |
| | | public async Task PdaContainerOut([FromBody] PdaContainerOutInput input) |
| | | { |
| | | //根据输入数量循环出库的托盘数量 |
| | | for (int i = 1; i < input.Qty+1; i++) |
| | | { |
| | | //获取库存中的空托盘 |
| | | var wmsMaterialStockModal = await _wmsMaterialStockRep.FirstOrDefaultAsync(x => x.Source == RuKuSourceEnum.KONGTUO); |
| | | //获取库位信息 |
| | | var wmsPlacModal = await _wmsPlaceRep.FirstOrDefaultAsync(x => x.PlaceCode == wmsMaterialStockModal.PlaceCode); |
| | | //任务 |
| | | var takmodel = new WmsTask() |
| | | { |
| | | TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), |
| | | TaskModel = TaskModel.QUANZIDONG, |
| | | TaskType = TaskType.CHUKU, |
| | | TaskLevel = 1, |
| | | TaskStatus = TaskStatusEnum.WEIZHIXING, |
| | | OrderNo = "N/A", |
| | | OrderDetailsId = 0, |
| | | ContainerCode = wmsMaterialStockModal.ContainerCode, |
| | | SourcePlace = wmsMaterialStockModal.PlaceCode, |
| | | ToPlace = wmsPlacModal.Aisle.ToString(), //目标位 |
| | | AreaName = "绝缘立库", |
| | | IsRead = true, //WCS是否可以读取 |
| | | SendTimes = 1, //发送次数 |
| | | Aisle = wmsPlacModal.Aisle, |
| | | TaskDodeviceStatus = TaskDodeviceStatusEnum.W, |
| | | Description = "空托" |
| | | }; |
| | | await _wmsTaskRep.InsertAsync(takmodel); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // /// <summary> |
| | | // /// 提交出库 |
| | | // /// </summary> |
| | | // /// <returns></returns> |
| | | // [HttpPost("PdaContainerOut")] |
| | | // [UnitOfWork] |
| | | // public async Task PdaContainerOut([FromBody] PdaContainerOutInput input) |
| | | // { |
| | | // //根据输入数量循环出库的托盘数量 |
| | | // for (int i = 1; i < input.Qty+1; i++) |
| | | // { |
| | | // //获取库存中的空托盘 |
| | | // var wmsMaterialStockModal = await _wmsMaterialStockRep.FirstOrDefaultAsync(x => x.Source == RuKuSourceEnum.KONGTUO); |
| | | // //获取库位信息 |
| | | // var wmsPlacModal = await _wmsPlaceRep.FirstOrDefaultAsync(x => x.PlaceCode == wmsMaterialStockModal.PlaceCode); |
| | | // //任务 |
| | | // var takmodel = new WmsTask() |
| | | // { |
| | | // TaskNo = Yitter.IdGenerator.YitIdHelper.NextId().ToString(), |
| | | // TaskModel = TaskModel.QUANZIDONG, |
| | | // TaskType = TaskType.CHUKU, |
| | | // TaskLevel = 1, |
| | | // TaskStatus = TaskStatusEnum.WEIZHIXING, |
| | | // OrderNo = "N/A", |
| | | // OrderDetailsId = 0, |
| | | // ContainerCode = wmsMaterialStockModal.ContainerCode, |
| | | // SourcePlace = wmsMaterialStockModal.PlaceCode, |
| | | // ToPlace = wmsPlacModal.Aisle.ToString(), //目标位 |
| | | // AreaName = "绝缘立库", |
| | | // IsRead = true, //WCS是否可以读取 |
| | | // SendTimes = 1, //发送次数 |
| | | // Aisle = wmsPlacModal.Aisle, |
| | | // TaskDodeviceStatus = TaskDodeviceStatusEnum.W, |
| | | // Description = "空托" |
| | | // }; |
| | | // await _wmsTaskRep.InsertAsync(takmodel); |
| | | // } |
| | | // } |
| | | // } |
| | | //} |