Exemple #1
0
 private void dgAdjustRequestQueryResult_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
 {
     PageView.QueryInfo.PagingInfo = new QueryFilter.Common.PagingInfo
     {
         PageIndex = e.PageIndex,
         PageSize  = e.PageSize,
         SortBy    = e.SortField
     };
     PageView.QueryInfo.UserSysNo = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
     if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
     {
         PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.AllValid;
     }
     else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_IntermediatePM_Query))
     {
         PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Team;
     }
     else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_JuniorPM_Query))
     {
         PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Self;
     }
     else
     {
         PageView.QueryInfo.PMQueryRightType = null;
     }
     QueryFacade.QueryAdjustRequest(PageView.QueryInfo, (totalCount, vmList) =>
     {
         PageView.TotalCount = totalCount;
         PageView.Result     = vmList;
         this.dgAdjustQueryResult.ItemsSource = PageView.Result;
         this.dgAdjustQueryResult.TotalCount  = PageView.TotalCount;
     });
 }
Exemple #2
0
        private void LoadGridData(Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
        {
            queryFilter.PageInfo = new ECCentral.QueryFilter.Common.PagingInfo()
            {
                PageSize  = QueryResultGrid.PageSize,
                PageIndex = QueryResultGrid.PageIndex,
                SortBy    = e.SortField
            };
            queryFilter.IsManagerPM     = AuthMgr.HasFunctionAbsolute(AuthKeyConst.PO_SeniorPM_Query);
            queryFilter.PageInfo.SortBy = e.SortField;
            serviceFacade.QueryConsignSettlements(queryFilter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                var consignList             = args.Result.Rows;
                int totalCount              = args.Result.TotalCount;
                QueryResultGrid.TotalCount  = totalCount;
                QueryResultGrid.ItemsSource = consignList;

                decimal totalDiffAmt = 0m;

                foreach (var x in consignList)
                {
                    totalDiffAmt += x["Balance"] == null ? 0m : Convert.ToDecimal(x["Balance"].ToString());
                }

                this.lblSettleDiffTotalAmt.Text = string.Format("结算差额总计:{0}", totalDiffAmt.ToString("f2"));
            });
        }
Exemple #3
0
 private void btnBatchCreatePO_Click(object sender, RoutedEventArgs e)
 {
     #region [验证]
     if (!ValidationManager.Validate(this.LayoutRoot))
     {
         return;
     }
     #endregion
     this.spBasicInfo.Visibility = this.gridFailedInfo.Visibility = System.Windows.Visibility.Collapsed;
     //批量创建PO单:
     int totalCheckCount = 0;
     if (!CheckHasSelectedItem(out totalCheckCount))
     {
         return;
     }
     Window.Confirm(ResBasketQuery.ConfirmMsg_CreatePO, (obj, args) =>
     {
         if (args.DialogResult == DialogResultType.OK)
         {
             List <BasketItemsInfoVM> vmList = this.QueryResultGrid.ItemsSource as List <BasketItemsInfoVM>;
             if (null != vmList)
             {
                 vmList = vmList.Where(x => x.IsChecked == true).ToList();
                 //取是否高级权限,用于验证产品线
                 bool tIsManagerPM = AuthMgr.HasFunctionAbsolute(AuthKeyConst.PO_SeniorPM_Query);
                 vmList.ForEach(x => x.IsManagerPM = tIsManagerPM);
                 serviceFacade.BatchCreatePO(EntityConverter <List <BasketItemsInfoVM>, List <BasketItemsInfo> > .Convert(vmList), (obj2, args2) =>
                 {
                     if (args2.FaultsHandle())
                     {
                         return;
                     }
                     string tResultStr = string.Empty;
                     string tPOsStr    = string.Empty;
                     if (args2.Result.SucessPOSysNos.Count > 0)
                     {
                         tPOsStr    = string.Join(".", args2.Result.SucessPOSysNos.ToArray());
                         tResultStr = ResBasketQuery.InfoMsg_CreatePOSuccess + tPOsStr + Environment.NewLine + Environment.NewLine + args2.Result.ErrorMsg;
                     }
                     else
                     {
                         tResultStr = args2.Result.ErrorMsg;
                     }
                     //跳转到采购单查询页面:
                     Window.Alert("提示", tResultStr, MessageType.Information, (obj3, args3) =>
                     {
                         if (args3.DialogResult == DialogResultType.Cancel)
                         {
                             if (!tPOsStr.Equals(string.Empty))
                             {
                                 Window.Navigate(string.Format("/ECCentral.Portal.UI.PO/PurchaseOrderQuery/?POSysNo={0}", tPOsStr), true);
                             }
                         }
                     });
                 });
             }
         }
     });
 }
        private void btnImportSAP_Click(object sender, RoutedEventArgs e)
        {
            //页面级权限
            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_InvoiceDetailReport_Import))
            {
                Window.Alert(ResCommon.Message_NoAuthorize);
                return;
            }
            UCImportTrackingNumber importer = new UCImportTrackingNumber();

            //importer.ShowDialog("导入运单号", null);
            importer.ShowDialog(ResInvoiceDetailReport.Button_ImportSAP, null);
        }
Exemple #5
0
        public override void OnPageLoad(object sender, EventArgs e)
        {
            VerifyPermissions();
            base.OnPageLoad(sender, e);
            this.SearchCondition.DataContext = m_queryRequest = new FinanceQueryFilter();
            facade = new FinancialFacade(this);

            payableFacade     = new PayableFacade(this);
            otherDomainFacade = new OtherDomainDataFacade(this);
            BindComboBoxData();

            m_queryRequest.IsMangerPM         = AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_FinanceQuery_PM);
            m_queryRequest.OperationUserSysNo = CPApplication.Current.LoginUser.UserSysNo.Value;
        }
        /// <summary>
        /// 查看
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Hyperlink_View_Click(object sender, RoutedEventArgs e)
        {
            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_PostIncomeQuery_View))
            {
                Window.Alert(ResCommon.Message_NoAuthorize);
                return;
            }

            var cur = this.dgPostIncomeQueryResult.SelectedItem as PostIncomeVM;

            if (cur != null)
            {
                new UCPostIncomeMaintain(cur.DeepCopy(), UCPostIncomeMaintain.MaintanMode.View).ShowDialog(ResPostIncomeQuery.Message_ViewPostIncomeDlgTitle, null);
            }
        }
