/// <summary> /// 绑定数据源 /// </summary> /// <param name="source"></param> /// <param name="e"></param> protected void RgShopRefundNeedDataSource(object source, GridNeedDataSourceEventArgs e) { DateTime startTime = StartTime == DateTime.MinValue ? DateTime.Now.AddMonths(-1) : StartTime; DateTime endTime = EndTime == DateTime.MinValue ? DateTime.Now : EndTime; var checkRefundList = _refundDal.GetShopCheckRefundList(SearchKey, startTime, endTime, int.Parse(SearchCheckState), new List <Guid>()); RgShopRefund.DataSource = checkRefundList; if (checkRefundList.Count > 0) { var pageIndex = RgShopRefund.CurrentPageIndex + 1; var pageSize = RgShopRefund.PageSize; var orderIdList = checkRefundList.Select(w => w.OrderId).ToList(); orderIdList = pageIndex == 1 ? orderIdList.Take(pageSize).ToList() : orderIdList.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); DicOrderClew = _operationLogManager.GetOperationLogList(orderIdList); } }
/// <summary> /// 是否成功生成退货商品检查 /// </summary> /// <param name="applyId"></param> /// <param name="expressNo"> </param> /// <param name="expressName"> </param> /// <returns></returns> public bool IsSuccessCreateCheck(Guid applyId, Guid warehouseId, string expressNo, string expressName) { //退换货原商品明细 var applyInfo = _shopRefund.GetShopExchangedApplyInfo(applyId); if (applyInfo == null) { return(false); } var shopApplyDetailInfos = _shopApplyDetail.GetShopApplyDetailList(applyId).ToList(); var flag = false; //门店传递仓库 var info = WarehouseManager.Get(warehouseId); if (info == null) { return(false); } if (shopApplyDetailInfos != null && shopApplyDetailInfos.Count > 0) { var checkRefund = new CheckRefundInfo { RefundId = Guid.NewGuid(), RefundNo = applyInfo.ApplyNo, OrderId = applyId, ExpressNo = expressNo, ExpressName = expressName, CreateTime = DateTime.Now, CheckState = (int)CheckState.Checking, Remark = string.Empty, WarehouseId = warehouseId, Amount = shopApplyDetailInfos.Sum(act => act.Quantity * act.Price), ReStartReason = "", CheckFilialeId = info.LogisticFilialeId, IsTransfer = false }; IList <CheckRefundDetailInfo> checkRefundDetailInfos = (from item in shopApplyDetailInfos select new CheckRefundDetailInfo { RefundId = checkRefund.RefundId, Id = item.ID, GoodsId = item.GoodsID, RealGoodsId = item.RealGoodsID, GoodsName = item.GoodsName, GoodsCode = item.GoodsCode, DamageCount = 0, Quantity = item.Quantity, ReturnCount = item.Quantity, ReturnReason = "", ReturnType = applyInfo.IsBarter ? 1 : 0, SellPrice = item.Price, Specification = item.Specification }).ToList(); using (var tran = new TransactionScope(TransactionScopeOption.Required)) { try { var list = _checkRefund.GetShopCheckRefundList(applyInfo.ShopID, applyId, string.Empty); if (list != null && list.Count > 0) { #region 门店采购退货增加了修改功能,需要二次检查信息;解决方案:删除老的“售后检查表”及“售后检查表明细”的数据,重新插入新的相应的信息;需求号1970(此操作跟伟哥确认过) zal 2016-03-23 var isSuccess = _checkRefund.DeleteCheckRefundInfo(list.First().RefundId); if (!isSuccess) { return(false); } #endregion } var result = _checkRefund.InsertCheckRefundAndDetailList(checkRefund, checkRefundDetailInfos); if (result) { var row = _shopRefund.UpdateExchangeState(applyId, (int)ExchangedState.Checking, "退回商品检查"); if (row > 0) { flag = true; tran.Complete(); } } } catch (Exception) { flag = false; } } } return(flag); }