Exemple #1
0
        //1.线路使用费 Fee1---(直接导入数据OK)
        private double GetFee1(bool sum)
        {
            double Fee0  = 0;
            String temp1 = String.Empty;

            if (String.IsNullOrEmpty(this.TrainName) == false)
            {
                String[] arr1 = this.TrainName.Split('/');
                temp1 = this.TrainName;
                foreach (String m in arr1)
                {
                    temp1 = temp1 + "," + m;
                }

                if (String.IsNullOrEmpty(temp1) == false)
                {
                    List <SearchField> condition = new List <SearchField>();
                    tab1.TableName = "NEWTRAINXIANLUFEE";
                    condition.Add(new SearchField("TRAINNAME", temp1, SearchOperator.Collection));
                    condition.Add(new SearchField("BYEAR", this.Year + "", SearchFieldType.NumericType));
                    if (sum == false)
                    {
                        condition.Add(new SearchField("BMONTH", this.Month + "", SearchFieldType.NumericType));
                    }
                    else
                    {
                        condition.Add(new SearchField("BMONTH", this.Month + "", SearchOperator.SmallerAndEqual,
                                                      SearchFieldType.NumericType));
                    }

                    object obj1 = tab1.SearchScalar(condition, "sum(Fee1+Fee2+Fee3)");
                    if (obj1 != null && obj1.ToString().Trim() != String.Empty)
                    {
                        Fee0 = double.Parse(obj1.ToString());
                    }
                }
            }
            return(JMath.Round1(Fee0 / UnitRate, 2));
        }
        //20140409  编写
        /// <summary>
        /// 求得客运专线的电费地和接触费
        /// </summary>
        /// <param name="busType"></param>
        /// <returns></returns>
        internal override double GetFee3(List <string[]> lineInfos)
        {
            double Fee  = 0;
            JTable tab1 = new JTable("gscorpelecfee");

            for (int i = 0; i < lineInfos.Count; i++)
            {
                double JieChuFeeRate = 0.0d;
                double DianFeeRate   = 0.0d;
                if (string.IsNullOrEmpty(lineInfos[i][0])) //判断客专id值
                {
                    string linetype = lineInfos[i][2];     //获得线路类型
                    if (linetype == "1")
                    {
                        JieChuFeeRate = TrainLineKindProfile.JieChuFee2;
                        DianFeeRate   = TrainLineKindProfile.DianFee2;
                    }
                    else if (linetype == "2")
                    {
                        JieChuFeeRate = TrainLineKindProfile.JieChuFee1;
                        DianFeeRate   = TrainLineKindProfile.DianFee1;
                    }
                }
                else
                {
                    List <SearchField> condition = new List <SearchField>();
                    condition.Add(new SearchField("Num", lineInfos[i][0]));
                    JieChuFeeRate = Convert.ToDouble(tab1.SearchScalar(condition, "NETFEE"));
                    DianFeeRate   = Convert.ToDouble(tab1.SearchScalar(condition, "ELECFEE"));
                }

                Fee = Fee + (JieChuFeeRate + DianFeeRate) * Convert.ToInt32(lineInfos[i][1]) * this.GetTrainWeight();//获得里程数
            }
            if (this.IsYearFlag)
            {
                Fee = Fee * 2 * 365;
            }
            else
            {
                Fee = Fee * 2;
            }

            #region 注释信息
            //TrainLine line0 = this.Line;
            //double Fee = 0;
            //if (line0 != null)
            //{
            //    //根据线路的里程和线路的级别计算电费和接触网使用费用
            //    for (int i = 0; i < line0.Nodes.Count; i++)
            //    {
            //        string  lineID = line0.Nodes[i].LineID;
            //        string astation = line0.Nodes[i].AStation;
            //        string bstation = line0.Nodes[i].BStation;

            //        condition.Clear();
            //        condition.Add(new SearchField("lineID",lineID));
            //        condition.Add(new SearchField("AStation",astation));
            //        condition.Add(new SearchField("BStation",bstation));
            //        //得到相应客专主键id
            //        string corpid = tab1.SearchScalar(condition, "KZID").ToString() ;
            //        //得到相应的标准
            //        condition.Clear();
            //        condition.Add(new SearchField("Num",corpid));
            //        double JieChuFeeRate=0.0d;
            //        double DianFeeRate =0.0d;
            //        //不是默认的计算方法,bugsType表示选中的客专路线
            //        if (corpid != "0")
            //        {
            //          JieChuFeeRate = Convert.ToDouble(tab2.SearchScalar(condition, "NETFEE"));
            //          DianFeeRate = Convert.ToDouble(tab2.SearchScalar(condition, "ELECFEE"));
            //        }
            //        else
            //        {
            //            String lineType = line0.Nodes[i].LineType.Trim();
            //            if (lineType == "1")
            //            {
            //                JieChuFeeRate = TrainLineKindProfile.JieChuFee2;
            //                 DianFeeRate = TrainLineKindProfile.DianFee2;
            //            }
            //            else if (lineType == "2")
            //             {
            //                JieChuFeeRate = TrainLineKindProfile.JieChuFee1;
            //                DianFeeRate = TrainLineKindProfile.DianFee1;
            //             }
            //        }
            //        Fee = Fee + (JieChuFeeRate + DianFeeRate) * line0.Nodes[i].Miles * this.GetTrainWeight();
            //    }
            //}
            //if (this.IsYearFlag)
            //{
            //    Fee = Fee * 2 * 365;
            //}
            //else
            //{
            //    Fee = Fee * 2;
            //}
            #endregion
            Fee = Fee / UnitRate;
            return(JMath.Round1(Fee / 10000, this.XiaoShou));
        }