pan
2025-11-17 5fc251a847ccc0540da8b112ed2bddba846455d8
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundOrderService.cs
@@ -1,4 +1,7 @@
using AutoMapper;
using Autofac.Core;
using AutoMapper;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using SqlSugar;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
@@ -17,14 +20,15 @@
        private readonly IMapper _mapper;
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        public IRepository<Dt_OutboundOrder> Repository => BaseDal;
        private readonly ILogger<OutboundOrderService> _logger;
        private readonly IRepository<Dt_OutboundOrderDetail> _outboundOrderDetailRepository;
        public OutboundOrderService(IRepository<Dt_OutboundOrder> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_OutboundOrderDetail> outboundOrderDetailRepository) : base(BaseDal)
        public OutboundOrderService(IRepository<Dt_OutboundOrder> BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_OutboundOrderDetail> outboundOrderDetailRepository, ILogger<OutboundOrderService> logger) : base(BaseDal)
        {
            _mapper = mapper;
            _unitOfWorkManage = unitOfWorkManage;
            _outboundOrderDetailRepository = outboundOrderDetailRepository;
            _logger = logger;
        }
        public WebResponseContent ReceiveOutboundOrder(Dt_OutboundOrder model, int operateType)
@@ -161,13 +165,15 @@
                {
                    return WebResponseContent.Instance.Error($"未找到出库单明细信息");
                }
                //Db.DeleteNav(inboundOrder).Include(x => x.Details).ExecuteCommand();
                _unitOfWorkManage.BeginTran();
                BaseDal.DeleteAndMoveIntoHty(outboundOrder, OperateTypeEnum.自动删除);
                //BaseDal.DeleteAndMoveIntoHty(outboundOrder, OperateTypeEnum.自动删除);
                foreach (var item in outboundOrder.Details)
                {
                    _outboundOrderDetailRepository.DeleteAndMoveIntoHty(item, OperateTypeEnum.自动删除);
                    // _outboundOrderDetailRepository.DeleteAndMoveIntoHty(item, OperateTypeEnum.自动删除);\\
                    _outboundOrderDetailRepository.DeleteData(item);
                }
                BaseDal.DeleteData(outboundOrder);
                _unitOfWorkManage.CommitTran();
                return WebResponseContent.Instance.OK();
@@ -175,10 +181,25 @@
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                _logger.LogInformation(ex.Message);
                return WebResponseContent.Instance.Error(ex.Message);
            }
        }
        /// <summary>
        /// æ ¹æ®ID获取出库单
        /// </summary>
        public async Task<WebResponseContent> GetById(int id)
        {
            var order = await Db.Queryable<Dt_OutboundOrder>().FirstAsync(o=>o.Id==id);
            if (order == null)
            {
                return WebResponseContent.Instance.Error("未找到出库单信息");
            }
            return WebResponseContent.Instance.OK(null, order);
        }
        static object lock_code = new object();
        public string CreateCodeByRule(string ruleCode)
        {