コード例 #1
0
        /// <summary>
        /// 根据输入的PO单据号获取应付款中的PO单列表
        /// </summary>
        /// <param name="condition"></param>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual List <POItemCheckEntity> GetPOCheckList(List <int> condition, APInvoiceItemInputEntity entity)
        {
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("POInputCheck");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(
                       dataCommand.CommandText, dataCommand, null, "POM.VendorSysNo"))
            {
                sqlBuilder.ConditionConstructor.AddInCondition(
                    QueryConditionRelationType.AND,
                    "pay.OrderSysNo",
                    DbType.Int32,
                    condition);

                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "pay.OrderType",
                    DbType.Int32,
                    "@OrderType",
                    QueryConditionOperatorType.Equal,
                    entity.OrderType);

                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "pay.CompanyCode",
                    DbType.AnsiStringFixedLength,
                    "@CompanyCode",
                    QueryConditionOperatorType.Equal,
                    entity.CompanyCode);

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                return(dataCommand.ExecuteEntityList <POItemCheckEntity>());
            }
        }
コード例 #2
0
        public APInvoiceInfoResp InputInvoiceItem(APInvoiceItemInputEntity inputEntity)
        {
            string errorMsg = string.Empty;
            List <APInvoiceInvoiceItemInfo> result = appService.InputInvoiceItem(inputEntity, ref errorMsg);

            return(new APInvoiceInfoResp()
            {
                invoiceItemList = result,
                ErrorMsg = errorMsg
            });
        }
コード例 #3
0
        /// <summary>
        /// 录入InvoiceItem
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HyperlinkButton_InputInvoiceItem_Click(object sender, RoutedEventArgs e)
        {
            if (!ValidateInvInput())
            {
                if (this.vm.ItemInvoiceAmt == null)
                {
                    this.Text_ItemInvoiceAmt.Focus();
                }
                return;
            }
            if (!vm.VendorSysNo.HasValue)
            {
                this.Text_InvoiceItemsStatistic.Foreground = RedBrush;
                this.Text_InvoiceItemsStatistic.Text       = ResInvoiceInputMaintain.Msg_Tips + ResInvoiceInputMaintain.Msg_ValidateVendor;
                //Window.Alert(ResInvoiceInputMaintain.Msg_ValidateVendor);
                return;
            }
            APInvoiceItemInputEntity request = new APInvoiceItemInputEntity();

            request.ItemsNoList     = vm.InvoiceItemNoList;
            request.InvoiceDate     = vm.InvoiceDate;
            request.InvoiceAmt      = vm.ItemInvoiceAmt;
            request.VendorSysNo     = vm.VendorSysNo;
            request.VendorName      = vm.VendorName;
            request.CompanyCode     = CPApplication.Current.CompanyCode;
            request.InvoiceItemList = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>().InvoiceItemList;

            facade.InputInvoiceItem(request, (obj, args) =>
            {
                APInvoiceInfo info   = new APInvoiceInfo();
                info.InvoiceItemList = args.Result.invoiceItemList;

                InvoiceInputMaintainVM resultVM = info.Convert <APInvoiceInfo, InvoiceInputMaintainVM>();
                vm.InvoiceItemList = resultVM.InvoiceItemList;

                if (!string.IsNullOrEmpty(args.Result.ErrorMsg))
                {
                    //Window.Alert(args.Result.ErrorMsg);
                    this.Text_InvoiceItemsStatistic.Foreground = RedBrush;
                    this.Text_InvoiceItemsStatistic.Text       = args.Result.ErrorMsg;
                }
                else
                {
                    this.Text_InvoiceItemsStatistic.Text = string.Empty;
                }
                if (vm.POItemList.Count > 0 && vm.InvoiceItemList.Count > 0)
                {
                    btnDiffCalc.IsEnabled = true;
                }
                this.Text_InvoiceNo.Focus();
            });
        }
コード例 #4
0
        /// <summary>
        /// 录入PoItem
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HyperlinkButton_InputPoItem_Click(object sender, RoutedEventArgs e)
        {
            if (!ValidatePOInput())
            {
                return;
            }
            APInvoiceItemInputEntity request = new APInvoiceItemInputEntity();

            request.ItemsNoList = vm.POItemNoList;
            request.OrderType   = vm.OrderType;
            request.VendorSysNo = vm.VendorSysNo;
            request.VendorName  = vm.VendorName;
            request.CompanyCode = CPApplication.Current.CompanyCode;
            request.POItemList  = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>().POItemList;

            facade.InputPoItem(request, (obj, args) =>
            {
                APInvoiceInfo info = new APInvoiceInfo();
                info.POItemList    = args.Result.poItemList;
                info.VendorName    = args.Result.VendorName;
                info.VendorSysNo   = args.Result.VendorSysNo;

                InvoiceInputMaintainVM resultVM = info.Convert <APInvoiceInfo, InvoiceInputMaintainVM>();
                vm.POItemList  = resultVM.POItemList;
                vm.VendorSysNo = resultVM.VendorSysNo;
                vm.VendorName  = resultVM.VendorName;
                if (!string.IsNullOrEmpty(args.Result.ErrorMsg))
                {
                    this.Text_POItemsStatistic.Foreground = RedBrush;
                    this.Text_POItemsStatistic.Text       = args.Result.ErrorMsg;
                    //Window.Alert(args.Result.ErrorMsg);
                }
                else
                {
                    this.Text_POItemsStatistic.Text = string.Empty;
                }

                if (vm.POItemList.Count > 0)
                {
                    VendorPicker.IsEnabled = false;
                }
                else
                {
                    VendorPicker.IsEnabled = true;
                }
                if (vm.POItemList.Count > 0 && vm.InvoiceItemList.Count > 0)
                {
                    btnDiffCalc.IsEnabled = true;
                }
            });
        }
