dengjunjie
2024-11-06 36230cd4dd0ebe5d21eede3eff6216908f7f7a8e
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
@@ -91,12 +91,51 @@
        public override WebResponseContent UpdateData(SaveModel saveModel)
        {
            return base.UpdateData(saveModel);
            WebResponseContent content = new WebResponseContent();
            try
            {
                if (saveModel.DetailData == null || saveModel.DetailData.Count == 0) throw new Exception($"入库单明细不能为空");
                List<InboundOrderDetailAddDTO> inboundOrderDetail = saveModel.DetailData.DicToIEnumerable<InboundOrderDetailAddDTO>();
                if (inboundOrderDetail.FirstOrDefault(x => x.OrderDetailStatus > 0) != null) throw new Exception($"订单已开始组盘入库");
                var inboundOrderDetails = _inboundOrderDetailService.Db.Queryable<Dt_InboundOrderDetail>().Where(x => saveModel.DelKeys.Contains(x.Id)).ToList();
                if (inboundOrderDetails.Count > 0)
                {
                    if (inboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus != OrderDetailStatusEnum.New.ObjToInt()) != null)
                        throw new Exception($"存在已组盘工单,已先解盘");
                }
                content = base.UpdateData(saveModel);
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
        public override WebResponseContent DeleteData(object[] keys)
        {
            return base.DeleteData(keys);
            WebResponseContent content = new WebResponseContent();
            try
            {
                var inboundOrders = BaseDal.QueryData(x => keys.Contains(x.Id));
                if (inboundOrders.FirstOrDefault(x => x.OrderStatus != InboundStatusEnum.未开始.ObjToInt()) != null)
                    throw new Exception($"入库单存在组盘入库信息");
                foreach (var inboundOrder in inboundOrders)
                {
                    var inboundOrderDetails = BaseDal.Db.Queryable<Dt_InboundOrder>().Includes(x => x.Details).First(x => x.OrderNo == inboundOrder.OrderNo).Details;
                    if (inboundOrderDetails != null || inboundOrderDetails.Count > 0)
                    {
                        if (inboundOrderDetails.FirstOrDefault(x => x.OrderDetailStatus != OrderDetailStatusEnum.New.ObjToInt()) != null)
                            throw new Exception($"入库单【{inboundOrder.OrderNo}】存在组盘入库信息");
                    }
                }
                content = base.DeleteData(keys);
            }
            catch (Exception ex)
            {
                content.Error(ex.Message);
            }
            return content;
        }
        /// <summary>
        /// éªŒè¯å•据添加DTO对象