Exemple #7
0
 private void btnSave_Click(object sender, RoutedEventArgs e)
 {
     #region [验证]
     if (!ValidationManager.Validate(this))
     {
         return;
     }
     if (this.consignSettleVM.SettleItems.Where(x => x.SettleSysNo != -1).Count() <= 0)
     {
         Window.Alert("请先选择结算商品!");
         return;
     }
     #endregion
     //保存操作
     CollectionPaymentInfo getSettlementInfo = BuildActionEntity();
     Window.Confirm(ResConsignMaintain.ConfirmMsg_Save, (obj, args) =>
     {
         if (args.DialogResult == DialogResultType.OK)
         {
             //保存PM高级权限,用于业务端验证
             getSettlementInfo.IsManagerPM = AuthMgr.HasFunctionAbsolute(AuthKeyConst.PO_SeniorPM_Query);
             //代销商品规则检测
             getSettlementInfo.SettleItems.ForEach(item =>
             {
                 if (item.SettleRuleSysNo.HasValue && item.Cost != item.SettlePrice)
                 {
                     item.SettleRuleSysNo = null;
                     item.SettleRuleName  = null;
                 }
             });
             serviceFacade.Update(getSettlementInfo, (obj2, args2) =>
             {
                 if (args2.FaultsHandle())
                 {
                     return;
                 }
                 Window.Alert(ResConsignMaintain.InfoMsg_Title, ResConsignMaintain.InfoMsg_SaveSuccess, MessageType.Information, (obj3, args3) =>
                 {
                     if (args3.DialogResult == DialogResultType.Cancel)
                     {
                         Window.Refresh();
                         return;
                     }
                 });
             });
         }
     });
 }
        private void btnNew_Click(object sender, RoutedEventArgs e)
        {
            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_PostIncomeQuery_New))
            {
                Window.Alert(ResCommon.Message_NoAuthorize);
                return;
            }

            new UCPostIncomeMaintain().ShowDialog(ResPostIncomeQuery.Message_CreatePostIncomeDlgTitle, (obj, args) =>
            {
                if (args.DialogResult == DialogResultType.OK)
                {
                    this.dgPostIncomeQueryResult.Bind();
                }
            });
        }
Exemple #9
0
        /// <summary>
        /// 单条件记录审核操作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lbtnAudit_Click(object sender, RoutedEventArgs e)
        {
            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_NetPay_Approve))
            {
                Window.Alert(ResCommon.Message_NoAuthorize);
                return;
            }

            int netpaySysNo = int.Parse((sender as HyperlinkButton).Tag.ToString());

            new UCNetPayMaintain(netpaySysNo).ShowDialog(ResNetPayQuery.Message_Audit, (obj, args) =>
            {
                if (args.DialogResult == DialogResultType.OK)
                {
                    dgNetPayQueryResult.Bind();
                }
            });
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Hyperlink_Modify_Click(object sender, RoutedEventArgs e)
        {
            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_PostIncomeQuery_Edit))
            {
                Window.Alert(ResCommon.Message_NoAuthorize);
                return;
            }

            var cur = this.dgPostIncomeQueryResult.SelectedItem as PostIncomeVM;

            if (cur != null)
            {
                new UCPostIncomeMaintain(cur.DeepCopy(), UCPostIncomeMaintain.MaintanMode.Modify).ShowDialog(ResPostIncomeQuery.Message_ModifyPostIncomeDlgTitle, (obj, args) =>
                {
                    if (args.DialogResult == DialogResultType.OK)
                    {
                        this.dgPostIncomeQueryResult.Bind();
                    }
                });
            }
        }
Exemple #11
0
        private void SetReferenceID()
        {
            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.Invoice_PayItemQuery_SetReferenceID_AllPath))
            {
                this.AlertInformationDialog(ResCommon.Message_NoAuthorize);
                return;
            }


            var flag = ValidationManager.Validate(this.BaseInfo);

            if (!flag)
            {
                return;
            }

            payItemFacade.BatchSetReferenceID(new List <PayItemVM>()
            {
                payItemVM
            }, (msg) => CloseDialog(DialogResultType.OK));
        }
 private void btnSearch_Click(object sender, RoutedEventArgs e)
 {
     //查询:
     if (!PageView.QueryInfo.ProductSysNo.HasValue)
     {
         Window.Alert("请先选择商品!");
         return;
     }
     else
     {
         string errorMessage = "对不起,您没有权限访问该商品!";
         InventoryQueryFilter queryFilter = new InventoryQueryFilter();
         queryFilter.ProductSysNo = PageView.QueryInfo.ProductSysNo;
         queryFilter.UserName     = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
         queryFilter.UserSysNo    = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
         queryFilter.CompanyCode  = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
         if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
         {
             new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (ogj, args) =>
             {
                 if (!args.FaultsHandle())
                 {
                     if (!args.Result)
                     {
                         Window.Alert(errorMessage);
                         return;
                     }
                     else
                     {
                         this.dgInventoryQueryResult.Bind();
                     }
                 }
             });
         }
         else
         {
             this.dgInventoryQueryResult.Bind();
         }
     }
 }
        private void QueryResultGrid_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
        {
            tempFilter.PageInfo = new ECCentral.QueryFilter.Common.PagingInfo()
            {
                PageSize  = QueryResultGrid.PageSize,
                PageIndex = QueryResultGrid.PageIndex,
                SortBy    = e.SortField
            };
            tempFilter.IsManagerPM     = AuthMgr.HasFunctionAbsolute(AuthKeyConst.PO_SeniorPM_Query);
            tempFilter.PageInfo.SortBy = e.SortField;
            serviceFacade.QueryPurchaseOrders(tempFilter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                var consignList = args.Result.Rows.ToList();
                int totalCount  = args.Result.TotalCount;
                //构造仓库列的显示
                foreach (var item in consignList)
                {
                    item.IsChecked = false;
                    if (item["ITStockSysNo"] != null && item["PaySettleCompany"] != null)
                    {
                        PaySettleITCompany paySettleITCompany = Enum.Parse(typeof(PaySettleITCompany), item["PaySettleCompany"].ToString(), true);
                        item["stockname"] = string.Format("{0}{1}", EnumConverter.GetDescription(paySettleITCompany), item["ITStockName"]);
                    }
                    else
                    {
                        item["stockname"] = string.Format("{0}{1}", EnumConverter.GetDescription(TransferType.Direct), item["stockname"]);
                    }
                }

                QueryResultGrid.TotalCount  = totalCount;
                QueryResultGrid.ItemsSource = consignList;
            });
        }
