diff --git a/BBWY.Client/APIServices/QiKu/PackTaskService.cs b/BBWY.Client/APIServices/QiKu/PackTaskService.cs index 3578f34d..cb9813b6 100644 --- a/BBWY.Client/APIServices/QiKu/PackTaskService.cs +++ b/BBWY.Client/APIServices/QiKu/PackTaskService.cs @@ -298,6 +298,24 @@ namespace BBWY.Client.APIServices }, null, HttpMethod.Post); } + + /// + /// 查询超时任务列表 + /// + /// + /// + public ApiResponse SearchOverTimeTaskList(string ShopId, DateTime? StartTime, DateTime? EndTime, OverTimeTaskType? TaskState, int? PageIndex, int? PageSize) + { + return SendRequest(globalContext.QKApiHost, $"api/PackTask/SearchOverTimeTaskList", new { + ShopId, + StartTime, + EndTime, + TaskState, + PageIndex, + PageSize + }, null, HttpMethod.Post); + } + } public class CompeteSealBox diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchOverTimeTaskResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchOverTimeTaskResponse.cs new file mode 100644 index 00000000..2fe207a3 --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchOverTimeTaskResponse.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + public class SearchOverTimeTaskResponse + { + public int TotalCount { get; set; } + public IList OverTimeTaskResponses { get; set; } + } + + public class OverTimeTaskResponse:NotifyObject + { + /// + /// 超时日期 + /// + public DateTime OverTimeDate { get; set; } + /// + /// 任务信息(任务id 或者封箱id) + /// + public string TaskMessage { get; set; } + + /// + /// 任务类型 + /// + public TaskState TaskState { get; set; } + /// + /// 任务人 + /// + public string TaskUserName { get; set; } + /// + /// 超时时间 + /// + public string OverTime { get; set; } + + /// + /// 备注 + /// + public string RemarkMessage { get; set; } + } +} diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index 935583b5..c637b9bb 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -244,8 +244,8 @@ 待落仓 = 8, 待完结 = 9, 商家自取 = 10, - 待转运=11 - + 待转运=11, + 已超时=12 } @@ -525,4 +525,19 @@ 已配置=0, 待配置=1 } + + + /// + /// 超时任务类型 + /// + public enum OverTimeTaskType + { + + 待验收 = 2,//已到货 + 待打包 = 3, + 待封箱 = 4, + 待落仓 = 8, + 待转运 = 11, + } + } diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index efc3d6c4..0464db71 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -36,6 +36,37 @@ namespace BBWY.Client.ViewModels.PackTask //public RelayCommand SelectCmd => new RelayCommand(str => Growl.Info(str)); #region 属性绑定 + /// + /// 查询时间段 + /// + private DateTime startTime; + public DateTime StartTime { get => startTime; set { Set(ref startTime, value); } } + + private DateTime endTime; + public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } } + private OverTimeTaskType overTimeTaskState; + /// + /// 任务类型(超时) + /// + public OverTimeTaskType OverTimeTaskState { get => overTimeTaskState; set { Set(ref overTimeTaskState, value); } } + + + public IList OverTimeTaskResponses { get; set; } + + private ObservableCollection overTimeTaskList; + /// + /// 超时任务列表 + /// + public ObservableCollection OverTimeTaskList { get => overTimeTaskList; set { Set(ref overTimeTaskList, value); } } + + private ObservableCollection overTimeTaskTypeList = new ObservableCollection { + OverTimeTaskType.待验收, OverTimeTaskType.待打包, OverTimeTaskType.待封箱, OverTimeTaskType.待落仓, OverTimeTaskType.待转运 + }; + /// + ///超时任务类型 + /// + public ObservableCollection OverTimeTaskTypeList { get => overTimeTaskTypeList; set { Set(ref overTimeTaskTypeList, value); } } + private string waitTransportJDWareCount; public string WaitTransportJDWareCount { get => waitTransportJDWareCount; set { Set(ref waitTransportJDWareCount, value); } } @@ -107,14 +138,7 @@ namespace BBWY.Client.ViewModels.PackTask /// public ObservableCollection PackTaskList { get => packTaskList; set { Set(ref packTaskList, value); } } - ///// - ///// 查询时间段 - ///// - //private DateTime startTime; - //public DateTime StartTime { get => startTime; set { Set(ref startTime, value); } } - //private DateTime endTime; - //public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } } private string searchShopName; public string SearchShopName @@ -294,8 +318,8 @@ namespace BBWY.Client.ViewModels.PackTask OpenSkuDetailCommand = new RelayCommand(OpenSkuDetail); - //StartTime = DateTime.Now.Date; - //EndTime = DateTime.Now.Date; + StartTime = DateTime.Now.Date; + EndTime = DateTime.Now.Date; IsLoading = false; SetTaskStatusCommand = new RelayCommand(SetTaskStatus); @@ -733,8 +757,34 @@ namespace BBWY.Client.ViewModels.PackTask } IsLoading = true; + if (TaskState == Models.TaskState.已超时) + { + Task.Factory.StartNew(() => + { + OverTimeTaskList = new ObservableCollection< OverTimeTaskResponse>(); + var datas = packTaskService.SearchOverTimeTaskList(null, StartTime,EndTime,OverTimeTaskState,PageIndex,PageSize); + if (datas != null && datas.Data != null && datas.Success) + { + var dataModel = datas.Data; + OrderCount = dataModel.TotalCount; + foreach (var item in dataModel.OverTimeTaskResponses) + { + App.Current.Dispatcher.BeginInvoke(new Action(() => + { + OverTimeTaskList.Add(item); + })); - if (TaskState == Models.TaskState.待转运) + } + } + else + { + if (datas != null) System.Windows.MessageBox.Show(datas.Msg); + } + IsLoadCount(); + IsLoading = false; + }); + } + else if (TaskState == Models.TaskState.待转运) { Task.Factory.StartNew(() => { @@ -978,7 +1028,7 @@ namespace BBWY.Client.ViewModels.PackTask PackTaskList = new ObservableCollection();//初始化数据 - var datas = packTaskService.GetWareHouseList(SearchWayBillNo, SearchExpressName, IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, this.TaskState, SearchShopName, + var datas = packTaskService.GetWareHouseList(SearchWayBillNo, SearchExpressName, IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, this.TaskState, SearchShopName, PageIndex, PageSize); if (datas != null && datas.Data != null && datas.Success) { @@ -1020,18 +1070,19 @@ namespace BBWY.Client.ViewModels.PackTask //ExpressOrderList = item.ExpressOrderList, }; - if (!item.OrderId.IsNullOrEmpty()&&!item.SkuId.IsNullOrEmpty()) + if (!item.OrderId.IsNullOrEmpty() && !item.SkuId.IsNullOrEmpty()) { - var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId,item.SkuId); - if (expressData!=null&& expressData.Success&&expressData.Data!=null) + var expressData = packTaskService.GetPurchaseExpressOrderList(item.OrderId, item.SkuId); + if (expressData != null && expressData.Success && expressData.Data != null) { - expressData.Data.ForEach(e => { - e.ExpressState=ExpressOrderHelper.GetExpressStateName(e.ExpressState); - + expressData.Data.ForEach(e => + { + e.ExpressState = ExpressOrderHelper.GetExpressStateName(e.ExpressState); + }); - data.ExpressOrderList=expressData.Data; + data.ExpressOrderList = expressData.Data; @@ -1174,6 +1225,10 @@ namespace BBWY.Client.ViewModels.PackTask IsLoadCount(); IsLoading = false; }); + + + + } private void IsLoadWaitTransportCount() @@ -1183,8 +1238,8 @@ namespace BBWY.Client.ViewModels.PackTask { WaitTransportCloudWareCount = res.Data.WaitTransportCloudWareCount; WaitTransportJuShuiTanCount = res.Data.WaitTransportJuShuiTanCount; - WaitTransportStoreWareCount= res.Data.WaitTransportStoreWareCount; - WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount; + WaitTransportStoreWareCount = res.Data.WaitTransportStoreWareCount; + WaitTransportJDWareCount = res.Data.WaitTransportJDWareCount; } } diff --git a/BBWY.Client/Views/PackTask/WareHouseList.xaml b/BBWY.Client/Views/PackTask/WareHouseList.xaml index 9f6a5fde..e8e915a7 100644 --- a/BBWY.Client/Views/PackTask/WareHouseList.xaml +++ b/BBWY.Client/Views/PackTask/WareHouseList.xaml @@ -11,6 +11,7 @@ xmlns:ctr="clr-namespace:BBWY.Client.Converters" xmlns:cmodel="clr-namespace:BBWY.Client.Models" xmlns:b="http://schemas.microsoft.com/xaml/behaviors" + xmlns:taskovertime="clr-namespace:BBWY.Client.Views.TaskOverTime" xmlns:sys="clr-namespace:System;assembly=mscorlib" DataContext="{Binding WareHouseList,Source={StaticResource Locator}}" mc:Ignorable="d" Background="White" @@ -187,7 +188,9 @@ - + @@ -202,12 +205,12 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.xaml.cs b/BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.xaml.cs new file mode 100644 index 00000000..49f4034b --- /dev/null +++ b/BBWY.Client/Views/TaskOverTime/WareTaskOverTimeControl.xaml.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace BBWY.Client.Views.TaskOverTime +{ + /// + /// WareTaskOverTimeControl.xaml 的交互逻辑 + /// + public partial class WareTaskOverTimeControl : UserControl + { + public WareTaskOverTimeControl() + { + InitializeComponent(); + } + } +}