1
dengjunjie
2025-05-08 092971a8ba7848f024427694c642959d0fbc8599
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs
@@ -34,11 +34,12 @@
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly IBasicRepository _basicRepository;
        private readonly ITaskRepository _taskRepository;
        private readonly IOutboundOrderDetailRepository _outboundOrderDetailRepository;
        private readonly SqlSugarClient _dbBase;
        public IOutboundOrderRepository Repository => BaseDal;
        public OutboundOrderService(IOutboundOrderRepository BaseDal, IBasicRepository basicRepository, IMapper mapper, IMaterielInfoService materielInfoService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService, IUnitOfWorkManage unitOfWorkManage,ITaskRepository taskRepository) : base(BaseDal)
        public OutboundOrderService(IOutboundOrderRepository BaseDal, IBasicRepository basicRepository, IMapper mapper, IMaterielInfoService materielInfoService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService, IUnitOfWorkManage unitOfWorkManage, ITaskRepository taskRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository) : base(BaseDal)
        {
            _mapper = mapper;
            _materielInfoService = materielInfoService;
@@ -47,6 +48,7 @@
            _stockService = stockInfoService;
            _dbBase = unitOfWorkManage.GetDbClient();
            _taskRepository = taskRepository;
            _outboundOrderDetailRepository = outboundOrderDetailRepository;
        }
        public override WebResponseContent AddData(SaveModel saveModel)
@@ -88,6 +90,31 @@
            }
            saveModel.DetailData = dics;
            return base.UpdateData(saveModel);
        }
        public override WebResponseContent DeleteData(object[] keys)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                List<Dt_OutboundOrder> _OutboundOrders = BaseDal.Db.Queryable<Dt_OutboundOrder>().Includes(x => x.Details).Where(x => keys.Contains(x.Id)).ToList();
                if (_OutboundOrders.Count < 1) throw new Exception("未找到出库单");
                List<Dt_OutboundOrderDetail> orderDetails = new List<Dt_OutboundOrderDetail>();
                foreach (var item in _OutboundOrders)
                {
                    if (item.Details.Where(x => x.LockQuantity != x.OverOutQuantity).Any())
                        throw new Exception("存在未出库完成托盘");
                    orderDetails.AddRange(item.Details);
                    item.Details = null;
                }
                BaseDal.DeleteAndMoveIntoHty(_OutboundOrders, OperateType.人工删除);
                content.Status = _outboundOrderDetailRepository.DeleteAndMoveIntoHty(orderDetails, OperateType.人工删除);
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
        public WebResponseContent AddOutboundOrder(OutboundOrderAddDTO orderAddDTO)
@@ -142,20 +169,6 @@
                return (false, "单据已存在", outboundOrderAddDTO);
            }
            return (true, "成功", outboundOrderAddDTO);
        }
        public WebResponseContent ReleaseOutOrder(int orderId)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
            }
            catch (Exception ex)
            {
            }
            return content;
        }
    }
}