Exemple #14
0
        private void dgLendRequestQueryResult_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
        {
            PageView.QueryInfo.PagingInfo = new QueryFilter.Common.PagingInfo
            {
                PageIndex = e.PageIndex,
                PageSize  = e.PageSize,
                SortBy    = e.SortField
            };
            PageView.QueryInfo.UserSysNo = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
            if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.AllValid;
            }
            else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_IntermediatePM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Team;
            }
            else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_JuniorPM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Self;
            }
            else
            {
                PageView.QueryInfo.PMQueryRightType = null;
            }
            QueryFacade.QueryLendRequest(PageView.QueryInfo, (totalCount, vmList) =>
            {
                PageView.TotalCount = totalCount;
                PageView.Result     = vmList;
                this.dgLendRequestQueryResult.ItemsSource = PageView.Result;
                this.dgLendRequestQueryResult.TotalCount  = PageView.TotalCount;

                #region 当前条件下总计
                QueryFacade.QueryLendCostbyStatus(PageView.QueryInfo, allCostInfo =>
                {
                    decimal AllPageOriginalCostTotal = 0.00M;
                    decimal AllPageAbandonCostTotal  = 0.00M;
                    if (allCostInfo.Count > 0)
                    {
                        var tempAllPageOriginalCostTotalEntity = allCostInfo.SingleOrDefault(x => { return(x.Status == 1); });
                        var tempAllPageAbandonCostTotalEntity  = allCostInfo.SingleOrDefault(x => { return(x.Status == -1); });
                        if (tempAllPageOriginalCostTotalEntity != null)
                        {
                            AllPageOriginalCostTotal = Math.Round(tempAllPageOriginalCostTotalEntity.Amount, 2);
                        }
                        if (tempAllPageAbandonCostTotalEntity != null)
                        {
                            AllPageAbandonCostTotal = Math.Round(tempAllPageAbandonCostTotalEntity.Amount, 2);
                        }
                    }
                    tbStatisticAllCostInfo.Text = string.Format("当前条件下总计:初始/作废 状态下的借货单成本金额总计分别是: 初始: ¥{0} 作废: ¥{1}。", AllPageOriginalCostTotal, AllPageAbandonCostTotal);
                });
                #endregion

                #region 当前页统计成本

                svStatisticInfo.Visibility           = Visibility.Visible;
                decimal currentPageOriginalCostTotal = 0.00M;
                decimal currentPageAbandonCostTotal  = 0.00M;
                if (vmList != null && vmList.Count > 0)
                {
                    var currentPageOriginalInfoList = vmList.ToList().Where(x => { return(x.RequestStatus == LendRequestStatus.Origin); });
                    foreach (var item in currentPageOriginalInfoList)
                    {
                        currentPageOriginalCostTotal += item.LendTotalCost;
                    }

                    var currentPageAbandonList = vmList.ToList().Where(x => { return(x.RequestStatus == LendRequestStatus.Abandon); });
                    foreach (var item in currentPageAbandonList)
                    {
                        currentPageAbandonCostTotal += item.LendTotalCost;
                    }
                }
                tbStatisticInfo.Text = string.Format("当前页中      :初始/作废 状态下的借货单成本金额总计分别是: 初始: ¥{0} 作废: ¥{1}。", currentPageOriginalCostTotal, currentPageAbandonCostTotal);

                #endregion
            });
        }
        private void dgInventoryQueryResult_LoadingDataSource(object sender, LoadingDataEventArgs e)
        {
            PageView.QueryInfo.PagingInfo = new QueryFilter.Common.PagingInfo
            {
                PageIndex = e.PageIndex,
                PageSize  = e.PageSize,
                SortBy    = e.SortField
            };

            #region 获取自己能访问到的PM

            PageView.QueryInfo.UserName    = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
            PageView.QueryInfo.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
            if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.AllValid;
            }
            else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_IntermediatePM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Team;
            }
            else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_JuniorPM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Self;
            }
            else
            {
                PageView.QueryInfo.PMQueryRightType = null;
            }

            #endregion

            QueryFacade.QueryItemAllocatedCardInventoryTotal(PageView.QueryInfo, (totalCount1, vmList1) =>
            {
                PageView.InventoryTotalCount = totalCount1;
                PageView.InventoryResult     = vmList1;

                if (PageView.QueryInfo.StockSysNo != null)
                {
                    QueryFacade.QueryItemAllocatedCardInventoryByStock(PageView.QueryInfo, (totalCount2, vmList2) =>
                    {
                        PageView.InventoryTotalCount += totalCount2;
                        PageView.InventoryResult.AddRange(vmList2);

                        dgInventoryQueryResult.ItemsSource = PageView.InventoryResult;
                    });
                }

                if (null != PageView.InventoryResult && PageView.InventoryTotalCount > 0)
                {
                    this.txtProductName.Visibility     = Visibility.Visible;
                    this.txtProductNameDesc.Visibility = Visibility.Visible;
                    this.txtProductNameDesc.Text       = PageView.InventoryResult[0]["ProductName"].ToString();
                }
                else
                {
                    this.txtProductName.Visibility     = Visibility.Collapsed;
                    this.txtProductNameDesc.Visibility = Visibility.Collapsed;
                }
                this.dgItemCardQueryResult.Bind();
            });
        }
