Example #1
0
        private void LoadMaintainCostComplete()
        {
            if (_loadedApuMaintainCost && _loadedFhaMaintainCost && _loadedNonFhaMaintainCost &&
                _loadedRegularCheckMaintainCost && _loadedSpecialRefitMaintainCost &&
                _loadedUndercartMaintainCost)
            {
                Annuals.ToList().ForEach(p =>
                {
                    var maintainCostReport = MaintainCostReports.FirstOrDefault(q => q.Annual.Year == p.Year);
                    var exist = true;
                    if (maintainCostReport == null)
                    {
                        exist = false;
                        maintainCostReport = new MaintainCost {Annual = new DateTime(p.Year, 1, 1)};
                    }
                    maintainCostReport.ApuBudget =
                        ApuMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.IncludeAddedValue);
                    maintainCostReport.TotalBudget += maintainCostReport.ApuBudget;
                    maintainCostReport.ApuActual = ApuMaintainCosts.Where(q => q.Year == p.Year)
                        .Sum(t => t.AcutalAmount);
                    maintainCostReport.TotalActual += maintainCostReport.ApuActual;

                    maintainCostReport.FhaBudget = FhaMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.CustomAdded);
                    maintainCostReport.TotalBudget += maintainCostReport.FhaBudget;
                    maintainCostReport.FhaActual = FhaMaintainCosts.Where(q => q.Year == p.Year)
                        .Sum(t => t.AcutalAmount);
                    maintainCostReport.TotalActual += maintainCostReport.FhaActual;

                    maintainCostReport.NonFhaBudget =
                        NonFhaMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.FinancialApprovalAmount);
                    maintainCostReport.TotalBudget += maintainCostReport.NonFhaBudget;
                    maintainCostReport.NonFhaActual =
                        NonFhaMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.AcutalAmount);
                    maintainCostReport.TotalActual += maintainCostReport.NonFhaActual;

                    maintainCostReport.RegularCheckBudget =
                        RegularCheckMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.FinancialApprovalAmount);
                    maintainCostReport.TotalBudget += maintainCostReport.RegularCheckBudget;
                    maintainCostReport.RegularCheckActual =
                        RegularCheckMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.AcutalAmount);
                    maintainCostReport.TotalActual += maintainCostReport.RegularCheckActual;

                    maintainCostReport.SpecialRefitBudget =
                        SpecialRefitMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.FinancialApprovalAmount);
                    maintainCostReport.TotalBudget += maintainCostReport.SpecialRefitBudget;
                    maintainCostReport.SpecialRefitActual =
                        SpecialRefitMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.AcutalAmount);
                    maintainCostReport.TotalActual += maintainCostReport.SpecialRefitActual;

                    maintainCostReport.UndercartBudget =
                        UndercartMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.FinancialApprovalAmount);
                    maintainCostReport.TotalBudget += maintainCostReport.UndercartBudget;
                    maintainCostReport.UndercartActual =
                        UndercartMaintainCosts.Where(q => q.Year == p.Year).Sum(t => t.AcutalAmount);
                    maintainCostReport.TotalActual += maintainCostReport.UndercartActual;
                    if (!exist && maintainCostReport.TotalBudget != 0 && maintainCostReport.TotalActual != 0)
                        MaintainCostReports.Add(maintainCostReport);
                });

                RaisePropertyChanged(() => MaintainCostReports);
                var maintainCost = MaintainCostReports.LastOrDefault();
                GenerateDetail(maintainCost);
                IsBusy = false;
            }
        }
Example #2
0
 private void GenerateDetail(MaintainCost maintainCost)
 {
     if (maintainCost != null)
     {
         SelectTitle = maintainCost.Annual.Year + "年维修成本明细";
         MaintainCostDetails = new ObservableCollection<MaintainCostDetail>
         {
             new MaintainCostDetail
             {
                 Name = "年度定检",
                 Actual = maintainCost.RegularCheckActual,
                 Budget = maintainCost.RegularCheckBudget,
                 Color =
                     maintainCost.RegularCheckActual >
                     maintainCost.RegularCheckBudget
                         ? "#FFF90202"
                         : "#FFCCCCCC"
             },
             new MaintainCostDetail
             {
                 Name = "非FHA.超包修",
                 Actual = maintainCost.NonFhaActual,
                 Budget = maintainCost.NonFhaBudget,
                 Color =
                     maintainCost.NonFhaActual > maintainCost.NonFhaBudget
                         ? "#FFF90202"
                         : "#FFCCCCCC"
             },
             new MaintainCostDetail
             {
                 Name = "起落架",
                 Actual = maintainCost.UndercartActual,
                 Budget = maintainCost.UndercartBudget,
                 Color =
                     maintainCost.UndercartActual >
                     maintainCost.UndercartBudget
                         ? "#FFF90202"
                         : "#FFCCCCCC"
             },
             new MaintainCostDetail
             {
                 Name = "特修改装",
                 Actual = maintainCost.SpecialRefitActual,
                 Budget = maintainCost.SpecialRefitBudget,
                 Color =
                     maintainCost.SpecialRefitActual >
                     maintainCost.SpecialRefitBudget
                         ? "#FFF90202"
                         : "#FFCCCCCC"
             },
             new MaintainCostDetail
             {
                 Name = "FHA",
                 Actual = maintainCost.FhaActual,
                 Budget = maintainCost.FhaBudget,
                 Color =
                     maintainCost.FhaActual > maintainCost.FhaBudget
                         ? "#FFF90202"
                         : "#FFCCCCCC"
             },
             new MaintainCostDetail
             {
                 Name = "APU",
                 Actual = maintainCost.ApuActual,
                 Budget = maintainCost.ApuBudget,
                 Color =
                     maintainCost.ApuActual > maintainCost.ApuBudget
                         ? "#FFF90202"
                         : "#FFCCCCCC"
             },
         };
     }
 }