| | |
| | | private readonly IRepository<Dt_StockInfo> _stockRepository; |
| | | private readonly IRepository<Dt_LocationInfo> _locationInfoRepository; |
| | | private readonly IBasicService _basicService; |
| | | private readonly IRepository<Dt_AllocateOrder> _allocateOrderRepository; |
| | | public IRepository<Dt_InboundOrder> Repository => BaseDal; |
| | | |
| | | public InboundOrderService(IRepository<Dt_InboundOrder> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IRepository<Dt_Task> taskRepository, IStockService stockService, IInboundOrderDetailService inboundOrderDetailService, IMaterialUnitService materialUnitService, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_StockInfo> stockRepository, IRepository<Dt_LocationType> locationTypeRepository, IMaterielInfoService materielInfoService, IBasicService basicService, IRepository<Dt_LocationInfo> locationInfoRepository) : base(BaseDal) |
| | | public InboundOrderService(IRepository<Dt_InboundOrder> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_InboundOrderDetail> inboundOrderDetailRepository, IRepository<Dt_Task> taskRepository, IStockService stockService, IInboundOrderDetailService inboundOrderDetailService, IMaterialUnitService materialUnitService, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_InboundOrder> inboundOrderRepository, IRepository<Dt_WarehouseArea> warehouseAreaRepository, IRepository<Dt_StockInfo> stockRepository, IRepository<Dt_LocationType> locationTypeRepository, IMaterielInfoService materielInfoService, IBasicService basicService, IRepository<Dt_LocationInfo> locationInfoRepository, IRepository<Dt_AllocateOrder> allocateOrderRepository) : base(BaseDal) |
| | | { |
| | | _mapper = mapper; |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | |
| | | _materielInfoService = materielInfoService; |
| | | _basicService = basicService; |
| | | _locationInfoRepository = locationInfoRepository; |
| | | _allocateOrderRepository = allocateOrderRepository; |
| | | } |
| | | |
| | | public async Task<WebResponseContent> ReceiveInboundOrder(List<Dt_InboundOrder> models, int operateType) |
| | |
| | | |
| | | foreach (var item in model.Details) |
| | | { |
| | | Dt_MaterielInfo materielInfo = materielInfos.First(x => x.MaterielCode == item.MaterielCode); |
| | | //var purchaseToStockResult = await _materialUnitService.ConvertPurchaseToStockAsync(item.MaterielCode, item.BarcodeQty); |
| | | |
| | | UnitConvertResultDTO totalResult = _basicService.UnitQuantityConvert(item.MaterielCode, item.Unit, item.BarcodeUnit, item.OrderQuantity); |
| | | UnitConvertResultDTO totalResult = _basicService.UnitQuantityConvert(item.MaterielCode, item.Unit, materielInfo.inventoryUOM, item.OrderQuantity); |
| | | item.Unit = totalResult.ToUnit; |
| | | item.OrderQuantity = totalResult.ToQuantity; |
| | | if (materielInfos.Any()) |
| | |
| | | |
| | | return content.OK(data: details); |
| | | } |
| | | |
| | | public WebResponseContent HandCloseOrder(List<string> orderNos) |
| | | { |
| | | try |
| | | { |
| | | foreach (var orderNo in orderNos) |
| | | { |
| | | var inbound = _inboundOrderRepository.QueryFirst(x => x.InboundOrderNo == orderNo); |
| | | if(inbound == null) |
| | | { |
| | | return WebResponseContent.Instance.Error($"è¯¥åæ®ä¸åå¨ï¼æ æ³è¿è¡å
³é"); |
| | | } |
| | | if (inbound.OrderStatus != (int)InOrderStatusEnum.æªå¼å§ && inbound.OrderStatus != (int)InOrderStatusEnum.å
¥åºä¸) |
| | | { |
| | | return WebResponseContent.Instance.Error($"è¯¥åæ®ç¶æä¸å¯ä»¥å
³é"); |
| | | } |
| | | inbound.OrderStatus = (int)InOrderStatusEnum.æå¨å
³é; |
| | | _inboundOrderRepository.UpdateData(inbound); |
| | | } |
| | | return WebResponseContent.Instance.OK($"åæ®å
³éæå"); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | return WebResponseContent.Instance.Error(e.Message); |
| | | } |
| | | } |
| | | } |
| | | } |