Exemple #16
0
        private void btnAddProduct_Click(object sender, RoutedEventArgs e)
        {
            UCProductSearch content = new UCProductSearch();

            content.SelectionMode = SelectionMode.Multiple;
            IDialog dialog = Window.ShowDialog("添加商品", content, (obj, args) =>
            {
                List <ProductVM> productList = args.Data as List <ProductVM>;
                if (productList != null)
                {
                    productList.ForEach(p =>
                    {
                        ShiftRequestItemVM vm = RequestVM.ShiftItemInfoList.FirstOrDefault(item =>
                        {
                            return(item.ProductSysNo == p.SysNo);
                        });
                        if (vm == null)
                        {
                            #region 只允许添加自己权限范围内可以访问商品
                            string errorMessage = "对不起,您没有权限访问{0}商品!";
                            InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                            queryFilter.ProductSysNo         = p.SysNo;
                            queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
                            queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                            //if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                            //{
                            //    queryFilter.PMQueryRightType = BizEntity.Common.PMQueryType.AllValid;
                            //}
                            //else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_IntermediatePM_Query))
                            //{
                            //    queryFilter.PMQueryRightType = BizEntity.Common.PMQueryType.Team;
                            //}
                            //else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_JuniorPM_Query))
                            //{
                            //    queryFilter.PMQueryRightType = BizEntity.Common.PMQueryType.Self;
                            //}
                            //else
                            //{
                            //    Window.Alert(string.Format(errorMessage, p.ProductID));
                            //    return;
                            //}
                            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                            {
                                new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                                {
                                    if (!innerArgs.FaultsHandle())
                                    {
                                        if (!innerArgs.Result)
                                        {
                                            Window.Alert(string.Format(errorMessage, p.ProductID));
                                            return;
                                        }
                                        else
                                        {
                                            vm = new ShiftRequestItemVM
                                            {
                                                ProductSysNo            = p.SysNo,
                                                ShiftQuantity           = 1,
                                                ShiftUnitCost           = p.UnitCost,
                                                ProductName             = p.ProductName,
                                                ProductID               = p.ProductID,
                                                InStockQuantity         = 0,
                                                ShiftUnitCostWithoutTax = p.UnitCostWithoutTax,
                                                Weight        = p.Weight,
                                                ShippingCost  = 0,
                                                RequestStatus = ShiftRequestStatus.Origin
                                            };
                                            RequestVM.ShiftItemInfoList.Add(vm);
                                            this.dgShiftRequestMaintainQueryResult.ItemsSource = RequestVM.ShiftItemInfoList;
                                        }
                                    }
                                });
                            }
                            else
                            {
                                vm = new ShiftRequestItemVM
                                {
                                    ProductSysNo            = p.SysNo,
                                    ShiftQuantity           = 1,
                                    ShiftUnitCost           = p.UnitCost,
                                    ProductName             = p.ProductName,
                                    ProductID               = p.ProductID,
                                    InStockQuantity         = 0,
                                    ShiftUnitCostWithoutTax = p.UnitCostWithoutTax,
                                    Weight        = p.Weight,
                                    ShippingCost  = 0,
                                    RequestStatus = ShiftRequestStatus.Origin
                                };
                                RequestVM.ShiftItemInfoList.Add(vm);
                                this.dgShiftRequestMaintainQueryResult.ItemsSource = RequestVM.ShiftItemInfoList;
                            }


                            #endregion
                        }
                    });
                }
            });

            content.DialogHandler = dialog;
        }
        private void hlbtnEdit_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton      btn      = sender as HyperlinkButton;
            ConvertRequestItemVM selected = this.dgProductList.SelectedItem as ConvertRequestItemVM;
            ConvertRequestItemVM seleced  = RequestItemList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault();

            #region Dialog

            UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, seleced.HasBatchInfo, seleced.BatchDetailsInfoList);
            batch.IsCreateMode      = false;
            batch.PType             = Models.Request.PageType.Convert;
            batch.IsNotLend_Return  = true;
            batch.StockSysNo        = RequestVM.StockSysNo;
            batch.ProductSysNo      = selected.ProductSysNo.Value.ToString();
            batch.ProductID         = selected.ProductID;
            batch.OperationQuantity = seleced.ConvertQuantity;
            batch.ConverterCost     = seleced.ConvertUnitCost;
            batch.ConvertType       = this.ConvertType;

            IDialog dialog = CurrentWindow.ShowDialog("批次信息", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;

                if (null != productList && productList.ProductVM != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        ConvertRequestItemVM vm = RequestItemList.FirstOrDefault(item =>
                        {
                            return(item.ProductSysNo == p.SysNo);
                        });
                        if (vm == null)
                        {
                            string errorMessage = "对不起,您没有权限访问{0}商品!";
                            InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                            queryFilter.ProductSysNo         = p.SysNo;
                            queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                            queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                            queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
                            //判断改商品是否属于当前PM

                            int quantity = 1;
                            if (p.IsHasBatch == 1)
                            {
                                quantity = (from s in p.ProductBatchLst select s.Quantity).Sum();
                            }
                            else if (p.IsHasBatch == 0)
                            {
                                quantity = productList.Quantity;
                            }

                            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                            {
                                InventoryQueryFacade.CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                                {
                                    if (!innerArgs.FaultsHandle())
                                    {
                                        if (!innerArgs.Result)
                                        {
                                            Page.Context.Window.Alert(string.Format(errorMessage, p.ProductID));
                                            return;
                                        }
                                        else
                                        {
                                            vm = new ConvertRequestItemVM
                                            {
                                                ProductSysNo              = p.SysNo,
                                                ConvertQuantity           = quantity,
                                                ConvertType               = ConvertType,
                                                ConvertUnitCost           = p.UnitCost,
                                                ConvertUnitCostWithoutTax = p.UnitCostWithoutTax,
                                                ProductName               = p.ProductName,
                                                ProductID            = p.ProductID,
                                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                                IsHasBatch           = p.IsHasBatch,
                                                RequestStatus        = ConvertRequestStatus.Origin
                                            };
                                            vm.QuantityOrCostChanged = SetTotalCost;
                                            ItemList.Add(vm);
                                            RequestItemList.Add(vm);
                                            dgProductList.ItemsSource = ItemList;
                                            SetTotalCost();
                                        }
                                    }
                                });
                            }
                            else
                            {
                                vm = new ConvertRequestItemVM
                                {
                                    ProductSysNo              = p.SysNo,
                                    ConvertQuantity           = quantity,
                                    ConvertType               = ConvertType,
                                    ConvertUnitCost           = p.UnitCost,
                                    ConvertUnitCostWithoutTax = p.UnitCostWithoutTax,
                                    ProductName               = p.ProductName,
                                    ProductID            = p.ProductID,
                                    BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                    IsHasBatch           = p.IsHasBatch,
                                    RequestStatus        = ConvertRequestStatus.Origin
                                };
                                vm.QuantityOrCostChanged = SetTotalCost;
                                ItemList.Add(vm);
                                RequestItemList.Add(vm);
                                dgProductList.ItemsSource = ItemList;
                                SetTotalCost();
                            }
                        }
                        else
                        {
                            Page.Context.Window.Alert(String.Format(vm.ConvertType == ConvertProductType.Source ? "商品:{0},已经存在于源商品中" : "商品:{0},已经存在于目标商品中", vm.ProductID));
                        }
                    });
                }
            });

            batch.DialogHandler = dialog;

            #endregion

            SetTotalCost();
        }
Exemple #18
0
        private void hlbtnReturn_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton          btn        = sender as HyperlinkButton;
            List <LendRequestItemVM> itemSource = this.dgProductList.ItemsSource as List <LendRequestItemVM>;
            LendRequestItemVM        selected   = this.dgProductList.SelectedItem as LendRequestItemVM;

            LendRequestVM     RequestVM = this.DataContext as LendRequestVM;
            LendRequestItemVM seleced   = RequestVM.LendItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault();

            UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, selected.HasBatchInfo, seleced.BatchDetailsInfoList);


            batch.StockSysNo = RequestVM.StockSysNo;
            if (seleced.ReturnDateETA.HasValue)
            {
                batch.ReturnDate = seleced.ReturnDateETA;
            }
            batch.PType            = Models.Request.PageType.Lend;
            batch.IsCreateMode     = false;
            batch.IsNotLend_Return = false;

            IDialog dialog = CurrentWindow.ShowDialog("添加明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        #region 只允许添加自己权限范围内可以访问商品
                        string errorMessage = "对不起,您没有权限访问{0}商品!";
                        InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                        queryFilter.ProductSysNo         = p.SysNo;
                        queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                        queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                        queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;

                        int?returnQuantity = null;
                        Dictionary <string, int> batchReturns = new Dictionary <string, int>();
                        if (p.IsHasBatch == 1)
                        {
                            returnQuantity = (from s in p.ProductBatchLst select s.ReturnQuantity).Sum();
                            foreach (var item in p.ProductBatchLst)
                            {
                                if (item.ReturnQuantity > 0)
                                {
                                    batchReturns.Add(item.BatchNumber, item.ReturnQuantity);
                                }
                            }
                        }
                        else if (p.IsHasBatch == 0)
                        {
                            returnQuantity = productList.ReturnQuantity;
                        }

                        if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                        {
                            new InventoryQueryFacade(CurrentPage).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                            {
                                if (!innerArgs.FaultsHandle())
                                {
                                    if (!innerArgs.Result)
                                    {
                                        CurrentWindow.Alert(string.Format(errorMessage, p.ProductID));
                                        return;
                                    }
                                    else
                                    {
                                        RequestVM.LendItemInfoList.ForEach(t =>
                                        {
                                            if (t.ProductSysNo == selected.ProductSysNo)
                                            {
                                                if (p.IsHasBatch == 0)
                                                {
                                                    t.ToReturnQuantity = returnQuantity;
                                                }
                                                else if (p.IsHasBatch == 1)
                                                {
                                                    foreach (var item in batchReturns)
                                                    {
                                                        t.BatchDetailsInfoList.ForEach(b =>
                                                        {
                                                            if (b.BatchNumber.Equals(item.Key))
                                                            {
                                                                b.ReturnQuantity = item.Value;
                                                                // UI
                                                                if (t.ToReturnQuantity.HasValue)
                                                                {
                                                                    t.ToReturnQuantity = t.ToReturnQuantity.Value + item.Value;
                                                                }
                                                                else
                                                                {
                                                                    t.ToReturnQuantity = item.Value;
                                                                }
                                                            }
                                                        });
                                                    }
                                                }
                                            }
                                        });

                                        this.dgProductList.ItemsSource = RequestVM.LendItemInfoList;
                                    }
                                }
                            });
                        }
                        else
                        {
                            RequestVM.LendItemInfoList.ForEach(t =>
                            {
                                // clear toReturnQuantity
                                t.ToReturnQuantity = null;

                                if (t.ProductSysNo == selected.ProductSysNo)
                                {
                                    if (p.IsHasBatch == 0)
                                    {
                                        t.ToReturnQuantity = returnQuantity;
                                    }
                                    else if (p.IsHasBatch == 1)
                                    {
                                        foreach (var item in batchReturns)
                                        {
                                            t.BatchDetailsInfoList.ForEach(b =>
                                            {
                                                if (b.BatchNumber.Equals(item.Key))
                                                {
                                                    b.ReturnQuantity = item.Value;
                                                    // UI
                                                    if (t.ToReturnQuantity.HasValue)
                                                    {
                                                        t.ToReturnQuantity = t.ToReturnQuantity.Value + item.Value;
                                                    }
                                                    else
                                                    {
                                                        t.ToReturnQuantity = item.Value;
                                                    }
                                                }
                                            });
                                        }
                                    }
                                }
                            });

                            this.dgProductList.ItemsSource = RequestVM.LendItemInfoList;
                        }

                        #endregion
                    });
                }
            });

            batch.DialogHandler = dialog;
        }
Exemple #19
0
        private void dgShiftRequestQueryResult_LoadingDataSource(object sender, LoadingDataEventArgs e)
        {
            txtTotal.Text = string.Empty;
            PageView.QueryInfo.PagingInfo = new QueryFilter.Common.PagingInfo
            {
                PageIndex = e.PageIndex,
                PageSize  = e.PageSize,
                SortBy    = e.SortField
            };

            #region 获取自己能访问到的PM
            PageView.QueryInfo.UserSysNo   = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
            PageView.QueryInfo.UserName    = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
            PageView.QueryInfo.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
            if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.AllValid;
            }
            else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_IntermediatePM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Team;
            }
            else if (AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_JuniorPM_Query))
            {
                PageView.QueryInfo.PMQueryRightType = BizEntity.Common.PMQueryType.Self;
            }
            else
            {
                PageView.QueryInfo.PMQueryRightType = null;
            }

            #endregion

            ExportQuery = PageView.QueryInfo.DeepCopy();
            QueryFacade.QueryShiftRequest(PageView.QueryInfo, (totalCount, vmList) =>
            {
                PageView.Result     = DynamicConverter <ShiftRequestVM> .ConvertToVMList(vmList);
                PageView.TotalCount = totalCount;
                dgShiftRequestQueryResult.ItemsSource = PageView.Result;
                dgShiftRequestQueryResult.TotalCount  = PageView.TotalCount;
                btnTotal.IsEnabled = btnBatchSpecial.IsEnabled = btnCancelBatchSpecial.IsEnabled
                                                                     = btnBatchLog.IsEnabled = totalCount > 0;
                if (totalCount > 0)
                {
                    QueryFacade.QueryShiftDataCount(PageView.QueryInfo, (countSender, countArgs) => {
                        if (countArgs.FaultsHandle())
                        {
                            return;
                        }

                        var listAll = countArgs.Result.ToList();
                        if (listAll.Count > 0)
                        {
                            int outStockSheetQuantity      = 0;
                            int inStockSheetQuantity       = 0;
                            decimal outStockAmount         = 0;
                            decimal inStockAmount          = 0;
                            int partlyInStockSheetQuantity = 0;
                            decimal partlyOutStockAmount   = 0;
                            decimal partlyInStockAmount    = 0;
                            decimal partlyTransferAmount   = 0;

                            foreach (var item in listAll[0].Rows)
                            {
                                if (((int)item["status"]) == 3)
                                {
                                    outStockSheetQuantity = (int)item["TotalNum"];
                                    outStockAmount        = (decimal)item["TotalCost"];
                                }
                                //in stock
                                else
                                {
                                    inStockSheetQuantity = (int)item["TotalNum"];
                                    inStockAmount        = (decimal)item["TotalCost"];
                                }
                            }
                            if (listAll.Count > 1 && listAll[1].Rows.ToList().Count > 0)
                            {
                                partlyInStockSheetQuantity = (int)listAll[1].Rows[0]["partlyNum"];
                                partlyInStockAmount        = (decimal)listAll[1].Rows[0]["inCost"];
                                partlyOutStockAmount       = (decimal)listAll[1].Rows[0]["outCost"];
                                partlyTransferAmount       = (decimal)listAll[1].Rows[0]["inWayCost"];
                            }
                            txtTotal.Text = string.Format(ResShiftRequestQuery.Msg_Format_CountData
                                                          , outStockSheetQuantity
                                                          , MoneyConverter.ConvertToString(outStockAmount)
                                                          , inStockSheetQuantity
                                                          , MoneyConverter.ConvertToString(inStockAmount)
                                                          , partlyInStockSheetQuantity
                                                          , MoneyConverter.ConvertToString(partlyOutStockAmount)
                                                          , MoneyConverter.ConvertToString(partlyInStockAmount)
                                                          , MoneyConverter.ConvertToString(partlyTransferAmount)
                                                          );
                        }
                    });
                }

                if (!AuthMgr.HasFunctionPoint(AuthKeyConst.Inventory_ShiftRequestQuery_Total))
                {
                    btnTotal.IsEnabled = false;
                }
                if (!AuthMgr.HasFunctionPoint(AuthKeyConst.Inventory_ShiftRequestQuery_BatchSpecial))
                {
                    btnBatchSpecial.IsEnabled = false;
                }
                if (!AuthMgr.HasFunctionPoint(AuthKeyConst.Inventory_ShiftRequestQuery_CancelBatchSpecial))
                {
                    btnCancelBatchSpecial.IsEnabled = false;
                }
                if (!AuthMgr.HasFunctionPoint(AuthKeyConst.Inventory_ShiftRequestQuery_BatchLog))
                {
                    btnBatchLog.IsEnabled = false;
                }
            });
        }
Exemple #20
0
        private void QueryResultGrid_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
        {
            queryFilter.PageInfo = new ECCentral.QueryFilter.Common.PagingInfo()
            {
                PageSize  = QueryResultGrid.PageSize,
                PageIndex = QueryResultGrid.PageIndex,
                SortBy    = e.SortField
            };
            queryFilter.PageInfo.SortBy = e.SortField;
            string giftMsg = string.Empty;

            queryFilter.IsManagerPM = AuthMgr.HasFunctionAbsolute(AuthKeyConst.PO_SeniorPM_Query);
            //查询采购篮列表:
            serviceFacade.QueryBasketList(queryFilter, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }
                serviceFacade.QueryBasketTargetWarehouseList((obj1, args1) =>
                {
                    if (args1.FaultsHandle())
                    {
                        return;
                    }
                    var basketList = args.Result.Rows;
                    List <BasketItemsInfoVM> listVM = DynamicConverter <BasketItemsInfoVM> .ConvertToVMList(basketList);
                    listVM.ForEach(x =>
                    {
                        x.IsTransferData  = IsTransferDataSource;
                        x.TargetStockList = args1.Result;
                    });

                    if (listVM.Count > 0)
                    {
                        List <int> psysno = new List <int>();
                        foreach (BasketItemsInfoVM bitem in listVM)
                        {
                            psysno.Add(bitem.ProductSysNo.Value);
                        }
                        psysno.Distinct();
                        //查询采购蓝中item的赠品,验证赠品数量是否合主商品相等
                        serviceFacade.GetGiftBasketItems(psysno, (obj2, args2) =>
                        {
                            if (args2.FaultsHandle())
                            {
                                return;
                            }
                            List <BasketItemsInfoVM> giftResultList = EntityConverter <BasketItemsInfo, BasketItemsInfoVM> .Convert(args2.Result);
                            #region MyRegion

                            var group = from item in listVM
                                        group item by new { item.StockSysNo }
                            into g
                            select new
                            {
                                Key        = g.Key,
                                ResultList = g
                            };
                            foreach (var item in group)
                            {
                                var newbasketItem = from i in item.ResultList
                                                    where i.Quantity.ToInteger() >= 0
                                                    select i
                                ;

                                if (giftResultList != null && giftResultList.Count > 0)
                                {
                                    foreach (BasketItemsInfoVM giftentity in giftResultList)
                                    {
                                        int masterQty    = 0;
                                        int giftQty      = 0;
                                        string stockName = string.Empty;

                                        #region MyRegion
                                        foreach (var bitem in newbasketItem)
                                        {
                                            if (giftentity.MasterProductSysNo == bitem.ProductSysNo)
                                            {
                                                masterQty = bitem.Quantity.ToInteger();
                                                stockName = bitem.StockName;
                                                if (giftQty != 0)
                                                {
                                                    foreach (var bi in newbasketItem)
                                                    {
                                                        if (bi.ProductSysNo == giftentity.GiftSysNo)
                                                        {
                                                            bi.Quantity = (bi.Quantity.ToInteger() - masterQty).ToString();
                                                        }
                                                    }
                                                }
                                            }
                                            if (giftentity.GiftSysNo == bitem.ProductSysNo)
                                            {
                                                giftQty  += bitem.Quantity.ToInteger();
                                                stockName = bitem.StockName;
                                                if (masterQty != 0)
                                                {
                                                    bitem.Quantity = (bitem.Quantity.ToInteger() - masterQty).ToString();
                                                }
                                            }
                                        }
                                        if (masterQty != giftQty && masterQty > giftQty)
                                        {
                                            giftMsg += "目标分仓:" + stockName + " 采购" + giftentity.MasterProductSysNo + "商品" + masterQty + "件, 赠品" + giftentity.GiftSysNo
                                                       + "商品" + giftQty + "件(" + giftQty + "<" + masterQty + "),赠品不足." + Environment.NewLine;
                                        }
                                        this.spBasicInfo.Visibility             = System.Windows.Visibility.Visible;
                                        this.lblInfoText.Text                   = giftMsg;
                                        this.hlbtnDownloadFailedData.Visibility = System.Windows.Visibility.Collapsed;
                                        #endregion
                                    }
                                }
                            }
                            #endregion
                            int totalCount              = args.Result.TotalCount;
                            QueryResultGrid.TotalCount  = totalCount;
                            QueryResultGrid.ItemsSource = listVM;
                        });
                    }
                    else
                    {
                        int totalCount              = args.Result.TotalCount;
                        QueryResultGrid.TotalCount  = totalCount;
                        QueryResultGrid.ItemsSource = listVM;
                    }
                });
            });
        }
        private void hlbtnEdit_Click(object sender, RoutedEventArgs e)
        {
            HyperlinkButton     btn      = sender as HyperlinkButton;
            AdjustRequestItemVM selected = btn.DataContext as AdjustRequestItemVM;
            AdjustRequestItemVM seleced  = RequestVM.AdjustItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault();

            UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, seleced.HasBatchInfo, seleced.BatchDetailsInfoList);

            batch.IsCreateMode      = false;
            batch.StockSysNo        = RequestVM.StockSysNo;
            batch.ProductSysNo      = selected.ProductSysNo.Value.ToString();
            batch.ProductID         = selected.ProductID;
            batch.OperationQuantity = selected.AdjustQuantity;
            batch.IsNotLend_Return  = true;
            batch.PType             = Models.Request.PageType.Adjust;

            IDialog dialog = Window.ShowDialog("更新明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null && productList.ProductVM != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        AdjustRequestItemVM vm = null;

                        #region 只允许添加自己权限范围内可以访问商品
                        string errorMessage = "对不起,您没有权限访问{0}商品!";
                        InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                        queryFilter.ProductSysNo         = p.SysNo;
                        queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                        queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                        queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;

                        int quantity = 1;
                        if (p.IsHasBatch == 1)
                        {
                            quantity = (from s in p.ProductBatchLst select s.Quantity).Sum();
                        }
                        else if (p.IsHasBatch == 0)
                        {
                            quantity = productList.Quantity;
                        }

                        if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                        {
                            new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                            {
                                if (!innerArgs.FaultsHandle())
                                {
                                    if (!innerArgs.Result)
                                    {
                                        Window.Alert(string.Format(errorMessage, p.ProductID));
                                        return;
                                    }
                                    else
                                    {
                                        vm = new AdjustRequestItemVM
                                        {
                                            ProductSysNo         = p.SysNo,
                                            AdjustQuantity       = quantity,
                                            AdjustCost           = p.UnitCost,
                                            ProductName          = p.ProductName,
                                            ProductID            = p.ProductID,
                                            BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                            IsHasBatch           = p.IsHasBatch,
                                            RequestStatus        = AdjustRequestStatus.Origin
                                        };

                                        RequestVM.AdjustItemInfoList.Remove((AdjustRequestItemVM)this.dgAdjustProduct.SelectedItem);
                                        RequestVM.AdjustItemInfoList.Add(vm);
                                        this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
                                    }
                                }
                            });
                        }
                        else
                        {
                            vm = new AdjustRequestItemVM
                            {
                                ProductSysNo         = p.SysNo,
                                AdjustQuantity       = quantity,
                                AdjustCost           = p.UnitCost,
                                ProductName          = p.ProductName,
                                ProductID            = p.ProductID,
                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                IsHasBatch           = p.IsHasBatch,
                                RequestStatus        = AdjustRequestStatus.Origin
                            };
                            RequestVM.AdjustItemInfoList.Remove((AdjustRequestItemVM)this.dgAdjustProduct.SelectedItem);
                            RequestVM.AdjustItemInfoList.Add(vm);
                            this.dgAdjustProduct.ItemsSource = RequestVM.AdjustItemInfoList;
                        }

                        #endregion
                    });
                }
            });

            batch.DialogHandler = dialog;
        }
Exemple #22
0
        private void ShowEditModeDialog(object sender, RoutedEventArgs e, string title, bool isNotReturn)
        {
            HyperlinkButton         btn        = sender as HyperlinkButton;
            List <ExperienceItemVM> itemSource = this.dgProductList.ItemsSource as List <ExperienceItemVM>;
            ExperienceItemVM        selected   = this.dgProductList.SelectedItem as ExperienceItemVM;

            ExperienceVM     RequestVM = this.DataContext as ExperienceVM;
            ExperienceItemVM seleced   = RequestVM.ExperienceItemInfoList.Where(p => p.ProductSysNo == selected.ProductSysNo).FirstOrDefault();

            UCProductBatch batch = new UCProductBatch(seleced.ProductSysNo.Value.ToString(), seleced.ProductID, false, null);


            //batch.StockSysNo = RequestVM.StockSysNo;
            //if (seleced.ReturnDateETA.HasValue)
            //batch.ReturnDate = seleced.ReturnDateETA;
            //batch.OperationQuantity =  seleced.LendQuantity.HasValue ? seleced.LendQuantity.Value : 0;
            //batch.PType = Models.Request.PageType.Lend;
            //batch.IsCreateMode = false;
            //batch.IsNotLend_Return = isNotReturn;

            IDialog dialog = CurrentWindow.ShowDialog("添加明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        ExperienceItemVM vm = null;

                        #region 只允许添加自己权限范围内可以访问商品
                        string errorMessage = "对不起,您没有权限访问{0}商品!";
                        InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                        queryFilter.ProductSysNo         = p.SysNo;
                        queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                        queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                        queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;

                        int?returnQuantity = null;
                        int quantity       = 1;
                        if (p.IsHasBatch == 1)
                        {
                            quantity = (from s in p.ProductBatchLst select s.Quantity).Sum();
                        }
                        else if (p.IsHasBatch == 0)
                        {
                            quantity = productList.Quantity;
                        }
                        if (!batch.IsNotLend_Return)
                        {
                            returnQuantity = (from s in p.ProductBatchLst select s.ReturnQuantity).Sum();
                        }


                        if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                        {
                            new InventoryQueryFacade(CurrentPage).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                            {
                                if (!innerArgs.FaultsHandle())
                                {
                                    if (!innerArgs.Result)
                                    {
                                        CurrentWindow.Alert(string.Format(errorMessage, p.ProductID));
                                        return;
                                    }
                                    else
                                    {
                                        vm = new ExperienceItemVM
                                        {
                                            //ProductSysNo = p.SysNo,
                                            //LendQuantity = quantity,
                                            //ProductName = p.ProductName,
                                            //ProductID = p.ProductID,
                                            //PMUserName = p.PMUserName,
                                            //ReturnDateETA = productList.ReturnDate,
                                            //BatchDetailsInfoList = EntityConverter<BatchInfoVM, ProductBatchInfoVM>.Convert(p.ProductBatchLst),
                                            //IsHasBatch = p.IsHasBatch
                                        };

                                        RequestVM.ExperienceItemInfoList.Remove((ExperienceItemVM)this.dgProductList.SelectedItem);
                                        RequestVM.ExperienceItemInfoList.Add(vm);
                                        this.dgProductList.ItemsSource = RequestVM.ExperienceItemInfoList;
                                    }
                                }
                            });
                        }
                        else
                        {
                            vm = new ExperienceItemVM
                            {
                                //ProductSysNo = p.SysNo,
                                //LendQuantity = quantity,
                                //ProductName = p.ProductName,
                                //ProductID = p.ProductID,
                                //PMUserName = p.PMUserName,
                                //ReturnDateETA = productList.ReturnDate,
                                //BatchDetailsInfoList = EntityConverter<BatchInfoVM, ProductBatchInfoVM>.Convert(p.ProductBatchLst),
                                //IsHasBatch = p.IsHasBatch
                            };

                            RequestVM.ExperienceItemInfoList.Remove((ExperienceItemVM)this.dgProductList.SelectedItem);
                            RequestVM.ExperienceItemInfoList.Add(vm);
                            this.dgProductList.ItemsSource = RequestVM.ExperienceItemInfoList;
                        }

                        #endregion
                    });
                }
            });

            batch.DialogHandler = dialog;
        }
Exemple #23
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            #region [验证]
            if (!ValidationManager.Validate(this))
            {
                return;
            }
            if (this.newVM.ConsignSettlementItemInfoList.Where(x => x.SettleSysNo != -1).Count() <= 0)
            {
                Window.Alert("请先选择结算商品!");
                return;
            }
            #endregion
            //保存操作:
            Window.Confirm(ResConsignNew.ConfirmMsg_Save, (obj, args) =>
            {
                if (args.DialogResult == DialogResultType.OK)
                {
                    //去除已经删除的Item(SysNo=-1)
                    newVM.ConsignSettlementItemInfoList = (from tItem in newVM.ConsignSettlementItemInfoList
                                                           where tItem.SettleSysNo != -1
                                                           select tItem).ToList();

                    ConsignSettlementInfo info = EntityConverter <ConsignSettlementInfoVM, ConsignSettlementInfo> .Convert(newVM, (s, t) =>
                    {
                        decimal usingReturnPoint = 0m;
                        t.EIMSInfo = new ConsignSettlementEIMSInfo();
                        if (decimal.TryParse("", out usingReturnPoint))
                        {
                            t.EIMSInfo.UsingReturnPoint = usingReturnPoint;
                        }
                        else
                        {
                            t.EIMSInfo.UsingReturnPoint = null;
                        }
                        t.SourceStockInfo = new BizEntity.Inventory.StockInfo()
                        {
                            SysNo = s.StockSysNo,
                        };
                        t.PMInfo = new BizEntity.IM.ProductManagerInfo()
                        {
                            SysNo = Convert.ToInt32(s.PMSysNo),
                        };
                        t.SettleUser = new BizEntity.Common.UserInfo()
                        {
                            SysNo = s.SettleUserSysNo,
                        };
                    });

                    info.ConsignSettlementItemInfoList.ForEach(x =>
                    {
                        x.ConsignToAccLogInfo.Cost = !x.ConsignToAccLogInfo.Cost.HasValue ? 0m : x.ConsignToAccLogInfo.Cost;
                    });
                    //保存PM高级权限,用于业务端验证
                    info.IsManagerPM = AuthMgr.HasFunctionAbsolute(AuthKeyConst.PO_SeniorPM_Query);
                    //代销商品规则检测
                    info.ConsignSettlementItemInfoList.ForEach(item =>
                    {
                        if (item.SettleType == SettleType.O)
                        {
                            if (item.SettleRuleSysNo.HasValue && item.Cost != item.SettlePrice)
                            {
                                item.SettleRuleSysNo = null;
                                item.SettleRuleName  = null;
                            }
                        }
                    });
                    //转租赁
                    info.LeaseType = this.newVM.LeaseType;
                    serviceFacade.CreateConsignSettlement(info, (obj2, args2) =>
                    {
                        if (args2.FaultsHandle())
                        {
                            return;
                        }
                        Window.Alert(ResConsignNew.InfoMsg_Title, ResConsignNew.InfoMsg_CreateSuccess, MessageType.Information, (obj3, args3) =>
                        {
                            if (args3.DialogResult == DialogResultType.Cancel)
                            {
                                Window.Close();
                            }
                        });
                    });
                }
            });
        }
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            if (!PreCheckAddProduct(RequestVM))
            {
                return;
            }

            UCProductBatch batch = new UCProductBatch();

            batch.IsCreateMode     = true;
            batch.StockSysNo       = RequestVM.StockSysNo;
            batch.PType            = Models.Request.PageType.Lend;
            batch.IsNotLend_Return = true;

            IDialog dialog = Window.ShowDialog("添加明细", batch, (obj, args) =>
            {
                ProductVMAndBillInfo productList = args.Data as ProductVMAndBillInfo;
                if (productList != null)
                {
                    productList.ProductVM.ForEach(p =>
                    {
                        LendRequestItemVM vm = RequestItemList.FirstOrDefault(item =>
                        {
                            return(item.ProductSysNo == p.SysNo);
                        });
                        if (vm == null)
                        {
                            #region 只允许添加自己权限范围内可以访问商品
                            string errorMessage = "对不起,您没有权限访问{0}商品!";
                            InventoryQueryFilter queryFilter = new InventoryQueryFilter();
                            queryFilter.ProductSysNo         = p.SysNo;
                            queryFilter.UserName             = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.LoginName;
                            queryFilter.CompanyCode          = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;
                            queryFilter.UserSysNo            = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;

                            int quantity = 1;
                            if (p.IsHasBatch == 1)
                            {
                                quantity = (from s in p.ProductBatchLst select s.Quantity).Sum();
                            }
                            else if (p.IsHasBatch == 0)
                            {
                                quantity = productList.Quantity;
                            }

                            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
                            {
                                new InventoryQueryFacade(this).CheckOperateRightForCurrentUser(queryFilter, (Innerogj, innerArgs) =>
                                {
                                    if (!innerArgs.FaultsHandle())
                                    {
                                        if (!innerArgs.Result)
                                        {
                                            Window.Alert(string.Format(errorMessage, p.ProductID));
                                            return;
                                        }
                                        else
                                        {
                                            vm = new LendRequestItemVM
                                            {
                                                ProductSysNo         = p.SysNo,
                                                LendQuantity         = quantity,
                                                ProductName          = p.ProductName,
                                                ProductID            = p.ProductID,
                                                PMUserName           = p.PMUserName,
                                                ReturnDateETA        = productList.ReturnDate,
                                                BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                                IsHasBatch           = p.IsHasBatch
                                            };
                                            RequestItemList.Add(vm);
                                            ucLendProductList.dgProductList.ItemsSource = RequestItemList;
                                        }
                                    }
                                });
                            }
                            else
                            {
                                vm = new LendRequestItemVM
                                {
                                    ProductSysNo         = p.SysNo,
                                    LendQuantity         = quantity,
                                    ProductName          = p.ProductName,
                                    ProductID            = p.ProductID,
                                    PMUserName           = p.PMUserName,
                                    ReturnDateETA        = productList.ReturnDate,
                                    BatchDetailsInfoList = EntityConverter <BatchInfoVM, ProductBatchInfoVM> .Convert(p.ProductBatchLst),
                                    IsHasBatch           = p.IsHasBatch
                                };
                                RequestItemList.Add(vm);
                                ucLendProductList.dgProductList.ItemsSource = RequestItemList;
                            }

                            #endregion
                        }
                        else
                        {
                            Window.Alert(string.Format("已存在编号为{0}的商品.", p.SysNo));
                        }
                    });
                }
            });

            batch.DialogHandler = dialog;
        }
