diff --git a/BBWY.Client/APIServices/PackPurchaseTaskService.cs b/BBWY.Client/APIServices/PackPurchaseTaskService.cs index 4031fb82..dc395cb9 100644 --- a/BBWY.Client/APIServices/PackPurchaseTaskService.cs +++ b/BBWY.Client/APIServices/PackPurchaseTaskService.cs @@ -1,4 +1,5 @@ -using BBWY.Client.Models.APIModel; +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel; using BBWY.Client.Models.APIModel.Request; using BBWY.Client.Models.APIModel.Response.PackPurchaseTask; using BBWY.Client.Models.APIModel.Response.PackTask; @@ -103,5 +104,15 @@ namespace BBWY.Client.APIServices return SendRequest(globalContext.QKApiHost, $"api/PackPurchaseTask/CompeteQualityTask", competeQualityTask, null, HttpMethod.Post); } + + public ApiResponse SearchBarCode(string skuId) + { + + return SendRequest(globalContext.QKApiHost, $"api/Barcode/SearchBarCodeBySkuId?skuId={skuId}", null, null, HttpMethod.Get); + + } + + + } } diff --git a/BBWY.Client/APIServices/PackTaskService.cs b/BBWY.Client/APIServices/PackTaskService.cs index 9c0d5bd7..37a42620 100644 --- a/BBWY.Client/APIServices/PackTaskService.cs +++ b/BBWY.Client/APIServices/PackTaskService.cs @@ -1,5 +1,6 @@ using BBWY.Client.Helpers; using BBWY.Client.Models; +using BBWY.Client.Models.APIModel; using BBWY.Client.Models.APIModel.Request; using BBWY.Client.Models.APIModel.Response.PackTask; using BBWY.Client.Models.PackTask; @@ -35,6 +36,18 @@ namespace BBWY.Client.APIServices ) { + + if (taskId!=null&&!string.IsNullOrEmpty(taskId.Trim())) + { + return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchNewPackTaskList", new + { + + + TaskId = taskId, + + ShopId = globalContext.User.Shop.ShopId.ToString() + }, null, HttpMethod.Post); + } return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchNewPackTaskList", new { @@ -49,17 +62,24 @@ namespace BBWY.Client.APIServices ShopId = globalContext.User.Shop.ShopId.ToString() }, null, HttpMethod.Post); } - public ApiResponse GetWareHouseList(int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null, + public ApiResponse GetWareHouseList(int? isWorry = null, string departmentName = null, string skuId = null, string taskId = null, DateTime? startTime = null, DateTime? endTime = null, - TaskState? availability = null, - int? taskStatus = null, + PackTaskState? TaskState = null, + string ShopName = null, int pageIndex = 1, int pageSize = 10 - ) { - return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchNewPackTaskList", new + if (taskId != null && !string.IsNullOrEmpty(taskId.Trim())) + { + return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new + { + TaskId = taskId + + }, null, HttpMethod.Post); + } + return SendRequest(globalContext.QKApiHost, "api/PackTask/SearchTaskList", new { IsWorry = isWorry, DepartmentName = departmentName, @@ -67,13 +87,13 @@ namespace BBWY.Client.APIServices TaskId = taskId, StartTime = startTime, EndTime = endTime, - Availability = availability, - TaskStatus = taskStatus, + TaskState = TaskState, PageIndex = pageIndex, - PageSize = pageSize + PageSize = pageSize, + ShopName = ShopName, }, null, HttpMethod.Post); } - + @@ -242,6 +262,9 @@ namespace BBWY.Client.APIServices userId = globalContext.User.Id.ToString(), }, null, HttpMethod.Post); } + + + } public class AddConsumableRequest { diff --git a/BBWY.Client/Extensions/CopyExtensions.cs b/BBWY.Client/Extensions/CopyExtensions.cs index c2f2d442..b47fee80 100644 --- a/BBWY.Client/Extensions/CopyExtensions.cs +++ b/BBWY.Client/Extensions/CopyExtensions.cs @@ -1,4 +1,5 @@ using Newtonsoft.Json; +using System; namespace BBWY.Client.Extensions { @@ -9,4 +10,12 @@ namespace BBWY.Client.Extensions return JsonConvert.DeserializeObject(JsonConvert.SerializeObject(p)); } } + + public static class EnumExtension + { + public static T ToEnum(this string value) + { + return (T)Enum.Parse(typeof(T), value); + } + } } diff --git a/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs index 2da69ce7..f8f767c6 100644 --- a/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs @@ -113,5 +113,9 @@ namespace BBWY.Client.Models.APIModel.Response.PackPurchaseTask /// 数量 /// public int Count { get; set; } + /// + /// 仓库类型 + /// + public WareType? WareType { get; set; } } } diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs index 4d7a8813..e6dd9cd9 100644 --- a/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackTask/ProductSkuCountsResponse.cs @@ -6,13 +6,35 @@ namespace BBWY.Client.Models.APIModel.Response.PackTask { public class ProductSkuCountsResponse { - + /// + /// 已到货(质检) + /// public int ArrivedCount { get; set; } - + /// + /// 未到货 + /// public int NoArrivedCount { get; set; } - + /// + /// 部分到货 + /// public int SomeArrivedCount { get; set; } - + /// + /// 加急数量 + /// public int WorryCount { get; set; } + + /// + /// 待打包数 + /// + public int? WaitPackCount { get; set; } + + /// + /// 带封箱数 + /// + public int? WaitSealBox { get; set; } + /// + /// 待出库数 + /// + public int? WaitOutbound { get; set; } } } diff --git a/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs new file mode 100644 index 00000000..27dbc3f8 --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PackTask/SearchTaskListResponse.cs @@ -0,0 +1,169 @@ +using BBWY.Client.Models.APIModel.Response.PackPurchaseTask; +using BBWY.Client.Models.APIModel.Response.PackTask; +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel +{ + public class SearchTaskListResponse + { + /// + /// 查询总数据(判断总页数) + /// + public int TotalCount { get; set; } + + /// + /// 页面返回的数据 + /// + public PackTaskData[] Items { get; set; } + } + + + public class PackTaskData + { + /// + /// 图片链接 + /// + public string Logo { get; set; } + + /// + /// 任务id + /// + public long TaskId { get; set; } + + /// + /// 需求方创建日期 + /// + public DateTime CreateTime { get; set; } + + /// + /// 任务状态 + /// + public PackTaskState TaskState { get; set; } + + /// + /// 需求方团队 + /// + public string DepartmentName { get; set; } + + /// + /// 需求方店铺 + /// + public string ShopName { get; set; } + + /// + /// 货号 + /// + public string ProductItemNum { get; set; } + + /// + /// 货号品名 + /// + public string BrandName { get; set; } + + /// + /// 对接人 + /// + public string UserName { get; set; } + + /// + /// 打包人 + /// + public string[] PackUserName { get; set; } + + /// + /// skuid + /// + public string SkuId { get; set; } + /// + /// SKU标题 + /// + public string SkuName { get; set; } + /// + /// sku数量 + /// + public int SkuCount { get; set; } + /// + /// 打包类型(单件=0,多件=1) + /// + public int PackType { get; set; } + + /// + /// 落仓(本地仓=0,齐越仓=1,京东仓=2,聚水潭=3) + /// + public string PositionType { get; set; } + + /// + /// 基础包装(快递袋=0,纸箱=1,麻袋=2) + /// + public int BasicPack { get; set; } + + /// + /// 增量1() + /// + public string Increment1 { get; set; } + + + /// + /// 到货情况(待收货=0,部分收货=1,已到货=2) + /// + public int Availability { get; set; } + + + /// + /// 服务费用数据 + /// + public FeesItemResponse FeesItemResponse { get; set; } + + + /// + /// 合格证位置(外部包装=0,产品包装=1) + /// + public int? CertificatePosition { get; set; } + + + /// + /// sku配件名称 + /// + public string SkuGoodsTitle { get; set; } + + /// + /// 配件数 + /// + public int GoodsNumber { get; set; } + + + /// + /// 注意事项(对接备注) + /// + public string MarkMessage { get; set; } + + + /// + /// 条形码数据 + /// + public BarCodeModel BarCodeDTO { get; set; } + + /// + /// 合格证数据 + /// + public CertificateModel[] Cers { get; set; } + /// + /// 是否加急 + /// + public int IsWorry { get; set; } + + /// + /// 品牌 + /// + public string Brand { get; set; } + + public string OrderId { get; set; } + + /// + ///分箱情况 + /// + public WareHourseDTO[] WareHourses { get; set; } + } +} diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index 42c855db..0a4e7347 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -209,9 +209,9 @@ } - /// - /// 快递到货情况 - /// + ///// + ///// 快递到货情况 + ///// public enum TaskState { 已到货 = 0, @@ -221,6 +221,24 @@ 全部 = 4, 加急 = 5 } + /// + /// 仓库打包任务状态 + /// + public enum PackTaskState + { + 未到货 = 0, + 部分到货 = 1, + 待质检 = 2,//已到货 + 待打包 = 3, + 待封箱 = 4, + 待出库 = 5, + 已完成 = 6, + 已取消 = 7 + } + + + + /// /// 打包类型 /// @@ -422,4 +440,9 @@ { 合格证信息 = 0, 无需合格证 = 1 } + public enum WareType + { + 京仓 = 0, 云仓 = 1, 商家仓 = 2, 聚水潭 = 3 + } + } diff --git a/BBWY.Client/Models/PackTask/PackTaskModel.cs b/BBWY.Client/Models/PackTask/PackTaskModel.cs index e6a27041..ad43c341 100644 --- a/BBWY.Client/Models/PackTask/PackTaskModel.cs +++ b/BBWY.Client/Models/PackTask/PackTaskModel.cs @@ -1,6 +1,7 @@ using BBWY.Client.APIServices; using BBWY.Client.Models.APIModel.Response.PackTask; using BBWY.Client.ViewModels; +using BBWY.Client.ViewModels.PackTask; using BBWY.Client.Views.PackTask; using BBWY.Client.Views.QualityTask; using GalaSoft.MvvmLight.Command; @@ -95,8 +96,11 @@ namespace BBWY.Client.Models //加载数据 ViewModelLocator viewModelLocator = new ViewModelLocator(); var qualityViewModel = viewModelLocator.QualityTask; + + if (qualityViewModel.ReflashWindow == null) + qualityViewModel.ReflashWindow = ReflashTask; //qualityViewModel.TaskCount = SkuCount; - // qualityViewModel.TaskId = TaskId; + // qualityViewModel.TaskId = TaskId; qualityViewModel.OrderId = OrderId; qualityViewModel.SkuId = SkuId; qualityViewModel.SearchSku(this); @@ -122,12 +126,16 @@ namespace BBWY.Client.Models serviceViewModel.OrderId= OrderId; serviceViewModel.SkuId =SkuId ; serviceViewModel.LoadPackDatas(); + + serviceViewModel.SetAllFees = new Action>((feesItem, packUsers) => { FeesItemResponse = feesItem; PackUser = string.Join("\r\n", packUsers); FeesItemResponse.DiscountAllFees = feesItem.disCount * feesItem.AllFees; IsShowFees = feesItem.AllFees > 0 ? true : false; + + if (ReflashTask != null) ReflashTask(); }); service.Show(); } @@ -334,6 +342,13 @@ namespace BBWY.Client.Models public TaskStateType TaskStatus { get => taskStatus; set { Set(ref taskStatus, value); } } + private PackTaskState taskState; + /// + /// 打包仓库任务状态 + /// + public PackTaskState TaskState { get => taskState; set { Set(ref taskState, value); } } + + private PackType packType; /// /// 打包类型(单件=0,多件=1) @@ -377,11 +392,11 @@ namespace BBWY.Client.Models public Increment Increment2 { get => increment2; set { Set(ref increment2, value); } } - private PositionType positionType; + private string positionType; /// /// 落仓(本地仓=0,齐越仓=1,京东仓=2) /// - public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } } + public string PositionType { get => positionType; set { Set(ref positionType, value); } } diff --git a/BBWY.Client/ViewModels/MainViewModel.cs b/BBWY.Client/ViewModels/MainViewModel.cs index 1cd0a7ce..0fc9c5ad 100644 --- a/BBWY.Client/ViewModels/MainViewModel.cs +++ b/BBWY.Client/ViewModels/MainViewModel.cs @@ -31,6 +31,7 @@ namespace BBWY.Client.ViewModels private bool showWB2RuntimeDownloadPanel; private double wb2DownloadProgress; private IList managerDepartment; + private IList packDepartment; private WebView2Manager w2m; public GlobalContext GlobalContext { get; set; } public IList MenuList { get; set; } @@ -91,6 +92,9 @@ namespace BBWY.Client.ViewModels { this.w2m = w2m; this.managerDepartment = new List() { "董事办", "财务部", "技术部", "总经办" }; + this.packDepartment = new List() { "打包组" ,"发货组" , "仓储部" }; + + this.httpClientFactory = httpClientFactory; this.mdsApiService = mdsApiService; this.logisticsService = logisticsService; @@ -119,7 +123,7 @@ namespace BBWY.Client.ViewModels /// private void CreateMenu() { - if (GlobalContext.User.TeamName == "打包组" || GlobalContext.User.TeamName == "发货组" || GlobalContext.User.TeamName == "仓储部") + if (this.packDepartment.Contains(GlobalContext.User.TeamName)) { App.Current.Dispatcher.Invoke(() => @@ -268,13 +272,10 @@ namespace BBWY.Client.ViewModels CreateMenu(); - if (GlobalContext.User.TeamName == "打包组" || GlobalContext.User.TeamName == "发货组" || GlobalContext.User.TeamName == "仓储部") - { - return; - } + IList departmentList = null; - if (GlobalContext.User.TeamName == "刷单组" || + if (GlobalContext.User.TeamName == "刷单组" || this.packDepartment.Contains(GlobalContext.User.TeamName) || managerDepartment.Contains(GlobalContext.User.TeamName) || managerDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m))) { @@ -346,6 +347,9 @@ namespace BBWY.Client.ViewModels } GlobalContext.User.DepartmentList = departmentList; + if (this.packDepartment.Contains(GlobalContext.User.TeamName)) + return; + if (GlobalContext.User.TeamName == "刷单组") return; diff --git a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs index 9905066c..0b56c063 100644 --- a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs @@ -1,5 +1,6 @@ using BarcodeLib; using BBWY.Client.APIServices; +using BBWY.Client.Extensions; using BBWY.Client.Helpers; using BBWY.Client.Models; using BBWY.Client.Models.APIModel.Request; @@ -426,7 +427,7 @@ namespace BBWY.Client.ViewModels.PackTask return; } SaveTask = "保存"; - Logo = model.ItemList[0].Logo; + Logo = model.ItemList[0].Logo.Copy(); SearchSkuId = model.SkuId; SkuId = model.SkuId; SkuCount = model.SkuCount; @@ -443,7 +444,12 @@ namespace BBWY.Client.ViewModels.PackTask GoodsNumber = model.GoodsNumber; Availability = model.Availability; IsWorry = model.IsWorry; - PositionType = model.PositionType; + + if (string.IsNullOrEmpty(model.OrderId)) + { + PositionType = model.PositionType.ToEnum(); + } + PackType = model.PackType; BasicPack = model.BasicPack; IsNeedBarCode = model.BarCodeModel == null ? Need.不需要 : Need.需要; @@ -789,7 +795,7 @@ namespace BBWY.Client.ViewModels.PackTask } if (!string.IsNullOrEmpty(BrandName)) foreach (var item in CertificateModel) item.BrandName = BrandName; - //CertificateModel.Foreach(c=>c.BrandName = BrandName) ; + //CertificateModel.Foreach(c=>c.BrandName = BrandName) ; SetCerWindow setCerWindow = new SetCerWindow(); setCerWindow.LoadData(CertificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate); setCerWindow.SaveResult = s => @@ -905,7 +911,7 @@ namespace BBWY.Client.ViewModels.PackTask new TipsWindow("请设置合格证模板").Show(); return; } - createTaskModel.CerId =string.Join(",", CertificateModel.Select(c=>c.Id));// + createTaskModel.CerId = string.Join(",", CertificateModel.Select(c => c.Id));// } ApiResponse res = null; if (TaskId > 0)//修改界面 @@ -1014,7 +1020,7 @@ namespace BBWY.Client.ViewModels.PackTask IsSetCertificate = false; if (CertificateModel == null) { - CertificateModel = new CertificateModel[] { + CertificateModel = new CertificateModel[] { new CertificateModel{ } }; IsSetCertificate = true; @@ -1022,7 +1028,7 @@ namespace BBWY.Client.ViewModels.PackTask } foreach (var item in CertificateModel) item.Brand = Brand; - + if (!string.IsNullOrEmpty(BrandName)) foreach (var item in CertificateModel) { @@ -1030,8 +1036,8 @@ namespace BBWY.Client.ViewModels.PackTask item.ProductNo = ProductNo; item.SkuId = SkuId; } - - + + BarCodeModel = productSku.Data.BarCodeModel; IsSetBarCode = false; if (BarCodeModel == null) diff --git a/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs index 8d6325a6..b21b907d 100644 --- a/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/PublishTaskViewModel.cs @@ -1,4 +1,5 @@ using BBWY.Client.APIServices; +using BBWY.Client.Extensions; using BBWY.Client.Models; using BBWY.Client.Models.PackTask; using BBWY.Client.Views.PackTask; @@ -624,7 +625,15 @@ namespace BBWY.Client.ViewModels.PackTask GoodsNumber = model.GoodsNumber; Availability = model.Availability; IsWorry = model.IsWorry; - PositionType = model.PositionType; + try + { + PositionType = model.PositionType.ToEnum();//多个仓库异常 + } + catch + { + + } + PackType = model.PackType; BasicPack = model.BasicPack; IsNeedBarCode = model.BarCodeModel == null ? Need.不需要 : Need.需要; @@ -694,7 +703,7 @@ namespace BBWY.Client.ViewModels.PackTask var createTaskModel = new Models.APIModel.Request.CreateTaskRequest { ProductNo = ProductNo, - Logo = Logo, + Logo = Logo.Replace( "200x200", "80x80"), SkuName = SkuName, TaskId = TaskId, BrandName = BrandName, diff --git a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs index 30903b91..8680ba77 100644 --- a/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/TaskListViewModel.cs @@ -275,6 +275,18 @@ namespace BBWY.Client.ViewModels.PackTask /// public void SearchTaskList() { + try + { + if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim())) + Convert.ToInt64(SearchTaskId); + } + catch + { + System.Windows.MessageBox.Show("任务id必须为数字"); + return; + + } + IsLoading = true; Task.Factory.StartNew(() => { @@ -314,7 +326,7 @@ namespace BBWY.Client.ViewModels.PackTask MarkMessage = item.MarkMessage, PackType = (PackType)item.PackType, - PositionType = (PositionType)item.PositionType, + PositionType = ((PositionType)item.PositionType).ToString(), SkuCount = item.SkuCount, SkuTitle = item.SkuGoodsTitle, TaskId = item.TaskId, diff --git a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs index d6af7ec4..b8473407 100644 --- a/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/WareHouseListViewModel.cs @@ -18,6 +18,7 @@ using HandyControl.Controls; using System.Windows; using System.Collections; using NPOI.SS.Formula.Functions; +using GalaSoft.MvvmLight.Messaging; namespace BBWY.Client.ViewModels.PackTask { @@ -35,6 +36,20 @@ namespace BBWY.Client.ViewModels.PackTask private DateTime endTime; public DateTime EndTime { get => endTime; set { Set(ref endTime, value); } } + + + + + + private string searchShopName; + public string SearchShopName + { + get => searchShopName; set + { + Set(ref searchShopName, value); + } + } + /// /// 查询任务id /// @@ -53,11 +68,11 @@ namespace BBWY.Client.ViewModels.PackTask private string searchSkuId; public string SearchSkuId { get => searchSkuId; set { Set(ref searchSkuId, value); } } - public TaskState? taskState; + public PackTaskState? taskState; /// /// 任务状态 /// - public TaskState? TaskState + public PackTaskState? TaskState { get => taskState; private set { @@ -78,25 +93,46 @@ namespace BBWY.Client.ViewModels.PackTask /// /// 未到货数量 /// - public int NoArrivedCount { get => noArrivedCount; set { Set(ref noArrivedCount, value); } } - private int noArrivedCount; - private int someArrivedCount; + public string NoArrivedCount { get => noArrivedCount; set { Set(ref noArrivedCount, value); } } + private string noArrivedCount; + private string someArrivedCount; /// /// 部分到货数量 /// - public int SomeArrivedCount { get => someArrivedCount; set { Set(ref someArrivedCount, value); } } - private int worryCount; + public string SomeArrivedCount { get => someArrivedCount; set { Set(ref someArrivedCount, value); } } + private string worryCount; /// /// 加急数 /// - public int WorryCount { get => worryCount; set { Set(ref worryCount, value); } } + public string WorryCount { get => worryCount; set { Set(ref worryCount, value); } } - private int arrivedCount; + private string arrivedCount; /// /// 已到货数量 /// - public int ArrivedCount { get => arrivedCount; set { Set(ref arrivedCount, value); } } + public string ArrivedCount { get => arrivedCount; set { Set(ref arrivedCount, value); } } + + + + + private string waitPackCount; + /// + /// 待打包数 + /// + public string WaitPackCount { get => waitPackCount; set { Set(ref waitPackCount, value); } } + private string waitSealBox; + /// + /// 带封箱数 + /// + public string WaitSealBox { get => waitSealBox; set { Set(ref waitSealBox, value); } } + private string waitOutbound; + /// + /// 待出库数 + /// + public string WaitOutbound { get => waitOutbound; set { Set(ref waitOutbound, value); } } + + //private int totalCount; ///// ///// 全部数量 @@ -113,7 +149,7 @@ namespace BBWY.Client.ViewModels.PackTask private bool isLoading; public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } - + private int? IsWorry { get; set; } public int? taskStatus { get; set; } private ObservableCollection packTaskList; @@ -146,13 +182,19 @@ namespace BBWY.Client.ViewModels.PackTask private readonly WorkProcessService workProcessService; private readonly PackTaskService packTaskService; private readonly IncreateServiceService increateServiceService; - public WareHouseListViewModel(PackTaskService packTaskService, ConsumableService consumableService, WorkProcessService workProcessService, IncreateServiceService increateServiceService, ProductService productService, BatchPurchaseService batchPurchaseService) + public GlobalContext globalContext; + public WareHouseListViewModel(PackTaskService packTaskService, ConsumableService consumableService, WorkProcessService workProcessService, IncreateServiceService increateServiceService, ProductService productService, BatchPurchaseService batchPurchaseService, GlobalContext globalContext) { + this.globalContext = globalContext; + + this.packTaskService = packTaskService; this.consumableService = consumableService; + + //Messenger.Default.Send(globalContext, "AcceptGlobalContext"); PackTaskList = new ObservableCollection();//初始化数据 - SetTaskStateCommand = new RelayCommand(SetTaskState); + SetTaskStateCommand = new RelayCommand(SetTaskState); SearchTaskCommand = new RelayCommand(() => { @@ -184,11 +226,15 @@ namespace BBWY.Client.ViewModels.PackTask SetTaskStatusCommand = new RelayCommand(SetTaskStatus); //加载数据 - SetTaskState(Models.TaskState.全部); + SetTaskState(null); this.workProcessService = workProcessService; this.increateServiceService = increateServiceService; this.productService = productService; this.batchPurchaseService = batchPurchaseService; + + + + } #region 事件绑定 @@ -224,52 +270,57 @@ namespace BBWY.Client.ViewModels.PackTask BatchPurchaseService batchPurchaseService; - public void SetTaskStatus(object obj ) + public void SetTaskStatus(object obj) { var objList = (object[])obj; long taskId = (long)objList[0]; - string orderId=(string)objList[1]; + string orderId = (string)objList[1]; ///修改完成 - var model = packTaskService.UpdateTaskStatus(taskId, 1,orderId); + var model = packTaskService.UpdateTaskStatus(taskId, 1, orderId); if (model != null && model.Success) SearchTaskList(); - - } - public void SetTaskState(TaskState? taskState) + } + public void SetTaskState(PackTaskState? taskState) { - IsWorry = null; - TaskState = null; - taskStatus = null; - switch (taskState) - { - case null: - break; - case Models.TaskState.已到货: - case Models.TaskState.部分到货: //未完成的数据 - case Models.TaskState.未到货: - TaskState = taskState; - taskStatus = 0; - break; - case Models.TaskState.全部: //所有数据 - - break; - case Models.TaskState.已完成: - - taskStatus = 1; - break; - case Models.TaskState.加急: - taskStatus = 0; - IsWorry = 1; - break; - default: - break; - } + TaskState = taskState; SearchTaskList(); } + //public void SetTaskState(TaskState? taskState) + //{ + // IsWorry = null; + // TaskState = null; + // taskStatus = null; + // switch (taskState) + // { + // case null: + // break; + // case Models.TaskState.已到货: + // case Models.TaskState.部分到货: //未完成的数据 + // case Models.TaskState.未到货: + // TaskState = taskState; + // taskStatus = 0; + // break; + // case Models.TaskState.全部: //所有数据 + + // break; + // case Models.TaskState.已完成: + + // taskStatus = 1; + // break; + // case Models.TaskState.加急: + // taskStatus = 0; + // IsWorry = 1; + // break; + // default: + // break; + // } + // SearchTaskList(); + + //} /// @@ -277,11 +328,33 @@ namespace BBWY.Client.ViewModels.PackTask /// public void SearchTaskList() { + try + { + if (SearchTaskId != null && !string.IsNullOrEmpty(SearchTaskId.Trim())) + Convert.ToInt64(SearchTaskId); + } + catch + { + System.Windows.MessageBox.Show("任务id必须为数字"); + return; + + } + + //string shopId = null; + //if (!string.IsNullOrEmpty(SearchShopName)) + //{ + // var searchShop = globalContext.User.ShopList.FirstOrDefault(g => g.ShopName == SearchShopName); + // if (searchShop != null) shopId = searchShop.ShopId.ToString(); + //} + + + IsLoading = true; Task.Factory.StartNew(() => { PackTaskList = new ObservableCollection();//初始化数据 - var datas = packTaskService.GetWareHouseList(IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, StartTime, EndTime, (this.TaskState), taskStatus, + + var datas = packTaskService.GetWareHouseList(IsWorry, SearchDepartment, SearchSkuId, SearchTaskId, StartTime, EndTime, (this.TaskState), SearchShopName, PageIndex, PageSize); if (datas != null && datas.Data != null && datas.Success) { @@ -299,7 +372,6 @@ namespace BBWY.Client.ViewModels.PackTask GoodsNumber = item.GoodsNumber, Increment1 = item.Increment1, - Increment2 = (Increment)item.Increment2, ItemList = new List() { new SkuMessage { BrandName = item.BrandName, GoodsNo = item.ProductItemNum, Logo= item.Logo, @@ -309,17 +381,16 @@ namespace BBWY.Client.ViewModels.PackTask } }, MarkMessage = item.MarkMessage, PackType = (PackType)item.PackType, - - PositionType = (PositionType)item.PositionType, + TaskState = item.TaskState, + PositionType = item.PositionType, SkuCount = item.SkuCount, SkuTitle = item.SkuGoodsTitle, TaskId = item.TaskId, - TaskStatus = (TaskStateType)item.TaskStatus, EndTime = item.CreateTime, - OrderId= item.OrderId, + OrderId = item.OrderId, SkuId = item.SkuId, SkuName = item.SkuName, - + }; if (item.BarCodeDTO != null && item.BarCodeDTO.Id > 0) { @@ -327,12 +398,14 @@ namespace BBWY.Client.ViewModels.PackTask data.BarCodeModel = item.BarCodeDTO; } - if (item.cers != null) + if (item.Cers != null) { - data.CertificateModel = item.cers; + data.CertificateModel = item.Cers; } + data.ReflashTask = ReflashTask; + if (item.FeesItemResponse != null) { data.FeesItemResponse = item.FeesItemResponse; @@ -379,10 +452,13 @@ namespace BBWY.Client.ViewModels.PackTask { App.Current.Dispatcher.Invoke(() => { - ArrivedCount = packTaskResult.Data.ArrivedCount; - NoArrivedCount = packTaskResult.Data.NoArrivedCount; - SomeArrivedCount = packTaskResult.Data.SomeArrivedCount; - WorryCount = packTaskResult.Data.WorryCount; + ArrivedCount = packTaskResult.Data.ArrivedCount.ToString(); + NoArrivedCount = packTaskResult.Data.NoArrivedCount.ToString(); + SomeArrivedCount = packTaskResult.Data.SomeArrivedCount.ToString(); + WorryCount = packTaskResult.Data.WorryCount.ToString(); + WaitOutbound = packTaskResult.Data.WaitOutbound?.ToString(); + WaitPackCount = packTaskResult.Data.WaitPackCount?.ToString(); + WaitSealBox = packTaskResult.Data.WaitSealBox?.ToString(); }); } } @@ -391,10 +467,15 @@ namespace BBWY.Client.ViewModels.PackTask PageIndex = pageIndex;// SearchTaskList(); } + public void ReflashTask()//刷新界面 + { + SearchTaskList(); + } + private void OpenSkuDetail(object param) { - var paramList = (object[])param; + var paramList = (object[])param; var skuId = paramList[1].ToString(); var url = $"https://item.jd.com/{skuId}.html"; try diff --git a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs index 14dfaeb2..dc28d734 100644 --- a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs +++ b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs @@ -96,7 +96,7 @@ namespace BBWY.Client.ViewModels private ObservableCollection preCompeteTimeDayList = new ObservableCollection { - "今天" + }; public ObservableCollection PreCompeteTimeDayList { get => preCompeteTimeDayList; set { Set(ref preCompeteTimeDayList, value); } } @@ -106,6 +106,11 @@ namespace BBWY.Client.ViewModels }; public ObservableCollection PreCompeteTimeHourList { get => preCompeteTimeHourList; set { Set(ref preCompeteTimeHourList, value); } } + // + public string preCompeteTimeDay; + public string PreCompeteTimeDay { get => preCompeteTimeDay; set { Set(ref preCompeteTimeDay, value); } } + + public string preCompeteTimeHour; public string PreCompeteTimeHour { get => preCompeteTimeHour; set { Set(ref preCompeteTimeHour, value); } } @@ -367,7 +372,6 @@ namespace BBWY.Client.ViewModels SetCertificateCommand = new RelayCommand(SetCertificate); LookBarCommand = new RelayCommand(LookBar); LookCerCommand = new RelayCommand(LookCer); - //SearchSkuCommand = new RelayCommand(SearchSku); CompeteQualityTaskCommand = new RelayCommand(CompeteQualityTask); IncreateList = new ObservableCollection(); foreach (var item in increates) @@ -381,10 +385,7 @@ namespace BBWY.Client.ViewModels this.purchaseService = purchaseService; this.packTaskService = packTaskService; -#if DEBUG - //Test(); -#endif } @@ -422,9 +423,6 @@ namespace BBWY.Client.ViewModels IsNeedBar = IsNeedBarCode == Need.需要, IsNeedCer = IsNeedCertificateModel == Need.需要, TaskId = TaskId - - - }; if (IsNeedBarCode == Need.需要) { @@ -457,7 +455,10 @@ namespace BBWY.Client.ViewModels } int hour = Convert.ToInt32(PreCompeteTimeHour.Replace("点前", "")); - request.PreCompeteTime = DateTime.Now.Date.AddHours(hour); + + var date = Convert.ToDateTime(PreCompeteTimeDay); + + request.PreCompeteTime = date.AddHours(hour); var competeRes = packPurchaseTaskService.CompeteQualityTask(request); @@ -478,8 +479,14 @@ namespace BBWY.Client.ViewModels , BarCodeModel); batchPrint.ShowDialog(); + + + if (ReflashWindow != null) ReflashWindow(); var window = obj as BWindow; + window.Close(); + + } @@ -490,18 +497,22 @@ namespace BBWY.Client.ViewModels { return; } - //if (TaskId > 0 && string.IsNullOrEmpty(SpuId))//修改界面刷新配置数据 - //{ - // SearchSku(SkuId); - //} - if (BarCodeModel == null) { - BarCodeModel = new BarCodeModel(); - BarCodeModel.ProductNo = ProductNo; - BarCodeModel.Brand = Brand; - BarCodeModel.SkuId = SkuId; - BarCodeModel.SkuName = SkuName; + var resCode = packPurchaseTaskService.SearchBarCode(SkuId); + if (resCode==null) + { + BarCodeModel = new BarCodeModel(); + BarCodeModel.ProductNo = ProductNo; + BarCodeModel.Brand = Brand; + BarCodeModel.SkuId = SkuId; + BarCodeModel.SkuName = SkuName; + } + else + { + BarCodeModel = resCode.Data; + } + } if (!string.IsNullOrEmpty(BrandName)) BarCodeModel.BrandName = BrandName; @@ -586,13 +597,14 @@ namespace BBWY.Client.ViewModels { InitData(); TaskId = model.TaskId; - + OrderId =model.OrderId; SkuId = model.SkuId; SkuName = model.ItemList[0].SkuName; Logo = model.ItemList[0].Logo.Replace("80x80", "200x200").Replace("200x200", "150x150"); BrandName = model.ItemList[0].BrandName; SkuCount = model.SkuCount; + brand = model.Brand; ProductNo = model.ProductNo; MarkMessage = model.MarkMessage; @@ -648,7 +660,7 @@ namespace BBWY.Client.ViewModels } var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId); - if (list == null) + if (list == null&&!list.Success) { PurchaseSkuList.Add(item); continue; } @@ -683,6 +695,16 @@ namespace BBWY.Client.ViewModels { PurchaseSkuList = new ObservableCollection(); WareHourseList = new ObservableCollection(); + PreCompeteTimeDayList = new ObservableCollection(); + + var date = DateTime.Now.Date; + for (int i = 0; i < 7; i++) + { + PreCompeteTimeDayList.Add(date.AddDays(i).ToString("yyyy-MM-dd")); + } + + PreCompeteTimeDay = date.ToString("yyyy-MM-dd"); + IsSetBarCode = true; SkuTitle = ""; BrandName = ""; diff --git a/BBWY.Client/Views/PackTask/PackTaskTotal.xaml b/BBWY.Client/Views/PackTask/PackTaskTotal.xaml index aad3fc9b..8247fa47 100644 --- a/BBWY.Client/Views/PackTask/PackTaskTotal.xaml +++ b/BBWY.Client/Views/PackTask/PackTaskTotal.xaml @@ -121,8 +121,8 @@ - - + + @@ -193,8 +193,8 @@ - - + + diff --git a/BBWY.Client/Views/PackTask/WareHouseList.xaml b/BBWY.Client/Views/PackTask/WareHouseList.xaml index 71decbf0..df7c406b 100644 --- a/BBWY.Client/Views/PackTask/WareHouseList.xaml +++ b/BBWY.Client/Views/PackTask/WareHouseList.xaml @@ -14,23 +14,68 @@ d:DesignHeight="450" d:DesignWidth="2048" Title="TaskList"> + + + - + + + + + + + - + @@ -40,7 +85,7 @@ - + @@ -58,7 +103,14 @@ - + + + + + + + + @@ -74,229 +126,29 @@ - - - - - - - - - - - > - - - - - - - - - - - - - - - - - - - diff --git a/BBWY.Client/Views/PackTask/WareHouseList.xaml.cs b/BBWY.Client/Views/PackTask/WareHouseList.xaml.cs index 22385b47..2b5c7616 100644 --- a/BBWY.Client/Views/PackTask/WareHouseList.xaml.cs +++ b/BBWY.Client/Views/PackTask/WareHouseList.xaml.cs @@ -1,6 +1,8 @@ using BBWY.Client.Helpers; using BBWY.Client.Models.PackTask; +using BBWY.Client.ViewModels; using BBWY.Common.Models; +using GalaSoft.MvvmLight.Messaging; using Microsoft.Extensions.Configuration; using Newtonsoft.Json; using System; @@ -33,38 +35,81 @@ namespace BBWY.Client.Views.PackTask { InitializeComponent(); + + //Messenger.Default.Register(this,"AcceptGlobalContext", g => { globalContext = g; LoadShops(g); }); this.Loaded += Load; + + // this.Unloaded += WareHouseList_Unloaded; + + // GlobalContext.User.DepartmentList + } + + //private void WareHouseList_Unloaded(object sender, RoutedEventArgs e) + //{ + // Messenger.Default.Unregister("AcceptGlobalContext"); + //} + + GlobalContext globalContext; + + public void LoadShops(GlobalContext globalContext) + { + this.globalContext = globalContext; + shops = globalContext.User.ShopList.Select(s => s.ShopName).ToList(); } private void Load(object sender, RoutedEventArgs e) { - var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - var builder = new ConfigurationBuilder().SetBasePath(applicationPath).AddJsonFile("BBWYAppSettings.json", false, true); - var Configuration = builder.Build(); - QKApiHost = Configuration.GetSection("QKApiHost").Value; - HttpClientHelper helper = new HttpClientHelper(QKApiHost); + try + { + var model = new ViewModelLocator().Main; + + LoadShops(model.GlobalContext); + } + catch + { + + + } - string url = $"{QKApiHost}/api/PackTask/GetAllDepartment";//获取所有数据 - var data = helper.Get(url); - var res = JsonConvert.DeserializeObject>(data); - //创建一个ListBoxIem - if (res.Success) + try { - if (res.Data != null && res.Data.Count() > 0) + var applicationPath = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + var builder = new ConfigurationBuilder().SetBasePath(applicationPath).AddJsonFile("BBWYAppSettings.json", false, true); + var Configuration = builder.Build(); + + QKApiHost = Configuration.GetSection("QKApiHost").Value; + HttpClientHelper helper = new HttpClientHelper(QKApiHost); + + string url = $"{QKApiHost}/api/PackTask/GetAllDepartment";//获取所有数据 + var data = helper.Get(url); + + var res = JsonConvert.DeserializeObject>(data); + //创建一个ListBoxIem + if (res.Success) { - foreach (var department in res.Data) + if (res.Data != null && res.Data.Count() > 0) { - if (!departments.Contains(department.DePartmentName)) + foreach (var department in res.Data) { - departments.Add(department.DePartmentName); + if (!departments.Contains(department.DePartmentName)) + { + departments.Add(department.DePartmentName); + } } } } } + catch (Exception) + { + + + } + + } - public string QKApiHost {get;set;} + public string QKApiHost { get; set; } public void SelectionChangeCommand(object sender, SelectionChangedEventArgs e) { try @@ -86,10 +131,9 @@ namespace BBWY.Client.Views.PackTask } } - - List departments = new List(); + List shops = new List(); private void tb_TextChanged(object sender, TextChangedEventArgs e) { try @@ -155,5 +199,72 @@ namespace BBWY.Client.Views.PackTask } } + + private void tbShop_TextChanged(object sender, TextChangedEventArgs e) + { + try + { + var textBoxt = (TextBox)sender; + //创建一个ListBox + + if (tipBoxShop != null && tipBoxShop.Items.Count > 0) + { + tipBoxShop.Items.Clear(); + + } + + if (shops.Count <= 0) + { + if (globalContext != null) + LoadShops(globalContext); + } + + if (string.IsNullOrEmpty(textBoxt.Text)) + { + tipBoxShop.Visibility = Visibility.Collapsed; + return; + } + foreach (var department in shops) + { + if (department.Contains(textBoxt.Text)) + { + ListBoxItem item = new ListBoxItem(); + Label lb = new Label(); + lb.Content = department; + item.Content = lb; + tipBoxShop.Items.Add(item); + } + + } + + tipBoxShop.Visibility = Visibility.Visible; + } + catch (Exception) + { + + + } + } + + private void tipBoxShop_SelectionChanged(object sender, SelectionChangedEventArgs e) + { + try + { + var list = (ListBox)sender; + if (list.Items.Count <= 0) + { + return; + } + var value = (ListBoxItem)list.SelectedValue; + var content = (Label)value.Content; + tbShop.Text = content.Content.ToString(); + tipBoxShop.Visibility = Visibility.Collapsed; + } + catch (Exception) + { + + + } + } } } diff --git a/BBWY.Client/Views/PackTask/WareHouseListControl.xaml b/BBWY.Client/Views/PackTask/WareHouseListControl.xaml index db92ba51..4e0108bc 100644 --- a/BBWY.Client/Views/PackTask/WareHouseListControl.xaml +++ b/BBWY.Client/Views/PackTask/WareHouseListControl.xaml @@ -43,9 +43,10 @@ + - + @@ -56,6 +57,8 @@ + + @@ -70,6 +73,7 @@ + + @@ -111,7 +116,7 @@ CommandParameter="{Binding TaskId}" Margin=" 5,0,7,0"/> - - - - - - - - - - - - - - - + @@ -151,6 +143,7 @@ + - - - - - - - - - + + + + + + @@ -345,7 +338,7 @@ - + @@ -369,223 +362,22 @@ - - + - + - - - - @@ -602,6 +394,32 @@ /> + + + + + + + + + + + + + + + + + + + + + @@ -617,6 +435,7 @@ + diff --git a/BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs b/BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs index 2f1dd2d7..477e0dbd 100644 --- a/BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs +++ b/BBWY.Client/Views/QualityTask/QualitySetCerWindow.xaml.cs @@ -75,7 +75,12 @@ namespace BBWY.Client.Views.QualityTask private void save_btn_Click(object sender, RoutedEventArgs e) { - + if (PackCerState== PackCerState.无需合格证) + { + if (SaveResult != null) SaveResult(CertificateModel, PackCerState); + this.Close(); + return; + } if (string.IsNullOrEmpty(CertificateModel.ExcuteStander) || string.IsNullOrEmpty(CertificateModel.Shader) || string.IsNullOrEmpty(CertificateModel.BrandName) || string.IsNullOrEmpty(CertificateModel.Brand) || string.IsNullOrEmpty(CertificateModel.ProductShop) @@ -100,14 +105,7 @@ namespace BBWY.Client.Views.QualityTask MessageBox.Show("适用年龄不能为空"); return; } - - - - var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries); - - - var resData = packTaskService.SaveCer(new CerRequest { Brand = CertificateModel.Brand, @@ -125,20 +123,14 @@ namespace BBWY.Client.Views.QualityTask GoodsNumber = CertificateModel.GoodsNumber, ProduceDate = CertificateModel.ProduceDate, PurchaseSkuId = CertificateModel.PurchaseSkuId, - - }); if (resData == null || !resData.Success) { - return; } CertificateModel.Id = resData.Data; if (SaveResult != null) SaveResult(CertificateModel, PackCerState); - - - this.Close(); } } diff --git a/BBWY.Client/Views/QualityTask/QualityWindow.xaml b/BBWY.Client/Views/QualityTask/QualityWindow.xaml index 66e382f4..030267de 100644 --- a/BBWY.Client/Views/QualityTask/QualityWindow.xaml +++ b/BBWY.Client/Views/QualityTask/QualityWindow.xaml @@ -139,15 +139,13 @@ - - + + - + @@ -197,25 +195,7 @@ - - + @@ -225,7 +205,7 @@ ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}" BorderBrush="{StaticResource Border.Brush}" - BorderThickness="0" Visibility="{Binding OrderId,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" + BorderThickness="0" Visibility="{Binding OrderId,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null:Collapsed:Visible}" Foreground="{StaticResource Text.Color}"> @@ -330,7 +310,7 @@ ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}" ItemsSource="{Binding PurchaseSkuList,Mode=TwoWay}" BorderBrush="{StaticResource Border.Brush}" - BorderThickness="0" Visibility="{Binding OrderId,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}" + BorderThickness="0" Visibility="{Binding OrderId,Mode=TwoWay,Converter={StaticResource objConverter},ConverterParameter=#null:Visible:Collapsed}" Foreground="{StaticResource Text.Color}"> @@ -344,12 +324,12 @@ - + - + - +