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.Common.Http;
using BBWY.Common.Models;
using System;
using System.Net.Http;
namespace BBWY.Client.APIServices
@ -16,11 +17,13 @@ namespace BBWY.Client.APIServices
/// 今日业绩统计
/// </summary>
/// <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);
}

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

@ -108,7 +108,7 @@ namespace BBWY.Client.ViewModels
{
PageIndex = 1;
Task.Factory.StartNew(() => LoadOrder(1));
Task.Factory.StartNew(LoadTodayAchievement);
Task.Factory.StartNew(() => LoadTodayAchievement(StartDate, EndDate));
});
CopyTextCommand = new RelayCommand<string>(s => Clipboard.SetText(s));
CopyOrderWaybillCommand = new RelayCommand<Order>(o => Clipboard.SetText(o.WaybillNo));
@ -118,12 +118,12 @@ namespace BBWY.Client.ViewModels
StartDate = DateTime.Now.Date.AddDays(d * -1);
PageIndex = 1;
Task.Factory.StartNew(() => LoadOrder(1));
Task.Factory.StartNew(LoadTodayAchievement);
Task.Factory.StartNew(() => LoadTodayAchievement(StartDate, EndDate));
});
OrderPageIndexChangedCommand = new RelayCommand<PageArgs>(p =>
{
Task.Factory.StartNew(() => LoadOrder(p.PageIndex));
Task.Factory.StartNew(LoadTodayAchievement);
Task.Factory.StartNew(() => LoadTodayAchievement(StartDate, EndDate));
});
DecodeConsigneeCommand = new RelayCommand<Order>(DecodeConsignee);
ChooseStorageTypeCommand = new RelayCommand<object>(ChooseStorageType);
@ -187,9 +187,9 @@ namespace BBWY.Client.ViewModels
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)
return;
_ = response.Data.Map(ToDayOrderAchievement);

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

@ -154,9 +154,9 @@
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<TextBlock Style="{StaticResource middleTextBlock}" FontSize="25" Foreground="#EC808D" Grid.RowSpan="2">
<Run Text="今日"/>
<LineBreak/>
<Run Text="业绩"/>
<LineBreak/>
<Run Text="统计"/>
</TextBlock>
<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>
/// <returns></returns>
[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. };
}
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)
.Where((o, oc) => o.ShopId == request.ShopId &&
o.OrderState != null &&
!invalidOrderStateList.Contains(o.OrderState.Value) &&
o.StartTime >= today)
.ToAggregate((o, oc) => new ToDayOrderAchievementResponse()
o.StartTime >= request.StartTime &&
o.StartTime < request.EndTime)
.ToAggregate((o, oc) => new OrderAchievementResponse()
{
OrderCount = o.Count(),
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 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
{
public class ToDayOrderAchievementResponse
public class OrderAchievementResponse
{
/// <summary>
Loading…
Cancel
Save