コード例 #5
0
ファイル: InvoiceInputFacade.cs プロジェクト: sanlonezhang/ql
        /// <summary>
        /// 加载供应商未录入的Poitems
        /// </summary>
        /// <param name="request"></param>
        /// <param name="callback"></param>
        public void LoadNotInputPOItems(APInvoiceItemInputEntity request, EventHandler <RestClientEventArgs <List <APInvoicePOItemInfo> > > callback)
        {
            string relativeUrl = string.Format("/InvoiceService/InvoiceInput/LoadNotInputPOItems", request);

            restClient.Query <List <APInvoicePOItemInfo> >(relativeUrl, request, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }

                callback(obj, args);
            });
        }
コード例 #6
0
ファイル: InvoiceInputFacade.cs プロジェクト: sanlonezhang/ql
        /// <summary>
        /// 录入InvoiceItems
        /// </summary>
        /// <param name="request"></param>
        /// <param name="callback"></param>
        public void InputInvoiceItem(APInvoiceItemInputEntity request, EventHandler <RestClientEventArgs <APInvoiceInfoResp> > callback)
        {
            string relativeUrl = "/InvoiceService/InvoiceInput/InputInvoiceItem";

            restClient.Create <APInvoiceInfoResp>(relativeUrl, request, (obj, args) =>
            {
                if (args.FaultsHandle())
                {
                    return;
                }

                callback(obj, args);
            });
        }
コード例 #7
0
        public APInvoiceInfoResp InputPoItem(APInvoiceItemInputEntity inputEntity)
        {
            string errorMsg   = string.Empty;
            string vendorName = string.Empty;
            int    vendorSysNo;
            List <APInvoicePOItemInfo> result = appService.InputPoItem(inputEntity, ref vendorName, ref errorMsg, out vendorSysNo);

            return(new APInvoiceInfoResp()
            {
                poItemList = result,
                VendorName = vendorName,
                VendorSysNo = vendorSysNo,
                ErrorMsg = errorMsg
            });
        }
コード例 #8
0
        /// <summary>
        /// 加载供应商未录入的PO单据
        /// </summary>
        /// <param name="request">查询条件</param>
        /// <returns></returns>
        public virtual List <APInvoicePOItemInfo> LoadNotInputPOItems(APInvoiceItemInputEntity request)
        {
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("LoadNotInputPOItems");

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(
                       dataCommand.CommandText, dataCommand, null, "A.OrderSysNo DESC"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND
                    , "A.PoBaselineDate"
                    , DbType.DateTime
                    , "@PODateFrom"
                    , QueryConditionOperatorType.MoreThanOrEqual
                    , request.PODateFrom);

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
            }
            dataCommand.AddInputParameter("@VendorSysNo", DbType.Int32, request.VendorSysNo);
            dataCommand.AddInputParameter("@CompanyCode", DbType.AnsiStringFixedLength, request.CompanyCode);
            return(dataCommand.ExecuteEntityList <APInvoicePOItemInfo>());
        }
コード例 #9
0
        /// <summary>
        /// 根据条件加载供应商未录入的POItems
        /// 1.必须选择供应商。
        /// 2.可选条件--加载日期起始。
        /// 3.加载时会保留原有页面中的数据--只会更新POItems表,且保留原表中的数据。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HyperlinkButton_LoadPOItems_Click(object sender, RoutedEventArgs e)
        {
            if (!vm.VendorSysNo.HasValue)
            {
                Window.Alert(ResInvoiceInputMaintain.Msg_ValidateVendor);
                return;
            }
            APInvoiceItemInputEntity request = new APInvoiceItemInputEntity();

            request.CompanyCode = CPApplication.Current.CompanyCode;
            request.VendorSysNo = vm.VendorSysNo;
            request.POItemList  = vm.ConvertVM <InvoiceInputMaintainVM, APInvoiceInfo>().POItemList;
            request.PODateFrom  = vm.PODateFrom;
            facade.LoadNotInputPOItems(request, (obj, args) =>
            {
                APInvoiceInfo info = new APInvoiceInfo();
                info.POItemList    = args.Result;
                InvoiceInputMaintainVM resultVM = info.Convert <APInvoiceInfo, InvoiceInputMaintainVM>();
                vm.POItemList = resultVM.POItemList;
                if (vm.POItemList.Count > 0)
                {
                    VendorPicker.IsEnabled = false;
                    this.Text_POItemsStatistic.Foreground = BlackBrush;
                    this.Text_POItemsStatistic.Text       = ResInvoiceInputMaintain.Msg_LoadSuccess;
                }
                else
                {
                    VendorPicker.IsEnabled = true;
                    Window.Alert(ResInvoiceInputMaintain.Msg_EmptyPoItems);
                }
                if (vm.POItemList.Count > 0 && vm.InvoiceItemList.Count > 0)
                {
                    btnDiffCalc.IsEnabled = true;
                }
            });
        }
