//分类航司 public TravelReportSalePriceResponseViewModel GetTravelReport_SalePrice(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportSalePriceModel> modelList = _TravelReportServiceBll.GetTravelReportSalePrice(requestmodel); List <TravelReportSalePriceViewModel> viewList = Mapper.Map <List <TravelReportSalePriceModel>, List <TravelReportSalePriceViewModel> >( modelList); if (modelList.Count > 0) { int manCount = 0; for (int i = 0; i < modelList.Count; i++) { manCount += modelList[i].manNum; } for (int i = 0; i < viewList.Count; i++) { double percent = Convert.ToDouble(modelList[i].manNum) / Convert.ToDouble(manCount); decimal result = Convert.ToDecimal((percent * 100).ToString("0.00")); viewList[i].salePercentage = result; } } return(new TravelReportSalePriceResponseViewModel() { TravelReportSalePriceList = viewList }); }
//预定提前天数占比 public TravelReportReserveDayResponseViewModel GetTravelReport_ReserveDay(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportReserveDayModel> modelList = _TravelReportServiceBll.GetTravelReportReserveDay(requestmodel); List <TravelReportReserveDayViewModel> viewList = Mapper.Map <List <TravelReportReserveDayModel>, List <TravelReportReserveDayViewModel> >( modelList); if (modelList.Count > 0) { int manCount = 0; decimal salepriceCount = 0; for (int i = 0; i < modelList.Count; i++) { manCount += modelList[i].manNum; salepriceCount = modelList[i].SalePriceSum; } for (int i = 0; i < viewList.Count; i++) { double percent = Convert.ToDouble(modelList[i].manNum) / Convert.ToDouble(manCount); decimal result = Convert.ToDecimal((percent * 100).ToString("0.00")); double saleprice = Convert.ToDouble(modelList[i].SalePriceSum) / Convert.ToDouble(salepriceCount); decimal result1 = Convert.ToDecimal((saleprice * 100).ToString("0.00")); viewList[i].ManPercentage = result; viewList[i].moneyPercentage = result1; } } return(new TravelReportReserveDayResponseViewModel() { TravelReportReserveDayList = viewList }); }
//改签 public TravelReportFltRefundFltModResponseViewModel GetTravelReport_FltMod(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>(request); List <TravelReportFltRefundFltModModel> modelList = _TravelReportServiceBll.GetTravelReportFltMod(requestmodel); List <TravelReportFltRefundFltModViewModel> viewList = Mapper.Map <List <TravelReportFltRefundFltModModel>, List <TravelReportFltRefundFltModViewModel> >( modelList).ToList(); return(new TravelReportFltRefundFltModResponseViewModel() { TravelReportFltRefundFltModList = viewList }); }
//成本中心汇总表 public TravelReportCostCenterResponseViewModel GetTravelReport_CostCenter(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportCostCenterModel> modelList = _TravelReportServiceBll.GetTravelReportCostCenter(requestmodel); List <TravelReportCostCenterViewModel> viewList = Mapper.Map <List <TravelReportCostCenterModel>, List <TravelReportCostCenterViewModel> >( modelList).OrderByDescending(x => x.SalePriceSum).Take(6).ToList();; return(new TravelReportCostCenterResponseViewModel() { TravelReportCostCenterList = viewList }); }
//前10条出差航段汇总表 public TravelReportDportCityResponseViewModel GetTravelReport_DportCity(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportDportCityModel> modelList = _TravelReportServiceBll.GetTravelReportDportCity(requestmodel); List <TravelReportDportCityViewModel> viewList = Mapper.Map <List <TravelReportDportCityModel>, List <TravelReportDportCityViewModel> >( modelList).Take(10).ToList(); return(new TravelReportDportCityResponseViewModel() { TravelReportDportCityList = viewList }); }
//汇总页面 public TravelReportConsumeCountResponseViewModel GetTravelReport_ConsumeCount(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportConsumeCountModel> modelList = _TravelReportServiceBll.GetTravelReportConsumeCount(requestmodel); List <TravelReportConsumeCountViewModel> viewList = Mapper.Map <List <TravelReportConsumeCountModel>, List <TravelReportConsumeCountViewModel> >( modelList).ToList(); return(new TravelReportConsumeCountResponseViewModel() { TravelReportConsumeCountList = viewList }); }
//航空公司占比分析 public TravelReportAirlineCountResponseViewModel GetTravelReport_AirlineCount(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportAirlineCountModel> modelListTemp = _TravelReportServiceBll.GetTravelReportAirlineCount(requestmodel); List <string> airlineNoList = modelListTemp.Select(n => n.AirlineNo).Distinct().ToList(); List <TravelReportAirlineCountModel> modelList = new List <TravelReportAirlineCountModel>(); //合并重复的航段 decimal s = 0; int m = 0; TravelReportAirlineCountModel other = null; foreach (string airlineNo in airlineNoList) { if (airlineNo != "其它航空") { var model = modelListTemp.Find(n => n.AirlineNo == airlineNo); if (model == null) { continue; } modelList.Add(model); } else { List <TravelReportAirlineCountModel> model = modelListTemp.FindAll(n => n.AirlineNo == airlineNo); if (model != null && model.Count > 0) { s = model.Sum(n => n.SalePriceSum); m = model.Sum(n => n.manNum); if (other == null) { other = model[0]; } } } } if (other != null) { other.manNum = m; other.SalePriceSum = s; modelList.Add(other); } List <TravelReportAirlineCountViewModel> viewList = Mapper.Map <List <TravelReportAirlineCountModel>, List <TravelReportAirlineCountViewModel> >( modelList); if (modelList.Count > 0) { int manCount = 0; for (int i = 0; i < modelList.Count; i++) { manCount += modelList[i].manNum; } for (int i = 0; i < viewList.Count; i++) { double percent = Convert.ToDouble(modelList[i].manNum) / Convert.ToDouble(manCount); decimal result = Convert.ToDecimal((percent * 100).ToString("0.00")); viewList[i].ManPercentage = result; } } return(new TravelReportAirlineCountResponseViewModel() { TravelReportAirlineCountList = viewList }); }
//前10位人员出差人次汇总表 public TravelReportPassengerTopResponseViewModel GetTravelReport_PassengerTop(TravelReportRequestUIModel request) { TravelReportRequestDoModel requestmodel = Mapper.Map <TravelReportRequestUIModel, TravelReportRequestDoModel>( request); List <TravelReportPassengerTopModel> modelList = _TravelReportServiceBll.GetTravelReportPassengerTop(requestmodel); List <TravelReportPassengerTopViewModel> viewList = Mapper.Map <List <TravelReportPassengerTopModel>, List <TravelReportPassengerTopViewModel> >( modelList).Take(10).OrderByDescending(x => x.manNum).ToList(); return(new TravelReportPassengerTopResponseViewModel() { TravelReportPassengerTopList = viewList }); }
public async Task <ResponseBaseViewModel <TravelReportYearPriceCountResponseViewModel> > GetYearPriceCount([FromBody] TravelReportRequestUIModel request) { request.Cid = this.GetCid(); TravelReportYearPriceCountResponseViewModel viewModel = new TravelReportYearPriceCountResponseViewModel(); await new TaskFactory().StartNew(() => { viewModel = _TravelReportApplication.GetTravelReport_YearPriceCount(request); }); ResponseBaseViewModel <TravelReportYearPriceCountResponseViewModel> v = new ResponseBaseViewModel <TravelReportYearPriceCountResponseViewModel> { Flag = new ResponseCodeViewModel() { Code = 0, MojoryToken = this.GetToken() }, Data = viewModel }; return(v); }
public async Task <ResponseBaseViewModel <TravelReportFltRefundFltModResponseViewModel> > GetTravelReportFltMod([FromBody] TravelReportRequestUIModel request) { TravelReportFltRefundFltModResponseViewModel viewModel = new TravelReportFltRefundFltModResponseViewModel(); await new TaskFactory().StartNew(() => { viewModel = _TravelReportApplication.GetTravelReport_FltMod(request); }); ResponseBaseViewModel <TravelReportFltRefundFltModResponseViewModel> v = new ResponseBaseViewModel <TravelReportFltRefundFltModResponseViewModel> { Flag = new ResponseCodeViewModel() { Code = 0, MojoryToken = this.GetToken() }, Data = viewModel }; return(v); }