Browse Source

今日业绩改为业绩统计

qianyi
shanji 3 years ago
parent
commit
7804a59bcc
  1. 9
      BBWY.Client/APIServices/StatisticsService.cs
  2. 10
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  3. 4
      BBWY.Client/Views/Order/OrderList.xaml
  4. 4
      BBWY.Server.API/Controllers/StatisticsController.cs
  5. 9
      BBWY.Server.Business/Statistics/StatisticsBusiness.cs
  6. 10
      BBWY.Server.Model/Dto/Request/Statistics/ToDayOrderAchievementRequest.cs
  7. 2
      BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs

9
BBWY.Client/APIServices/StatisticsService.cs

@ -1,6 +1,7 @@
using BBWY.Client.Models; using BBWY.Client.Models;
using BBWY.Common.Http; using BBWY.Common.Http;
using BBWY.Common.Models; using BBWY.Common.Models;
using System;
using System.Net.Http; using System.Net.Http;
namespace BBWY.Client.APIServices namespace BBWY.Client.APIServices
@ -16,11 +17,13 @@ namespace BBWY.Client.APIServices
/// 今日业绩统计 /// 今日业绩统计
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public ApiResponse<ToDayOrderAchievementResponse> GetTodayAchievementStatistics() public ApiResponse<ToDayOrderAchievementResponse> GetTodayAchievementStatistics(DateTime startTime, DateTime endTime)
{ {
return SendRequest<ToDayOrderAchievementResponse>(globalContext.BBYWApiHost, "Api/Statistics/GetTodayAchievementStatistics", new return SendRequest<ToDayOrderAchievementResponse>(globalContext.BBYWApiHost, "Api/Statistics/GetOrderAchievementStatistics", new
{ {
ShopId = globalContext.User.Shop.ShopId globalContext.User.Shop.ShopId,
startTime,
endTime
}, },
null, HttpMethod.Post); null, HttpMethod.Post);
} }

10
BBWY.Client/ViewModels/Order/OrderListViewModel.cs

@ -108,7 +108,7 @@ namespace BBWY.Client.ViewModels
{ {
PageIndex = 1; PageIndex = 1;
Task.Factory.StartNew(() => LoadOrder(1)); Task.Factory.StartNew(() => LoadOrder(1));
Task.Factory.StartNew(LoadTodayAchievement); Task.Factory.StartNew(() => LoadTodayAchievement(StartDate, EndDate));
}); });
CopyTextCommand = new RelayCommand<string>(s => Clipboard.SetText(s)); CopyTextCommand = new RelayCommand<string>(s => Clipboard.SetText(s));
CopyOrderWaybillCommand = new RelayCommand<Order>(o => Clipboard.SetText(o.WaybillNo)); CopyOrderWaybillCommand = new RelayCommand<Order>(o => Clipboard.SetText(o.WaybillNo));
@ -118,12 +118,12 @@ namespace BBWY.Client.ViewModels
StartDate = DateTime.Now.Date.AddDays(d * -1); StartDate = DateTime.Now.Date.AddDays(d * -1);
PageIndex = 1; PageIndex = 1;
Task.Factory.StartNew(() => LoadOrder(1)); Task.Factory.StartNew(() => LoadOrder(1));
Task.Factory.StartNew(LoadTodayAchievement); Task.Factory.StartNew(() => LoadTodayAchievement(StartDate, EndDate));
}); });
OrderPageIndexChangedCommand = new RelayCommand<PageArgs>(p => OrderPageIndexChangedCommand = new RelayCommand<PageArgs>(p =>
{ {
Task.Factory.StartNew(() => LoadOrder(p.PageIndex)); Task.Factory.StartNew(() => LoadOrder(p.PageIndex));
Task.Factory.StartNew(LoadTodayAchievement); Task.Factory.StartNew(() => LoadTodayAchievement(StartDate, EndDate));
}); });
DecodeConsigneeCommand = new RelayCommand<Order>(DecodeConsignee); DecodeConsigneeCommand = new RelayCommand<Order>(DecodeConsignee);
ChooseStorageTypeCommand = new RelayCommand<object>(ChooseStorageType); ChooseStorageTypeCommand = new RelayCommand<object>(ChooseStorageType);
@ -187,9 +187,9 @@ namespace BBWY.Client.ViewModels
IsLoading = false; IsLoading = false;
} }
private void LoadTodayAchievement() private void LoadTodayAchievement(DateTime startTime, DateTime endTime)
{ {
var response = statisticsService.GetTodayAchievementStatistics(); var response = statisticsService.GetTodayAchievementStatistics(startTime, endTime);
if (!response.Success) if (!response.Success)
return; return;
_ = response.Data.Map(ToDayOrderAchievement); _ = response.Data.Map(ToDayOrderAchievement);

4
BBWY.Client/Views/Order/OrderList.xaml

@ -154,9 +154,9 @@
<RowDefinition Height="0.5*"/> <RowDefinition Height="0.5*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<TextBlock Style="{StaticResource middleTextBlock}" FontSize="25" Foreground="#EC808D" Grid.RowSpan="2"> <TextBlock Style="{StaticResource middleTextBlock}" FontSize="25" Foreground="#EC808D" Grid.RowSpan="2">
<Run Text="今日"/>
<LineBreak/>
<Run Text="业绩"/> <Run Text="业绩"/>
<LineBreak/>
<Run Text="统计"/>
</TextBlock> </TextBlock>
<TextBlock Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left"> <TextBlock Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Left">

4
BBWY.Server.API/Controllers/StatisticsController.cs

@ -21,9 +21,9 @@ namespace BBWY.Server.API.Controllers
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public ToDayOrderAchievementResponse GetTodayAchievementStatistics(ToDayOrderAchievementRequest request) public OrderAchievementResponse GetOrderAchievementStatistics([FromBody] OrderAchievementRequest request)
{ {
return statisticsBusiness.GetTodayAchievementStatistics(request); return statisticsBusiness.GetOrderAchievementStatistics(request);
} }
} }
} }

9
BBWY.Server.Business/Statistics/StatisticsBusiness.cs

@ -17,15 +17,16 @@ namespace BBWY.Server.Business
invalidOrderStateList = new List<Enums.OrderState>() { Enums.OrderState., Enums.OrderState. }; invalidOrderStateList = new List<Enums.OrderState>() { Enums.OrderState., Enums.OrderState. };
} }
public ToDayOrderAchievementResponse GetTodayAchievementStatistics(ToDayOrderAchievementRequest request) public OrderAchievementResponse GetOrderAchievementStatistics(OrderAchievementRequest request)
{ {
var today = DateTime.Now.Date; request.EndTime = request.EndTime.Date.AddDays(1);
var response = fsql.Select<Order, OrderCost>().LeftJoin((o, oc) => o.Id == oc.OrderId) var response = fsql.Select<Order, OrderCost>().LeftJoin((o, oc) => o.Id == oc.OrderId)
.Where((o, oc) => o.ShopId == request.ShopId && .Where((o, oc) => o.ShopId == request.ShopId &&
o.OrderState != null && o.OrderState != null &&
!invalidOrderStateList.Contains(o.OrderState.Value) && !invalidOrderStateList.Contains(o.OrderState.Value) &&
o.StartTime >= today) o.StartTime >= request.StartTime &&
.ToAggregate((o, oc) => new ToDayOrderAchievementResponse() o.StartTime < request.EndTime)
.ToAggregate((o, oc) => new OrderAchievementResponse()
{ {
OrderCount = o.Count(), OrderCount = o.Count(),
Profit = oc.Sum(oc.Key.Profit), Profit = oc.Sum(oc.Key.Profit),

10
BBWY.Server.Model/Dto/Request/Statistics/ToDayOrderAchievementRequest.cs

@ -1,7 +1,13 @@
namespace BBWY.Server.Model.Dto using System;
namespace BBWY.Server.Model.Dto
{ {
public class ToDayOrderAchievementRequest public class OrderAchievementRequest
{ {
public long ShopId { get; set; } public long ShopId { get; set; }
public DateTime StartTime { get; set; }
public DateTime EndTime { get; set; }
} }
} }

2
BBWY.Server.Model/Dto/Response/Statistics/ToDayOrderAchievementResponse.cs → BBWY.Server.Model/Dto/Response/Statistics/OrderAchievementResponse.cs

@ -2,7 +2,7 @@
namespace BBWY.Server.Model.Dto namespace BBWY.Server.Model.Dto
{ {
public class ToDayOrderAchievementResponse public class OrderAchievementResponse
{ {
/// <summary> /// <summary>
Loading…
Cancel
Save