From ac2fdad25b0af8bc81ab1f1dcfdcccaca8d8cf63 Mon Sep 17 00:00:00 2001 From: "506583276@qq.com" <506583276@qq.com> Date: Thu, 27 Jul 2023 18:06:08 +0800 Subject: [PATCH 01/41] 1 --- .../APIServices/QiKu/PackTaskService.cs | 66 +++- .../Response/PackTask/ShopTotalV2Response.cs | 102 ++++++ BBWY.Client/Models/Enums.cs | 2 +- BBWY.Client/Models/PackTask/ShopTotal.cs | 119 +++--- BBWY.Client/ViewModels/MainViewModel.cs | 5 +- .../PackTask/PackTaskTotalViewModel.cs | 40 ++- .../ViewModels/PackTask/TaskListViewModel.cs | 4 +- .../PackTask/WareHouseListViewModel.cs | 10 +- .../ShopPackTaskTotalViewModel.cs | 200 +++++++++++ BBWY.Client/ViewModels/ViewModelLocator.cs | 11 + .../BatchPurchase/BatchPublishTaskWindow.xaml | 4 +- .../Views/PackTask/FeesExcelControl.xaml | 4 +- .../Views/PackTask/FeesExcelControl.xaml.cs | 8 +- .../Views/PackTask/FeesExcelV2Control.xaml | 2 +- .../Views/PackTask/FeesExcelV2Control.xaml.cs | 96 ++--- .../Views/PackTask/PackDetailWindow.xaml | 8 +- BBWY.Client/Views/PackTask/PackTaskTotal.xaml | 211 +++++------ .../Views/PackTask/PublishTaskWindow.xaml | 4 +- .../PackTask/ShopWaitCompletedControl.xaml | 4 +- .../PackTask/ShopWaitPackageControl.xaml | 10 +- BBWY.Client/Views/PackTask/TaskList.xaml | 8 +- .../Views/PackTask/TaskListControl.xaml | 4 +- .../PackTask/UpdatePurchaseTaskWindow.xaml | 6 +- .../Views/PackTask/WaitCompletedControl.xaml | 4 +- .../Views/PackTask/WaitPackageControl.xaml | 14 +- BBWY.Client/Views/PackTask/WareHouseList.xaml | 8 +- .../Views/PackTask/WareHouseListControl.xaml | 10 +- .../Views/QualityTask/QualityWindow.xaml | 6 +- .../QualityTask/ShopWaitQualityControl.xaml | 6 +- .../Views/QualityTask/WaitQualityControl.xaml | 4 +- .../TotalPackTask/ShopPackTaskTotal.xaml | 339 ++++++++++++++++++ .../TotalPackTask/ShopPackTaskTotal.xaml.cs | 26 ++ .../WareWaitTransportControl.xaml | 4 +- 33 files changed, 994 insertions(+), 355 deletions(-) create mode 100644 BBWY.Client/Models/APIModel/Response/PackTask/ShopTotalV2Response.cs create mode 100644 BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs create mode 100644 BBWY.Client/Views/TotalPackTask/ShopPackTaskTotal.xaml create mode 100644 BBWY.Client/Views/TotalPackTask/ShopPackTaskTotal.xaml.cs diff --git a/BBWY.Client/APIServices/QiKu/PackTaskService.cs b/BBWY.Client/APIServices/QiKu/PackTaskService.cs index 8cf6aba5..832638f2 100644 --- a/BBWY.Client/APIServices/QiKu/PackTaskService.cs +++ b/BBWY.Client/APIServices/QiKu/PackTaskService.cs @@ -36,7 +36,7 @@ namespace BBWY.Client.APIServices ) { - + return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { orderSn, @@ -182,29 +182,59 @@ namespace BBWY.Client.APIServices } - public ApiResponse ShopTotal(string skuId = null, string taskId = null, - DateTime? startTime = null, - DateTime? endTime = null, - string ShopName = null, - string DepartmentName = null, + //public ApiResponse ShopTotal(string skuId = null, string taskId = null, + // DateTime? startTime = null, + // DateTime? endTime = null, + // string ShopName = null, + // string DepartmentName = null, + // int pageIndex = 1, + // int pageSize = 10 + // ) + //{ + // return SendRequest(globalContext.QKApiHost, "api/PackTask/ShopTotal", new + // { + + // SkuId = skuId, + // TaskId = taskId, + // StartTime = startTime, + // EndTime = endTime, + // DepartmentName, + // ShopName, + // PageIndex = pageIndex, + // PageSize = pageSize + + // }, null, HttpMethod.Post); + //} + + + public ApiResponse ShopTotalV2(string skuId, + string taskId, + string shopId, + DateTime? startTime, + DateTime? endTime, + string ShopName, + string DepartmentName, int pageIndex = 1, int pageSize = 10 ) { - return SendRequest(globalContext.QKApiHost, "api/PackTask/ShopTotal", new + return SendRequest(globalContext.QKApiHost, "api/PackTask/ShopTotalV2", new { - - SkuId = skuId, - TaskId = taskId, - StartTime = startTime, - EndTime = endTime, + shopId, + skuId, + taskId, + startTime, + endTime, DepartmentName, ShopName, - PageIndex = pageIndex, - PageSize = pageSize + pageIndex, + pageSize }, null, HttpMethod.Post); } + + + /// /// 批量结算 /// @@ -286,7 +316,7 @@ namespace BBWY.Client.APIServices /// public ApiResponse ManualSign(string wayBillNo) { - return SendRequest< object>("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/ManualSign", new + return SendRequest("http://bbwyb.qiyue666.com", $"Api​/PurchaseOrder​/ManualSign", new { wayBillNo }, null, HttpMethod.Post); @@ -299,7 +329,7 @@ namespace BBWY.Client.APIServices /// public ApiResponse BatchManualSign(string[] wayBillNoList) { - return SendRequest("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchmanualsign",new { wayBillNoList }, null, HttpMethod.Post); + return SendRequest("http://bbwyb.qiyue666.com", $"api/purchaseorder/batchmanualsign", new { wayBillNoList }, null, HttpMethod.Post); } /// @@ -343,9 +373,11 @@ namespace BBWY.Client.APIServices public ApiResponse SendToSetSkuConfigure(long taskId) { - return SendRequest(globalContext.QKApiHost, $"api/PackTask/SendToSetSkuConfigure?taskid={taskId}",null, null, HttpMethod.Post); + return SendRequest(globalContext.QKApiHost, $"api/PackTask/SendToSetSkuConfigure?taskid={taskId}", null, null, HttpMethod.Post); } + + } public class CompeteSealBox diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/ShopTotalV2Response.cs b/BBWY.Client/Models/APIModel/Response/PackTask/ShopTotalV2Response.cs new file mode 100644 index 00000000..d577aa8c --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PackTask/ShopTotalV2Response.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel.Response.PackTask +{ + public class ShopTotalV2Response + { + /// + ///总量 + /// + public int TotalCount { get; set; } + /// + /// + /// + public List ShopTotals { get; set; } + } + public class ShopTotalV2 + { + /// + /// 任务id + /// + public long TaskId { get; set; } + /// + /// 完成打包时间日期 + /// + public DateTime? CreateTime { get; set; } + /// + /// 是否结清 + /// + public Settle IsSettle { get; set; } + /// + /// 部门 + /// + public string DepartmentName { get; set; } + /// + /// 店铺 + /// + public string ShopName { get; set; } + /// + /// 对接人 + /// + public string AcceptUserName { get; set; } + /// + /// sku标题 + /// + public string SkuName { get; set; } + /// + /// sku数量(任务数量) + /// + public int SkuCount { get; set; } + /// + /// 耗材费 + /// + public decimal ConsumableFees { get; set; } + /// + /// 到货数量 + /// + public int? ArrivalQuantity { get; set; } + /// + /// 打包费(原价) + /// + public decimal PackFees { get; set; } + /// + /// 折扣系数 + /// + public decimal? DiscountFactor { get; set; } + /// + /// 打包费用折扣价 + /// + public decimal? PackDisCountFees { get; set; } + ///// + ///// 折扣类型 + ///// + //public FeesMode? FeesMode { get; set; } + /// + /// 总费用 + /// + public decimal? AllFees { get; set; } + /// + /// 工序类型名称 + /// + public string ProcessTypeName { get; set; } + /// + /// 工序套餐名称 + /// + public string ProcessComboName { get; set; } + /// + /// 工序套餐单价 + /// + public decimal ProcessComboPrice { get; set; } + /// + /// 工序套餐任务量 + /// + public int ProcessComboTaskCount { get; set; } + + /// + /// 耗材服务数据 + /// + public List ConsumableList { get; set; } + } +} diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index 1398e4e4..75bb1287 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -225,7 +225,7 @@ 未到货 = 0, 部分到货 = 1, 待验收 = 2,//已到货 - 待打包 = 3, + 待包装 = 3, 待封箱 = 4, 待出库 = 5, 已完成 = 6, diff --git a/BBWY.Client/Models/PackTask/ShopTotal.cs b/BBWY.Client/Models/PackTask/ShopTotal.cs index 754c454b..40dfcb09 100644 --- a/BBWY.Client/Models/PackTask/ShopTotal.cs +++ b/BBWY.Client/Models/PackTask/ShopTotal.cs @@ -1,4 +1,5 @@ -using BBWY.Client.ViewModels; +using BBWY.Client.Models.APIModel.Response.PackTask; +using BBWY.Client.ViewModels; using System; using System.Collections.Generic; using System.Text; @@ -7,23 +8,29 @@ namespace BBWY.Client.Models.PackTask { public class ShopTotal :NotifyObject { + + private FeesItemResponse feesItemResponse; + + public FeesItemResponse FeesItemResponse { get => feesItemResponse; set { Set(ref feesItemResponse, value); } } + + private long id; public long Id { get => id; set { Set(ref id, value); } } private bool taskChecked; public bool TaskChecked { get => taskChecked; set { Set(ref taskChecked, value); } } - - + /// + /// 任务id + /// public long TaskId { get; set; } /// - /// 需求方创建日期 + /// 完成打包时间日期 /// - public DateTime CreateTime { get; set; } + public DateTime? CreateTime { get; set; } /// /// 是否结清 /// - // public Settle IsSettle { get; set; } /// /// 部门 @@ -38,101 +45,67 @@ namespace BBWY.Client.Models.PackTask /// public string AcceptUserName { get; set; } /// - /// sku + /// sku标题 /// public string SkuName { get; set; } /// /// sku数量(任务数量) /// public int SkuCount { get; set; } - - public decimal IncreaseFees { get; set; } - - public decimal PackFees { get; set; } - - public decimal ConsumableFees { get; set; } - - // public decimal Price { get; set; } - - //public decimal Discount { get; set; } - - public decimal DiscountPrice { get; set; } - /// - /// 注意事项(对接备注) - /// - public string MarkMessage { get; set; } - - /// - /// 打包单价 - /// - public decimal? PackSingleFees { get; set; } - /// - /// 打包费用 + /// 耗材费 /// - //public decimal? PackAllFees { get; set; } - - /// - /// 箱子费用 - /// - public decimal? BoxConsumableFees { get; set; } - /// - /// 气泡纸耗材费 - /// - public decimal? AirConsumableFees { get; set; } + public decimal ConsumableFees { get; set; } /// - /// 胶带耗材费 + /// 到货数量 /// - public decimal? TapeConsumableFees { get; set; } + public int? ArrivalQuantity { get; set; } /// - /// 其他耗材费 + /// 打包费(原价) /// - public decimal? OtherConsumableFees { get; set; } - - - + public decimal PackFees { get; set; } /// /// 折扣系数 /// public decimal? DiscountFactor { get; set; } /// - /// 到货数量 + /// 打包费用折扣价 /// - public int? ArrivalQuantity { get; set; } - + public decimal? PackDisCountFees { get; set; } + ///// + ///// 折扣类型 + ///// + //public FeesMode? FeesMode { get; set; } /// - /// 基础价格(基础包装费、仅贴码) + /// 总费用 /// - public decimal? BasicPrice { get; set; } + public decimal? AllFees { get; set; } /// - /// 增量价格 + /// 工序类型名称 /// - public decimal? IncrementPartPrice { get; set; } + public string ProcessTypeName { get; set; } /// - /// 增量工序价 + /// 工序套餐名称 /// - public decimal? IncrementProcessPrice { get; set; } - + public string ProcessComboName { get; set; } /// - /// 折扣类型 + /// 工序套餐单价 /// - public FeesMode? FeesMode { get; set; } - + public decimal ProcessComboPrice { get; set; } /// - /// 总费用 + /// 工序套餐任务量 /// - public decimal? AllFees { get; set; } + public int ProcessComboTaskCount { get; set; } /// - /// 打包费用折扣价 + /// 耗材服务数据 /// - public decimal? PackDisCountFees { get; set; } - + public List ConsumableList { get; set; } + // string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,打包原价,打包折扣系数,打包折扣价,总收费"; public override string ToString() { - - return $"{TaskId},{CreateTime.ToString("MM-dd")},{IsSettle},{DepartmentName},{ShopName}" + - $",{SkuCount},{BoxConsumableFees},{AirConsumableFees},{TapeConsumableFees},{OtherConsumableFees},{ConsumableFees},{ArrivalQuantity},{BasicPrice},{IncrementPartPrice},{IncrementProcessPrice},{PackSingleFees},{PackFees},{FeesMode},{DiscountFactor},{PackDisCountFees},{IncreaseFees},{AllFees}"; + return $"{TaskId},{CreateTime?.ToString("MM-dd")},{IsSettle},{DepartmentName},{ShopName}" + + $",{SkuCount},{ArrivalQuantity},{ConsumableFees},{ProcessTypeName},{ProcessComboName},{ProcessComboPrice},{PackFees},{DiscountFactor},{PackDisCountFees},{AllFees}"; } } @@ -144,5 +117,15 @@ namespace BBWY.Client.Models.PackTask public int TotalCount { get; set; } public ShopTotal[] ShopTotals { get; set; } + + /// + /// 总打包费用 + /// + public decimal TotalPackDiscountFees { get; set; } + + /// + /// 总耗材费 + /// + public decimal TotalConsumableFees { get; set; } } } diff --git a/BBWY.Client/ViewModels/MainViewModel.cs b/BBWY.Client/ViewModels/MainViewModel.cs index bb5c3dcc..30820a6f 100644 --- a/BBWY.Client/ViewModels/MainViewModel.cs +++ b/BBWY.Client/ViewModels/MainViewModel.cs @@ -133,7 +133,7 @@ namespace BBWY.Client.ViewModels Name = "齐库仓库端", ChildList = new List() { - new MenuModel(){ Name="打包任务",Url="/Views/PackTask/WareHouseList.xaml" }, + new MenuModel(){ Name="包装任务",Url="/Views/PackTask/WareHouseList.xaml" }, new MenuModel(){ Name="耗材管理",Url="/Views/PackTask/Consumable.xaml" }, new MenuModel(){ Name="账单管理",Url="/Views/PackTask/PackTaskTotal.xaml" }, new MenuModel(){ Name="收益账单",Url="/Views/TotalPackTask/PackUserSalaryList.xaml" } @@ -196,6 +196,7 @@ namespace BBWY.Client.ViewModels ChildList = new List() { new MenuModel(){ Name="发布任务",Url="/Views/PackTask/TaskList.xaml" }, + new MenuModel(){ Name="包装账单",Url="/Views/TotalPackTask/ShopPackTaskTotal.xaml" }, } @@ -213,7 +214,7 @@ namespace BBWY.Client.ViewModels Name = "齐库仓库端", ChildList = new List() { - new MenuModel(){ Name="打包任务",Url="/Views/PackTask/WareHouseList.xaml" }, + new MenuModel(){ Name="包装任务",Url="/Views/PackTask/WareHouseList.xaml" }, new MenuModel(){ Name="耗材管理",Url="/Views/PackTask/Consumable.xaml" }, new MenuModel(){ Name="账单管理",Url="/Views/PackTask/PackTaskTotal.xaml" }, new MenuModel(){ Name="收益账单",Url="/Views/TotalPackTask/PackUserSalaryList.xaml" } diff --git a/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs b/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs index e6911d84..2ced75b5 100644 --- a/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/PackTaskTotalViewModel.cs @@ -18,6 +18,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Input; +using WebSocketSharp; namespace BBWY.Client.ViewModels.PackTask { @@ -56,6 +57,18 @@ namespace BBWY.Client.ViewModels.PackTask public int PageSize { get => pageSize; set { Set(ref pageSize, value); } } public int OrderCount { get => orderCount; set { Set(ref orderCount, value); } } + + private decimal totalPackDiscountFees; + /// + /// 总打包费用 + /// + public decimal TotalPackDiscountFees { get => totalPackDiscountFees; set { Set(ref totalPackDiscountFees, value); } } + + private decimal totalConsumableFees; + /// + /// 总耗材费 + /// + public decimal TotalConsumableFees { get => totalConsumableFees; set { Set(ref totalConsumableFees, value); } } public ICommand SetSearchDateCommand { get; set; } @@ -107,7 +120,7 @@ namespace BBWY.Client.ViewModels.PackTask SearchTaskTotal(); } - + private void Export() { @@ -125,12 +138,12 @@ namespace BBWY.Client.ViewModels.PackTask Task.Factory.StartNew(() => { IsLoading = true; - var res = packTaskService.ShopTotal(SearchSkuId, SearchTaskId, StartDate, EndDate, SearchShopName, + var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName, SearchDepartment, 0, 0);//获取全部数据 if (res.Success) { //string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注"; - string title = "任务ID,日期,是否结清,所属部门,所属店铺,打包数量,箱子,气泡纸,胶带,其他,耗材总价,收货数量,基础价格,增量配件价,增量工序价格,打包单价,打包原价,收费方式,打包折扣系数,打包折扣价,增值费用,总收费"; + string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,包装原价,包装折扣系数,包装折扣价,总收费"; var excelList = res.Data.ShopTotals.Select(x => x.ToString()).ToList(); excelList.Insert(0, title); System.IO.File.WriteAllLines(fileName, excelList, Encoding.UTF8); @@ -196,18 +209,35 @@ namespace BBWY.Client.ViewModels.PackTask private void SearchTaskTotal() { - + PackTaskTotalList = new ObservableCollection(); Task.Factory.StartNew(() => { IsLoading = true; - var res = packTaskService.ShopTotal(SearchSkuId, SearchTaskId, StartDate, EndDate, SearchShopName, + var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, null, StartDate, EndDate, SearchShopName, SearchDepartment, PageIndex, PageSize); if (res != null && res.Success) { OrderCount = res.Data.TotalCount; + TotalConsumableFees = res.Data.TotalConsumableFees; + TotalPackDiscountFees = res.Data.TotalPackDiscountFees; foreach (var shopTotal in res.Data.ShopTotals) { + if (!shopTotal.ProcessComboName.IsNullOrEmpty()) + shopTotal.FeesItemResponse = new Models.APIModel.Response.PackTask.FeesItemResponse + { + AllFees = shopTotal.AllFees.Value, + PackFees=shopTotal.PackDisCountFees.Value, + TaskId = shopTotal.TaskId, + ProcessTypeName = shopTotal.ProcessTypeName, + ProcessComboName = shopTotal.ProcessComboName, + ConsumableFees =shopTotal.ConsumableFees, + ConsumableList = shopTotal.ConsumableList, + ProcessComboPrice = shopTotal.ProcessComboPrice, + ProcessComboTaskCount = shopTotal.ProcessComboTaskCount, + DiscountFoctor = shopTotal.DiscountFactor + }; + App.Current.Dispatcher.Invoke(() => { PackTaskTotalList.Add(shopTotal); diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index e6d58a6a..2ed12c94 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -687,9 +687,9 @@ namespace BBWY.Client.ViewModels.PackTask } //任务状态为待打包 - if (TaskState == Models.TaskState.待打包) + if (TaskState == Models.TaskState.待包装) { - var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待打包 && p.PackCompletionOverTime != null).ToList(); + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); if (packCompletedTasks.Count() > 0) { diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index 593d6493..2c0f8e2f 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -612,7 +612,7 @@ namespace BBWY.Client.ViewModels.PackTask case Models.TaskState.待排单: overTimeTaskType = Models.OverTimeTaskType.待排单; break; - case Models.TaskState.待打包: + case Models.TaskState.待包装: overTimeTaskType = Models.OverTimeTaskType.待打包; break; case Models.TaskState.待封箱: @@ -922,7 +922,7 @@ namespace BBWY.Client.ViewModels.PackTask { var model = (SealBoxModel)obj; - if (model.SealBoxSkus.Any(s => s.TaskState == Models.TaskState.待验收 || s.TaskState == Models.TaskState.待打包)) + if (model.SealBoxSkus.Any(s => s.TaskState == Models.TaskState.待验收 || s.TaskState == Models.TaskState.待包装)) { System.Windows.MessageBox.Show("无法封箱,存在未打包完成的任务"); return; @@ -1115,7 +1115,7 @@ namespace BBWY.Client.ViewModels.PackTask break; case Models.TaskState.待验收: break; - case Models.TaskState.待打包: + case Models.TaskState.待包装: var packModel = PackTaskList.SingleOrDefault(p => p.TaskId == taskId); if (packModel == null || packModel.FeesItemResponse == null || packModel.FeesItemResponse.DiscountAllFees == 0) @@ -1645,9 +1645,9 @@ namespace BBWY.Client.ViewModels.PackTask //任务状态为待验收 } - if (TaskState == Models.TaskState.待打包) + if (TaskState == Models.TaskState.待包装) { - var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待打包 && p.PackCompletionOverTime != null).ToList(); + var packCompletedTasks = PackTaskList.Where(p => p.TaskState == Models.TaskState.待包装 && p.PackCompletionOverTime != null).ToList(); if (packCompletedTasks.Count() > 0) { diff --git a/BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs b/BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs new file mode 100644 index 00000000..d7774617 --- /dev/null +++ b/BBWY.Client/ViewModels/TotalPackTask/ShopPackTaskTotalViewModel.cs @@ -0,0 +1,200 @@ +using BBWY.Client.APIServices; +using BBWY.Client.Models.PackTask; +using BBWY.Common.Models; +using BBWY.Controls; +using GalaSoft.MvvmLight.Command; +using Microsoft.Win32; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Input; +using System.Windows; +using System.Linq; +using AutoMapper.Internal; +using WebSocketSharp; + +namespace BBWY.Client.ViewModels.TotalPackTask +{ + + public class ShopPackTaskTotalViewModel : BaseVM, IDenpendency + { + private readonly PackTaskService packTaskService; + private bool isLoading; + private DateTime startDate; + private DateTime endDate; + private int pageIndex = 1; + private int pageSize = 15; + private int orderCount; + private string searchTaskId; + + private string searchSkuId; + private ObservableCollection packTaskTotalList; + + public ObservableCollection PackTaskTotalList { get => packTaskTotalList; set { Set(ref packTaskTotalList, value); } } + public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } } + + public string SearchTaskId { get => searchTaskId; set { Set(ref searchTaskId, value); } } + + public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } + + + public DateTime StartDate { get => startDate; set { Set(ref startDate, value); } } + + public DateTime EndDate { get => endDate; set { Set(ref endDate, value); } } + + public int PageIndex { get => pageIndex; set { Set(ref pageIndex, value); } } + + public int PageSize { get => pageSize; set { Set(ref pageSize, value); } } + + public int OrderCount { get => orderCount; set { Set(ref orderCount, value); } } + + private decimal totalPackDiscountFees; + /// + /// 总打包费用 + /// + public decimal TotalPackDiscountFees { get => totalPackDiscountFees; set { Set(ref totalPackDiscountFees, value); } } + + private decimal totalConsumableFees; + /// + /// 总耗材费 + /// + public decimal TotalConsumableFees { get => totalConsumableFees; set { Set(ref totalConsumableFees, value); } } + + + public ICommand SetSearchDateCommand { get; set; } + + public ICommand SearchTaskTotalCommand { get; set; } + + public ICommand ExportCommand { get; set; } + + public ICommand OrderPageIndexChangedCommand { get; set; } + + + + //public IList departmentList; + //ShopService shopService; + public ShopPackTaskTotalViewModel(PackTaskService packTaskService, GlobalContext globalContext) + { + this.packTaskService = packTaskService; + SearchTaskTotalCommand = new RelayCommand(() => + { + SearchTask(1); + }); + + StartDate = DateTime.Now; + EndDate = DateTime.Now; + + SetSearchDateCommand = new RelayCommand(d => + { + EndDate = d == 1 ? DateTime.Now.Date.AddDays(-1) : DateTime.Now; + StartDate = DateTime.Now.Date.AddDays(d * -1); + PageIndex = 1; + Task.Factory.StartNew(() => LoadOrder(1)); //点击日期查询订单 + }); + + OrderPageIndexChangedCommand = new RelayCommand(p => + { + LoadOrder(p.PageIndex); + }); + + ExportCommand = new RelayCommand(Export); + + SearchTaskTotal(); + this.globalContext = globalContext; + } + + + GlobalContext globalContext; + private void Export() + { + + SaveFileDialog save = new SaveFileDialog(); + save.Filter = "csv files(*.csv)|*.csv"; + var result = save.ShowDialog(); + if (result == null || !result.Value) + { + return; + } + + string fileName = save.FileName; + + Task.Factory.StartNew(() => + { + IsLoading = true; + var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null, + null, 0, 0);//获取全部数据 + if (res.Success) + { + //string title = "任务ID,日期,是否结清,部门,店铺,对接人,sku名称,sku数量,增值服务,打包服务,耗材服务,原价,促销折扣,结算价格,对接备注"; + string title = "任务ID,日期,是否结清,所属部门,所属店铺,包装数量,收货数量,耗材总价,工序类型,工序套餐,工序单价,包装原价,包装折扣系数,包装折扣价,总收费"; + var excelList = res.Data.ShopTotals.Select(x => x.ToString()).ToList(); + excelList.Insert(0, title); + System.IO.File.WriteAllLines(fileName, excelList, Encoding.UTF8); + } + IsLoading = false; + + }); + + } + + + + private void SearchTaskTotal() + { + + PackTaskTotalList = new ObservableCollection(); + Task.Factory.StartNew(() => + { + IsLoading = true; + var res = packTaskService.ShopTotalV2(SearchSkuId, SearchTaskId, globalContext.User.Shop.ShopId.ToString(), StartDate, EndDate, null, + null, PageIndex, PageSize); + if (res != null && res.Success) + { + OrderCount = res.Data.TotalCount; + TotalConsumableFees = res.Data.TotalConsumableFees; + TotalPackDiscountFees = res.Data.TotalPackDiscountFees; + foreach (var shopTotal in res.Data.ShopTotals) + { + if (!shopTotal.ProcessComboName.IsNullOrEmpty()) + shopTotal.FeesItemResponse = new Models.APIModel.Response.PackTask.FeesItemResponse + { + AllFees = shopTotal.AllFees.Value, + PackFees = shopTotal.PackDisCountFees.Value, + TaskId = shopTotal.TaskId, + ProcessTypeName = shopTotal.ProcessTypeName, + ProcessComboName = shopTotal.ProcessComboName, + ConsumableFees = shopTotal.ConsumableFees, + ConsumableList = shopTotal.ConsumableList, + ProcessComboPrice = shopTotal.ProcessComboPrice, + ProcessComboTaskCount = shopTotal.ProcessComboTaskCount, + DiscountFoctor = shopTotal.DiscountFactor + }; + + App.Current.Dispatcher.Invoke(() => + { + PackTaskTotalList.Add(shopTotal); + }); + } + + } + + IsLoading = false; + }); + + + } + + private void LoadOrder(int pageIndex) + { + SearchTask(pageIndex); + } + + private void SearchTask(int pageIndex) + { + PageIndex = pageIndex; + SearchTaskTotal(); + } + } +} diff --git a/BBWY.Client/ViewModels/ViewModelLocator.cs b/BBWY.Client/ViewModels/ViewModelLocator.cs index 15f647b0..73bd50ee 100644 --- a/BBWY.Client/ViewModels/ViewModelLocator.cs +++ b/BBWY.Client/ViewModels/ViewModelLocator.cs @@ -100,6 +100,17 @@ namespace BBWY.Client.ViewModels } } + public ShopPackTaskTotalViewModel ShopPackTaskTotal + { + get + { + using (var s = sp.CreateScope()) + { + return s.ServiceProvider.GetRequiredService(); + } + } + } + public ServiceOrderViewModel ServiceOrderList { get diff --git a/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml b/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml index 8a82b085..1c252c83 100644 --- a/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml +++ b/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml @@ -132,7 +132,7 @@ - + @@ -147,7 +147,7 @@ + WaterRemark="包装备注" Margin="400 64 0 0 " AcceptsReturn="True" TextWrapping="Wrap"> - + - + diff --git a/BBWY.Client/Views/PackTask/FeesExcelControl.xaml.cs b/BBWY.Client/Views/PackTask/FeesExcelControl.xaml.cs index b2dfb232..5e813fde 100644 --- a/BBWY.Client/Views/PackTask/FeesExcelControl.xaml.cs +++ b/BBWY.Client/Views/PackTask/FeesExcelControl.xaml.cs @@ -184,7 +184,7 @@ namespace BBWY.Client.Views.PackTask /// - /// index 从1开始 0+1 增值服务 和打包耗材 + /// index 从1开始 0+1 增值服务 和包装耗材 /// string columnData = @" @@ -330,9 +330,9 @@ namespace BBWY.Client.Views.PackTask string increateService = @" "; - string workProcess = "\r\n \r\n "; + string workProcess = "\r\n \r\n "; - string consumableService = "\r\n \r\n "; + string consumableService = "\r\n \r\n "; @@ -436,7 +436,7 @@ namespace BBWY.Client.Views.PackTask - if (basicProcessList.Count > 0)//打包服务 + if (basicProcessList.Count > 0)//包装服务 { rowIndex++; diff --git a/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml b/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml index 30084201..97de50cb 100644 --- a/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml +++ b/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml @@ -43,7 +43,7 @@ - + diff --git a/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs b/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs index 0318a478..753df95c 100644 --- a/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs +++ b/BBWY.Client/Views/PackTask/FeesExcelV2Control.xaml.cs @@ -25,6 +25,25 @@ namespace BBWY.Client.Views.PackTask { InitializeComponent(); } + public bool IsShopTotal + { + get + { + return (bool)GetValue(IsShopTotalProperty); + + } + set + { + SetValue(IsShopTotalProperty, value); + } + } + public static readonly DependencyProperty IsShopTotalProperty = + DependencyProperty.Register("IsShopTotal", typeof(bool), typeof(FeesExcelV2Control),new PropertyMetadata(false)); + //["IsShopTotal"] + + + + public FeesItemResponse FeesItem { get @@ -54,12 +73,9 @@ namespace BBWY.Client.Views.PackTask } - - - string xaml = @" - + [:Columns:] @@ -69,15 +85,9 @@ namespace BBWY.Client.Views.PackTask - - - - - - - + @@ -90,51 +100,6 @@ namespace BBWY.Client.Views.PackTask [:ListData:] "; - - - - - - - - string processComboStr1 = @" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "; - - - - string processComboStr = @" @@ -162,10 +127,6 @@ namespace BBWY.Client.Views.PackTask "; - - - - string discountFactorStr = @" @@ -188,10 +149,6 @@ namespace BBWY.Client.Views.PackTask "; - - - - string columnStr = ""; string workProcess = "\r\n \r\n "; @@ -329,10 +286,17 @@ namespace BBWY.Client.Views.PackTask //.Replace("[:DiscountFees:]", $"{discountFees.ToString(" 0.00")}"); - // + newGrid = newGrid.Replace(@"[:Visity:]", ""); - + if (IsShopTotal)//[:IsShopTotal:] + { + newGrid = newGrid.Replace(@"[:IsShopTotal:]", @"Width=""0"""); + } + else + { + newGrid = newGrid.Replace(@"[:IsShopTotal:]", ""); + } var grid = XamlReader.Parse(newGrid) as Grid; diff --git a/BBWY.Client/Views/PackTask/PackDetailWindow.xaml b/BBWY.Client/Views/PackTask/PackDetailWindow.xaml index 8e55cbcd..0ce797a9 100644 --- a/BBWY.Client/Views/PackTask/PackDetailWindow.xaml +++ b/BBWY.Client/Views/PackTask/PackDetailWindow.xaml @@ -83,7 +83,7 @@ - + @@ -319,7 +319,7 @@ - + @@ -343,7 +343,7 @@ - + @@ -599,7 +599,7 @@ - + diff --git a/BBWY.Client/Views/PackTask/PackTaskTotal.xaml b/BBWY.Client/Views/PackTask/PackTaskTotal.xaml index 4500eb96..0afef43e 100644 --- a/BBWY.Client/Views/PackTask/PackTaskTotal.xaml +++ b/BBWY.Client/Views/PackTask/PackTaskTotal.xaml @@ -13,14 +13,12 @@ d:DesignHeight="450" d:DesignWidth="2048" Title="OrderList"> - 0 1 2 6 14 29 - @@ -37,9 +35,10 @@ - + - + + @@ -47,7 +46,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +