private void btnBatchConfirm_Click(object sender, RoutedEventArgs e) { if (!AuthMgr.HasFunctionPoint(AuthKeyConst.Invoice_POSPay_BatchConfirm)) { Window.Alert(ResCommon.Message_NoAuthorize); return; } var selectedSysNoList = GetSelectedSOIncomeSysNoList(); if (selectedSysNoList.Count <= 0) { Window.Alert(ResCommon.Message_AtLeastChooseOneRecord); return; } //TODO:调用中蛋定制化的Service Facade方法,需要将权限信息传到服务端做数据隔离 m_SOIncomeFace.BatchConfirm(selectedSysNoList, false, (msg) => { Window.Alert(msg, () => dgPOSPayQueryResult.Bind()); }); }
/// <summary> /// 收款单确认 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnConfirm_Click(object sender, RoutedEventArgs e) { var selectedSysNoList = GetSelectedSOIncomeSysNoList(); if (selectedSysNoList == null) { return; } if (selectedSysNoList.Count <= 0) { Window.Alert(ResCommon.Message_AtLeastChooseOneRecord); return; } //放到了服务端验证 #region 货到付款订单确认时判断订单实收金额和支付金额是否一致,如果不一致则确认不通过,提示信息:订单11111实收金额(PayAmount),现金支付:120,银行卡支付:129,预付款:100 //string msgInfo = ""; //List<SaleIncomeVM> datasource = (List<SaleIncomeVM>)dgSaleIncomeQueryResult.ItemsSource; //foreach (var sub in selectedSysNoList) //{ // var target = datasource.First(m => (m.SysNo == sub)); // var DecimalIsNull = new Func<decimal?, decimal>(decimalObject => { return decimalObject == null ? 0 : decimalObject.Value; }); // if (target.IncomeStyle == SOIncomeOrderStyle.Normal)//货到付款 // { // //check // var posAmount = DecimalIsNull(target.PosPrePay) + DecimalIsNull(target.PosCash) + DecimalIsNull(target.PosBankCard); // var orderAmount = DecimalIsNull(target.OrderAmt.Value); // var realGetAmount = DecimalIsNull(target.IncomeAmt.Value); // if (posAmount != realGetAmount) // { // var msg = ""; // msg += string.Format("订单号{0} 实收金额{1},现金支付{2},银行支付{3},预付款{4}。", // target.OrderSysNo.Value.ToString(), // realGetAmount.ToString("#0.00"), // DecimalIsNull(target.PosCash), // DecimalIsNull(target.PosBankCard), // DecimalIsNull(target.PosPrePay)); // msg += Environment.NewLine; // msgInfo += msg; // } // } //} //if (string.IsNullOrEmpty(msgInfo) == false) //{ // msgInfo = "订单实收金额和支付金额不一致,无法确认。" + Environment.NewLine + msgInfo; // Window.Alert(msgInfo); // return; //} #endregion bool hasRight = false; if (AuthMgr.HasFunctionPoint(AuthKeyConst.Invoice_SaleIncomeQuery_Confirm_AnyRefundType)) { hasRight = true; } soIncomeFacade.BatchConfirm(selectedSysNoList, hasRight, msg => { Window.Alert(msg, () => this.dgSaleIncomeQueryResult.Bind()); }); }