public ActionResult Load()
 {
     string OrderNum = WebUtil.GetFormValue<string>("OrderNum", string.Empty);
     if (!OrderNum.IsEmpty())
     {
         ReturnProvider provider = new ReturnProvider();
         ReturnOrderEntity backEntity = provider.CheckOrder(OrderNum);
         if (backEntity != null && backEntity.Status == (int)EAudite.Wait)
         {
             this.ReturnJson.AddProperty("d", "1001");
             return Content(this.ReturnJson.ToString());
         }
         Bill<OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
         OutStorageEntity entity = new OutStorageEntity();
         entity.OrderNum = OrderNum;
         entity = bill.GetOrder(entity);
         if (entity.IsNotNull())
         {
             if (entity.Status != (int)EAudite.Pass)
             {
                 this.ReturnJson.AddProperty("d", "1002");
                 return Content(this.ReturnJson.ToString());
             }
             this.ReturnJson.AddProperty("CusNum", entity.CusNum);
             this.ReturnJson.AddProperty("CusName", entity.CusName);
             this.ReturnJson.AddProperty("Address", entity.Address);
             this.ReturnJson.AddProperty("Contact", entity.Contact);
             this.ReturnJson.AddProperty("Phone", entity.Phone);
             //加载详细内容
             OutStoDetailEntity detail = new OutStoDetailEntity();
             detail.OrderNum = OrderNum;
             List<OutStoDetailEntity> list = bill.GetOrderDetail(detail);
             list = list.IsNull() ? new List<OutStoDetailEntity>() : list;
             //获得已经退货的数量
             List<ReturnDetailEntity> listResult = provider.GetDetailByOrder(OrderNum);
             if (!listResult.IsNullOrEmpty())
             {
                 list.ForEach(a =>
                 {
                     double qty = listResult.Where(b => b.BarCode == a.BarCode && b.ProductNum == a.ProductNum && b.LocalNum == a.LocalNum && b.StorageNum == a.StorageNum && b.BatchNum==a.BatchNum).Sum(b => b.BackNum);
                     a.BackNum = qty;
                 });
             }
             Session[CacheKey.TEMPDATE_CACHE_RETURNPRODUCTDETAIL] = list;
             string json = ConvertJson.ListToJson<OutStoDetailEntity>(list, "List");
             this.ReturnJson.AddProperty("data", json);
         }
     }
     return Content(this.ReturnJson.ToString());
 }
        public ActionResult Edit()
        {
            //退货单号
            string OrderNum = WebUtil.GetFormValue<string>("OrderNum", string.Empty);
            if (!OrderNum.IsEmpty())
            {
                //退货单部分
                Bill<ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder();
                ReturnOrderEntity entity = new ReturnOrderEntity();
                entity.OrderNum = OrderNum;
                entity = bill.GetOrder(entity);
                if (entity.Status != (int)EAudite.Wait)
                {
                    this.ReturnJson.AddProperty("d", "1001");
                    return Content(this.ReturnJson.ToString());
                }
                ReturnDetailEntity detail = new ReturnDetailEntity();
                detail.OrderNum = OrderNum;
                List<ReturnDetailEntity> listDetails = bill.GetOrderDetail(detail);
                //出货单部分
                Bill<OutStorageEntity, OutStoDetailEntity> provider = new OutStorageOrder();
                OutStoDetailEntity items = new OutStoDetailEntity();
                items.OrderNum = entity.ContractOrder;
                List<OutStoDetailEntity> list = provider.GetOrderDetail(items);

                //已经退货部分
                ReturnProvider returnProvider = new ReturnProvider();
                List<ReturnDetailEntity> listResult = returnProvider.GetDetailByOrder(entity.ContractOrder);

                if (!list.IsNullOrEmpty())
                {
                    list.ForEach(a =>
                    {
                        ReturnDetailEntity item = listDetails.FirstOrDefault(b => b.BarCode == a.BarCode && b.ProductNum == a.ProductNum && b.LocalNum == a.LocalNum && b.StorageNum == a.StorageNum);
                        if (item != null)
                        {
                            a.Qty = item.BackNum;
                        }
                        a.BackNum = listResult.Where(b => b.BarCode == a.BarCode && b.ProductNum == a.ProductNum && b.LocalNum == a.LocalNum && b.StorageNum == a.StorageNum).Sum(b => b.BackNum);
                    });
                }
                Session[CacheKey.TEMPDATE_CACHE_RETURNPRODUCTDETAIL] = list;
                string json = ConvertJson.ListToJson<OutStoDetailEntity>(list, "List");
                this.ReturnJson.AddProperty("data", json);
            }
            return Content(this.ReturnJson.ToString());
        }