Exemple #25
0
        private void dgInventoryQueryResult_LoadingDataSource(object sender, Newegg.Oversea.Silverlight.Controls.Data.LoadingDataEventArgs e)
        {
            queryFilter = EntityConverter <InventoryQueryVM, InventoryQueryFilter> .Convert(queryVM);

            this.queryFilter.PagingInfo = new QueryFilter.Common.PagingInfo();

            this.queryFilter.PagingInfo.PageIndex = e.PageIndex;
            this.queryFilter.PagingInfo.PageSize  = e.PageSize;
            this.queryFilter.PagingInfo.SortBy    = e.SortField;
            //如果查询总库存,则调用QueryInventory的service,否则调用QueryInventoryStock:
            //if (this.queryFilter.IsShowTotalInventory != null && this.queryFilter.IsShowTotalInventory.Value)
            //{

            #region 获取自己能访问到的PM

            queryFilter.UserSysNo   = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.LoginUser.UserSysNo;
            queryFilter.CompanyCode = Newegg.Oversea.Silverlight.ControlPanel.Core.CPApplication.Current.CompanyCode;

            if (!AuthMgr.HasFunctionAbsolute(AuthKeyConst.IM_SeniorPM_Query))
            {
                if (queryFilter == null || !queryFilter.ProductSysNo.HasValue)
                {
                    Window.Alert("请先选择商品!");
                    return;
                }
                serviceFacade.CheckOperateRightForCurrentUser(queryFilter, (obj, args) =>
                {
                    if (args.FaultsHandle())
                    {
                        return;
                    }
                    if (args.Result)
                    {
                        serviceFacade.QueryInventoryList(queryFilter, (innerObj, innerArgs) =>
                        {
                            if (innerArgs.FaultsHandle())
                            {
                                return;
                            }
                            var getList = innerArgs.Result.Rows;

                            foreach (var x in getList)
                            {
                                x["ActivedQty"]  = x["ActivedQty"] == null || x["ActivedQty"].ToString() == "" ? "--" : x["ActivedQty"];
                                x["InactiveQty"] = x["InactiveQty"] == null || x["InactiveQty"].ToString() == "" ? "--" : x["InactiveQty"];
                                x["InvalidQty"]  = x["InvalidQty"] == null || x["InvalidQty"].ToString() == "" ? "--" : x["InvalidQty"];
                            }

                            int totalCount = innerArgs.Result.TotalCount;
                            this.dgInventoryQueryResult.ItemsSource = getList;
                            this.dgInventoryQueryResult.TotalCount  = totalCount;
                        });
                        //}
                        //else
                        //{
                        //    serviceFacade.QueryInventoryStockList(queryFilter, (obj, args) =>
                        //    {
                        //        if (args.FaultsHandle())
                        //        {
                        //            return;
                        //        }
                        //        var getList = args.Result.Rows;
                        //        int totalCount = args.Result.TotalCount;
                        //        this.dgInventoryQueryResult.ItemsSource = getList;
                        //        this.dgInventoryQueryResult.TotalCount = totalCount;
                        //    });
                        //}
                        this.UnPayOrderQtyColumn.Visibility = queryVM.IsUnPayShow ? Visibility.Visible : Visibility.Collapsed;
                        this.StockNameColumn.Visibility     =
                            queryVM.IsShowTotalInventory ? Visibility.Collapsed : Visibility.Visible;
                    }
                    else
                    {
                        Window.Alert(string.Format("你没有权限查询该商品库存"));
                    }
                });
            }
            else
            {
                serviceFacade.QueryInventoryList(queryFilter, (innerObj, innerArgs) =>
                {
                    if (innerArgs.FaultsHandle())
                    {
                        return;
                    }
                    var getList = innerArgs.Result.Rows;

                    foreach (var x in getList)
                    {
                        x["ActivedQty"]  = x["ActivedQty"] == null || x["ActivedQty"].ToString() == "" ? "--" : x["ActivedQty"];
                        x["InactiveQty"] = x["InactiveQty"] == null || x["InactiveQty"].ToString() == "" ? "--" : x["InactiveQty"];
                        x["InvalidQty"]  = x["InvalidQty"] == null || x["InvalidQty"].ToString() == "" ? "--" : x["InvalidQty"];
                    }

                    int totalCount = innerArgs.Result.TotalCount;
                    this.dgInventoryQueryResult.ItemsSource = getList;
                    this.dgInventoryQueryResult.TotalCount  = totalCount;

                    this.UnPayOrderQtyColumn.Visibility = queryVM.IsUnPayShow ? Visibility.Visible : Visibility.Collapsed;
                    this.StockNameColumn.Visibility     = queryVM.IsShowTotalInventory ? Visibility.Collapsed : Visibility.Visible;
                });
            }
            #endregion
        }