wankeda
2026-01-13 ce3b28cdcdb2b6a912413cd9e744d0ecadcb78a0
WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderService.cs
@@ -41,11 +41,13 @@
        private readonly IOutboundOrder_HtyService _outboundOrder_HtyService;
        private readonly IOutboundOrderDetail_HtyService _outboundOrderDetail_HtyService;
        private readonly IOutboundOrderDetailService _outboundOrderDetailService;
        private readonly INewOutboundOrderDetailService _newOutboundOrderDetailService;
        private readonly INewOutboundOrderService _newOutboundOrderService;
        //private readonly ITaskService _taskService;
        public IOutboundOrderRepository Repository => BaseDal;
        public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IMaterielInfoService materielInfoService, IUnitOfWorkManage unitOfWorkManage, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrder_HtyService outboundOrder_HtyService, IOutboundOrderDetail_HtyService outboundOrderDetail_HtyService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService) : base(BaseDal)
        public OutboundOrderService(IOutboundOrderRepository BaseDal, IMapper mapper, IMaterielInfoService materielInfoService, IUnitOfWorkManage unitOfWorkManage, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrder_HtyService outboundOrder_HtyService, IOutboundOrderDetail_HtyService outboundOrderDetail_HtyService, IStockInfoDetailService stockDetailService, IStockInfoService stockInfoService, INewOutboundOrderDetailService newOutboundOrderDetailService, INewOutboundOrderService newOutboundOrderService) : base(BaseDal)
        {
            _mapper = mapper;
            _unitOfWorkManage = unitOfWorkManage;
@@ -55,6 +57,8 @@
            _outboundOrder_HtyService = outboundOrder_HtyService;
            _outboundOrderDetail_HtyService = outboundOrderDetail_HtyService; 
            _outboundOrderDetailService = outboundOrderDetailService;
            _newOutboundOrderDetailService = newOutboundOrderDetailService;
            _newOutboundOrderService = newOutboundOrderService;
            //_taskService = taskService;
        }
@@ -169,17 +173,20 @@
                OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO();
                orderAddDTO1.OrderNo = houseCancelOut.No;
                orderAddDTO1.Details = houseCancelOut.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>();
                Dt_OutboundOrder oldOutboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == orderAddDTO1.OrderNo).Includes(x => x.Details).First();
                Dt_OutboundOrderDetail OutboundOrderDetail = BaseDal.Db.Queryable<Dt_OutboundOrderDetail>().Where(x => x.OrderId == oldOutboundOrder.Id).First();
                Dt_OutboundOrder? oldOutboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == orderAddDTO1.OrderNo).Includes(x => x.Details).First();
                if (oldOutboundOrder == null)
                {
                    return WebResponseContent.Instance.Error("未找到此出库单据");
                }
                if (oldOutboundOrder.OrderStatus == OutboundStatusEnum.出库完成.ObjToInt())
                if (oldOutboundOrder != null)
                {
                    return WebResponseContent.Instance.OK();
                    Dt_OutboundOrderDetail OutboundOrderDetail = BaseDal.Db.Queryable<Dt_OutboundOrderDetail>().Where(x => x.OrderId == oldOutboundOrder.Id).First();
                    if (oldOutboundOrder.OrderStatus > OutOrderStatusEnum.未开始.ObjToInt())
                    {
                        return WebResponseContent.Instance.Error("此单据已开始执行,不允许取消");
                }
                oldOutboundOrder.OrderStatus = InboundStatusEnum.取消.ObjToInt();
                    oldOutboundOrder.OrderStatus = OutboundStatusEnum.取消.ObjToInt();
                BaseDal.UpdateData(oldOutboundOrder);
                Dt_OutboundOrder_Hty inboundOrder_Hty = new Dt_OutboundOrder_Hty
@@ -215,6 +222,28 @@
                    _outboundOrderDetailService.DeleteData(item);
                }
                BaseDal.DeleteData(oldOutboundOrder);
                }
                Dt_NewOutboundOrder dt_NewOutboundOrder = BaseDal.Db.Queryable<Dt_NewOutboundOrder>().Where(x => x.OrderNo == orderAddDTO1.OrderNo).Includes(x => x.Details).First();
                if (dt_NewOutboundOrder == null)
                {
                    return WebResponseContent.Instance.Error("未找到此出库单据");
                }
                if (dt_NewOutboundOrder != null)
                {
                    if (dt_NewOutboundOrder.OrderStatus > OutOrderStatusEnum.未开始.ObjToInt())
                    {
                        return WebResponseContent.Instance.Error("此单据已开始执行,不允许取消");
                    }
                    List<Dt_NewOutboundOrderDetail> newOutboundOrderDetail = BaseDal.Db.Queryable<Dt_NewOutboundOrderDetail>().Where(x => x.OrderId == dt_NewOutboundOrder.Id).ToList();
                    dt_NewOutboundOrder.OrderStatus = OutboundStatusEnum.取消.ObjToInt();
                    foreach (var item in newOutboundOrderDetail)
                    {
                        item.OrderDetailStatus = OutboundStatusEnum.取消.ObjToInt();
                    }
                    _newOutboundOrderService.UpdateData(dt_NewOutboundOrder);
                    _newOutboundOrderDetailService.UpdateData(newOutboundOrderDetail);
                }
                content = WebResponseContent.Instance.OK();
            }
            catch (Exception ex)