コード例 #10
0
 public List <APInvoicePOItemInfo> LoadNotInputPOItems(APInvoiceItemInputEntity request)
 {
     return(appService.LoadNotInputPOItems(request));
 }
コード例 #11
0
        /// <summary>
        /// 获取无效的发票号码
        /// </summary>
        /// <param name="invoiceList"></param>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual List <string> GetInvalidInvoiceNo(List <string> invoiceList, APInvoiceItemInputEntity entity)
        {
            CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig("GetInvalidInvoiceNo");
            List <string>     result      = new List <string>();

            using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder(
                       dataCommand.CommandText, dataCommand, null, "API.InvoiceNo"))
            {
                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND
                                                             , "APM.VendorSysNo"
                                                             , DbType.Int32
                                                             , "@VendorSysNo"
                                                             , QueryConditionOperatorType.Equal
                                                             , entity.VendorSysNo);

                sqlBuilder.ConditionConstructor.BeginGroupCondition(QueryConditionRelationType.AND);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND
                                                             , "API.[Status]"
                                                             , DbType.String
                                                             , "@ItemStatus"
                                                             , QueryConditionOperatorType.Equal
                                                             , APInvoiceItemStatus.Active);

                sqlBuilder.ConditionConstructor.BeginGroupCondition(QueryConditionRelationType.OR);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND
                                                             , "API.[Status]"
                                                             , DbType.String
                                                             , "@ItemNStatus"
                                                             , QueryConditionOperatorType.Equal
                                                             , APInvoiceItemStatus.Deactive);

                sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND
                                                             , "APM.[Status]"
                                                             , DbType.Int32
                                                             , "@MasterStatus"
                                                             , QueryConditionOperatorType.MoreThanOrEqual
                                                             , APInvoiceMasterStatus.Origin);

                sqlBuilder.ConditionConstructor.EndGroupCondition();

                sqlBuilder.ConditionConstructor.EndGroupCondition();

                sqlBuilder.ConditionConstructor.AddInCondition(QueryConditionRelationType.AND
                                                               , "API.InvoiceNo"
                                                               , DbType.String
                                                               , invoiceList);

                sqlBuilder.ConditionConstructor.AddCondition(
                    QueryConditionRelationType.AND,
                    "API.CompanyCode",
                    DbType.AnsiStringFixedLength,
                    "@CompanyCode",
                    QueryConditionOperatorType.Equal,
                    entity.CompanyCode);

                dataCommand.CommandText = sqlBuilder.BuildQuerySql();
                var dataSet = dataCommand.ExecuteDataSet();

                if (dataSet.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow dr in dataSet.Tables[0].Rows)
                    {
                        result.Add(dr["InvoiceNo"].ToString());
                    }
                }
            }

            return(result);
        }
コード例 #12
0
 /// <summary>
 /// 录入PoItem
 /// </summary>
 /// <param name="checkInfo"></param>
 /// <param name="vendorName"></param>
 /// <param name="errorMsg"></param>
 /// <param name="vendorSysNo"></param>
 /// <returns></returns>
 public virtual List <APInvoicePOItemInfo> InputPoItem(APInvoiceItemInputEntity inputEntity, ref string vendorName, ref string errorMsg, out int vendorSysNo)
 {
     return(processor.InputPoItem(inputEntity, ref vendorName, ref errorMsg, out vendorSysNo));
 }
コード例 #13
0
 /// <summary>
 /// 录入InvoiceItem
 /// </summary>
 /// <param name="inputEntity"></param>
 /// <param name="errorMsg"></param>
 /// <returns></returns>
 public virtual List <APInvoiceInvoiceItemInfo> InputInvoiceItem(APInvoiceItemInputEntity inputEntity, ref string errorMsg)
 {
     return(processor.InputInvoiceItem(inputEntity, ref errorMsg));
 }
コード例 #14
0
 /// <summary>
 /// 加载供应商未录入的POItems
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public virtual List <APInvoicePOItemInfo> LoadNotInputPOItems(APInvoiceItemInputEntity request)
 {
     return(processor.LoadNotInputPOItems(request));
 }