public int Compare(MonthlyReportDetail x, MonthlyReportDetail y)
        {
            if (x == null)
            {
                return(1);  // 两两比较  1:在上 , -1 :在下 0:无序排列
            }
            if (y == null)
            {
                return(-1);
            }

            //完成和未完成对比
            if ((x.IsMissTargetCurrent && !y.IsMissTargetCurrent) || (x.NDifference < 0 && y.NDifference >= 0))
            {
                return(1);
            }
            if ((!x.IsMissTargetCurrent && y.IsMissTargetCurrent) || (x.NDifference >= 0 && y.NDifference < 0))
            {
                return(-1);
            }



            //计划实际均为0的显示排序
            if (x.NPlanAmmount == 0 && x.NActualAmmount == 0)
            {
                return(1);
            }
            if (y.NPlanAmmount == 0 && y.NActualAmmount == 0)
            {
                return(-1);
            }

            ActualRate tx = JsonHelper.Deserialize <ActualRate>(x.NActualRate);
            ActualRate ty = JsonHelper.Deserialize <ActualRate>(y.NActualRate);


            if (tx.RateType > ty.RateType)
            {
                return(1);
            }
            if (tx.RateType == ty.RateType)
            {
                if (tx.Rate < ty.Rate)
                {
                    if (tx.RateType != 1 && x.IsMissTargetCurrent)
                    {
                        return(-1);
                    }//筹备门店的单独算法 Update 2015-5-14 Start
                    else if (tx.RateType != 1 && x.IsMissTargetCurrent == false)
                    {
                        if (x.NDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(-1);
                        }
                        else
                        {
                            return(1);
                        }
                    }
                    //筹备门店的单独算法 Update 2015-5-14 End
                    return(1);
                }
                else if (tx.Rate == ty.Rate)
                {
                    if (x.NActualAmmount < y.NActualAmmount)
                    {
                        return(1);
                    }
                    else if (x.NActualAmmount == y.NActualAmmount)
                    {
                        return(0);
                    }
                    else
                    {
                        return(-1);
                    }
                }
                else
                {
                    if (tx.RateType != 1 && x.IsMissTargetCurrent)
                    {
                        return(1);
                    }
                    else if (tx.RateType != 1 && x.IsMissTargetCurrent == false) //筹备门店的单独算法
                    {
                        if (x.NDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(1);
                        }
                        else
                        {
                            return(-1);
                        }
                    }
                    return(-1);
                }
            }
            else
            {
                return(-1);
            }
        }
        public int Compare(MonthlyReportDetail x, MonthlyReportDetail y)
        {
            if (x == null)
            {
                return(1);
            }
            if (y == null)
            {
                return(-1);
            }

            if (x.CompanyProperty1 != "筹备门店" && y.CompanyProperty1 != "筹备门店")
            {
                //完成和未完成对比
                if ((x.IsMissTarget && !y.IsMissTarget) || (x.NAccumulativeDifference < 0 && y.NAccumulativeDifference >= 0))
                {
                    return(1);
                }
                if ((!x.IsMissTarget && y.IsMissTarget) || (x.NAccumulativeDifference >= 0 && y.NAccumulativeDifference < 0))
                {
                    return(-1);
                }
            }

            if (string.IsNullOrEmpty(x.NAccumulativeActualRate))
            {
                return(1);
            }
            if (string.IsNullOrEmpty(y.NAccumulativeActualRate))
            {
                return(-1);
            }

            //计划实际均为0的显示排序
            if (x.NAccumulativePlanAmmount == 0 && x.NAccumulativeActualAmmount == 0)
            {
                return(-1);
            }
            if (y.NAccumulativePlanAmmount == 0 && y.NAccumulativeActualAmmount == 0)
            {
                return(1);
            }


            ActualRate tx = JsonHelper.Deserialize <ActualRate>(x.NAccumulativeActualRate);
            ActualRate ty = JsonHelper.Deserialize <ActualRate>(y.NAccumulativeActualRate);

            //这里RateType=1 :数字, RateType =2 :增亏,减亏 RateType=3:超计划

            if (tx.RateType > ty.RateType)  //增亏 ,减亏,超计划
            {
                return(1);
            }
            if (tx.RateType == ty.RateType)  //当类型相同时,这里特殊处理增亏,减亏
            {
                if (tx.Rate < ty.Rate)
                {
                    if (tx.RateType != 1 && x.IsMissTarget)
                    {
                        return(-1);
                    }//筹备门店的单独算法 Update 2015-5-14 Start
                    else if (tx.RateType != 1 && x.IsMissTarget == false)
                    {
                        if (x.NAccumulativeDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(-1);
                        }
                        else
                        {
                            return(1);
                        }
                    }
                    //筹备门店的单独算法 Update 2015-5-14 End
                    return(1);
                }
                else if (tx.Rate == ty.Rate)
                {
                    if (x.NAccumulativeActualAmmount < y.NAccumulativeActualAmmount)
                    {
                        return(1);
                    }
                    else if (x.NAccumulativeActualAmmount == y.NAccumulativeActualAmmount)
                    {
                        return(0);
                    }
                    else
                    {
                        return(-1);
                    }
                }
                else
                {
                    if (tx.RateType != 1 && x.IsMissTarget)
                    {
                        return(1);
                    }//筹备门店的单独算法 Update 2015-5-14 Start
                    else if (tx.RateType != 1 && x.IsMissTarget == false)
                    {
                        if (x.NAccumulativeDisplayRate.Substring(0, 2) == "增亏")
                        {
                            return(1);
                        }
                        else
                        {
                            return(-1);
                        }
                    }//筹备门店的单独算法 Update 2015-5-14 End
                    return(-1);
                }
            }
            else
            {
                return(-1);
            }
        }