diff --git a/BBWY.Client/APIServices/BatchPurchaseService.cs b/BBWY.Client/APIServices/BatchPurchaseService.cs index b9c0b993..372d4584 100644 --- a/BBWY.Client/APIServices/BatchPurchaseService.cs +++ b/BBWY.Client/APIServices/BatchPurchaseService.cs @@ -171,6 +171,21 @@ namespace BBWY.Client.APIServices }, null, HttpMethod.Post); } + /// + /// 修改打包状态 + /// + /// + /// + /// + public ApiResponse UpdatePackState(string orderId, PackState PackState) + { + return SendRequest(globalContext.BBYWApiHost, "api/BatchPurchase/UpdatePackState", new + { + orderId, + PackState + }, null, HttpMethod.Post); + } + } diff --git a/BBWY.Client/BBWYAppSettings.json b/BBWY.Client/BBWYAppSettings.json index 9622efaf..7af1eac7 100644 --- a/BBWY.Client/BBWYAppSettings.json +++ b/BBWY.Client/BBWYAppSettings.json @@ -1,9 +1,9 @@ { - //"BBWYApiHost": "http://localhost:5000", - "BBWYApiHost": "http://bbwytest.qiyue666.com", + "BBWYApiHost": "http://localhost:5000", + //"BBWYApiHost": "http://bbwytest.qiyue666.com", "MDSApiHost": "http://mdsapi.qiyue666.com", "JOSApiHost": "", "1688ApiHost": "", - //"QKApiHost": "http://localhost:8080" - "QKApiHost": "http://qiku.qiyue666.com" + "QKApiHost": "http://localhost:8080" + // "QKApiHost": "http://qiku.qiyue666.com" } \ No newline at end of file diff --git a/BBWY.Client/Models/APIModel/Request/CreateTaskRequest.cs b/BBWY.Client/Models/APIModel/Request/CreateTaskRequest.cs index 8a9b8902..f588225f 100644 --- a/BBWY.Client/Models/APIModel/Request/CreateTaskRequest.cs +++ b/BBWY.Client/Models/APIModel/Request/CreateTaskRequest.cs @@ -102,5 +102,6 @@ namespace BBWY.Client.Models.APIModel.Request public int? CertificatePosition { get; set; } public Worry IsWorry { get; set; } + public string OrderId { get; set; } } } diff --git a/BBWY.Client/Models/APIModel/Response/BatchPurchase/PurchaseOrderV2Response.cs b/BBWY.Client/Models/APIModel/Response/BatchPurchase/PurchaseOrderV2Response.cs index 328ff1fa..187ec220 100644 --- a/BBWY.Client/Models/APIModel/Response/BatchPurchase/PurchaseOrderV2Response.cs +++ b/BBWY.Client/Models/APIModel/Response/BatchPurchase/PurchaseOrderV2Response.cs @@ -171,7 +171,13 @@ namespace BBWY.Client.Models /// public PurchaseOrderMode PurchaseOrderMode { get; set; } + /// + /// 打包状态(待发布 = 0, 打包中 = 1, 已完成 = 2) + /// + public PackState PackState { get; set; } + public IList ItemList { get; set; } } + } diff --git a/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs b/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs index bc1787db..f40488af 100644 --- a/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs +++ b/BBWY.Client/Models/BatchPurchase/BatchPublishTask.cs @@ -1,6 +1,9 @@ using BBWY.Client.APIServices; using BBWY.Client.Models.PackTask; +using BBWY.Client.ViewModels; +using BBWY.Client.Views.PackTask; using BBWY.Common.Models; +using GalaSoft.MvvmLight.Command; using System; using System.Collections.Generic; using System.Collections.ObjectModel; @@ -8,6 +11,8 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; +using System.Windows.Controls; +using System.Windows.Input; namespace BBWY.Client.Models { @@ -129,7 +134,8 @@ namespace BBWY.Client.Models /// public bool IsSetBarCode { - get => isSetBarCode; set + get => isSetBarCode; + set { Set(ref isSetBarCode, value); @@ -228,8 +234,106 @@ namespace BBWY.Client.Models public ProductService productService; public BatchPublishTask() { + IncreateList = new ObservableCollection(); + foreach (var item in increates) + { + IncreateList.Add(new IncreateModel + { + IncreateName = item, + IsSelected = false + }); + } + SetBarCodeCommand = new RelayCommand(SetBarCode); + SetCertificateCommand = new RelayCommand(SetCertificate); + LookBarCommand = new RelayCommand(LookBar); + LookCerCommand = new RelayCommand(LookCer); } #region 方法 + public ICommand SetBarCodeCommand { get; set; } + public ICommand SetCertificateCommand { get; set; } + public ICommand LookBarCommand { get; set; } + public ICommand LookCerCommand { get; set; } + + + private void SetBarCode() + { + if (string.IsNullOrEmpty(SkuId)) + { + return; + } + if (BarCodeModel == null) + { + BarCodeModel = new BarCodeModel(); + BarCodeModel.ProductNo = ProductNo; + BarCodeModel.Brand = Brand; + BarCodeModel.SkuId = SkuId; + BarCodeModel.SkuName = SkuName; + } + if (!string.IsNullOrEmpty(BrandName)) + BarCodeModel.BrandName = BrandName; + + + SetBarCodeWindow setBarCodeWindow = new SetBarCodeWindow(); + setBarCodeWindow.LoadData(BarCodeModel, packTaskService); + setBarCodeWindow.SaveResult = b => + { + BarCodeModel = b; + IsSetBarCode = false; + IsNeedBarCode = Need.需要; + }; + setBarCodeWindow.Show(); + } + + /// + /// 设置合格证 + /// + private void SetCertificate() + { + if (string.IsNullOrEmpty(SkuId)) + return; + + SearSpuCer(); + + if (CertificateModel == null) + { + CertificateModel = new CertificateModel(); + CertificateModel.ProductNo = ProductNo; + CertificateModel.Brand = Brand; + CertificateModel.SkuId = SkuId; + + } + if (!string.IsNullOrEmpty(BrandName)) + CertificateModel.BrandName = BrandName; + SetCerWindow setCerWindow = new SetCerWindow(); + setCerWindow.LoadData(certificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate); + setCerWindow.SaveResult = s => + { + CertificateModel = s; + IsSetCertificate = false; + IsNeedCertificateModel = Need.需要; + }; + setCerWindow.Show(); + } + + + /// + /// 查看合格证 + /// + private void LookCer() + { + LookCerWindow lookCerWindow = new LookCerWindow(CertificateModel); + lookCerWindow.Show(); + } + /// + /// 查看条形码 + /// + private void LookBar() + { + LookBarCodeWindow look = new LookBarCodeWindow(); + look.SetData(BarCodeModel); + look.Show(); + } + /// /// 搜索 skuId /// @@ -248,7 +352,7 @@ namespace BBWY.Client.Models } Logo = skuResponse.Data[0].Logo; SkuName = skuResponse.Data[0].Title; - + SpuId = skuResponse.Data[0].ProductId; @@ -318,7 +422,8 @@ namespace BBWY.Client.Models } CertificateModel.Brand = Brand; - CertificateModel.BrandName = BrandName; + if (!string.IsNullOrEmpty(BrandName)) + CertificateModel.BrandName = BrandName; CertificateModel.ProductNo = ProductNo; CertificateModel.SkuId = skuid; BarCodeModel = productSku.Data.BarCodeModel; @@ -329,7 +434,8 @@ namespace BBWY.Client.Models IsSetBarCode = true; } BarCodeModel.Brand = Brand; - BarCodeModel.BrandName = BrandName; + if (!string.IsNullOrEmpty(BrandName)) + BarCodeModel.BrandName = BrandName; BarCodeModel.ProductNo = ProductNo; BarCodeModel.SkuId = skuid; BarCodeModel.SkuName = SkuName; @@ -343,6 +449,39 @@ namespace BBWY.Client.Models //查看有木有存在 } + public void SearSpuCer() + { + if (string.IsNullOrEmpty(SpuId)) + { + SearchSku(SkuId); + return; + } + SpuId = SpuId.Trim();//去掉空格 避免数据异常 + + + var productSku = packTaskService.GetSpuCer(SpuId); + if (productSku == null || !productSku.Success) + { + IsSetSpuCertificate = true; + + return; + } + SpuCertificateModel = productSku.Data; + IsSetSpuCertificate = false; + if (SpuCertificateModel == null) + { + SpuCertificateModel = new CertificateModel(); + IsSetSpuCertificate = true; + SpuCertificateModel.Brand = Brand; + SpuCertificateModel.BrandName = BrandName; + SpuCertificateModel.ProductNo = ProductNo; + SpuCertificateModel.SpuId = SpuId; + + } + + + } + public void InitData() { diff --git a/BBWY.Client/Models/Enums.cs b/BBWY.Client/Models/Enums.cs index 15c93476..21bb87b7 100644 --- a/BBWY.Client/Models/Enums.cs +++ b/BBWY.Client/Models/Enums.cs @@ -390,4 +390,8 @@ 不需要=0, 需要=1 } + public enum PackState + { + 待发布 = 0, 打包中 = 1, 已完成 = 2 + } } diff --git a/BBWY.Client/ViewModels/BatchPurchase/BatchPublishTaskViewModel.cs b/BBWY.Client/ViewModels/BatchPurchase/BatchPublishTaskViewModel.cs index 030c2229..d97a7b91 100644 --- a/BBWY.Client/ViewModels/BatchPurchase/BatchPublishTaskViewModel.cs +++ b/BBWY.Client/ViewModels/BatchPurchase/BatchPublishTaskViewModel.cs @@ -1,12 +1,16 @@ using BBWY.Client.APIServices; using BBWY.Client.Models; +using BBWY.Client.Views.PackTask; using BBWY.Common.Models; using GalaSoft.MvvmLight.Command; using System; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.Net.Mail; using System.Text; +using System.Threading.Tasks; using System.Windows.Input; +using System.Linq; namespace BBWY.Client.ViewModels { @@ -23,19 +27,84 @@ namespace BBWY.Client.ViewModels public ICommand CreateTaskCommand { get; set; } - public BatchPublishTaskViewModel(PackTaskService packTaskService, ProductService productService) + public BatchPublishTaskViewModel(PackTaskService packTaskService, ProductService productService, GlobalContext globalContext) { BatchPublishTasks = new ObservableCollection(); this.packTaskService = packTaskService; this.productService = productService; - CreateTaskCommand = new RelayCommand(CreateTask); + CreateTaskCommand = new RelayCommand(CreateTask); + this.globalContext = globalContext; } - - private void CreateTask() + GlobalContext globalContext; + private void CreateTask(object obj) { - + foreach (var task in batchPublishTasks) + { + string increateStr = ""; + var increates = task.IncreateList.Where(i => i.IsSelected).Select(i => i.IncreateName); + if (increates != null && increates.Count() > 0) + { + increateStr = string.Join(",", increates); + } + var createTaskModel = new Models.APIModel.Request.CreateTaskRequest + { + ProductNo = task.ProductNo, + Logo = task.Logo, + SkuName = task.SkuName, + BrandName = task.BrandName, + Availability = (int)task.Availability, + BasicPack = (int)task.BasicPack, + SkuId = task.SkuId, + CreateTime = DateTime.Now, + Increment1 = increateStr, + CertificatePosition = (int)task.CertificatePosition, + PackType = (int)task.PackType, + MarkMessage = task.MarkMessage, + PositionType = (int)task.PositionType, + GoodsNumber = task.GoodsNumber, + SkuGoodsTitle = task.SkuTitle, + SkuCount = task.SkuCount, + UserId = globalContext.User.Id.ToString(), + ShopId = PurchaserId, + IsWorry = task.IsWorry, + OrderId = orderId + }; + if (task.IsNeedBarCode == Need.需要) + { + if (task.BarCodeModel == null || task.BarCodeModel.Id <= 0) + { + new TipsWindow("请设置条形码模板").Show(); + return; + } + createTaskModel.BarCodeId = task.BarCodeModel.Id; + } + if (task.IsNeedCertificateModel == Need.需要) + { + if (task.CertificateModel == null || task.CertificateModel.Id <= 0) + { + new TipsWindow("请设置合格证模板").Show(); + return; + } + createTaskModel.CertificateId = task.CertificateModel.Id;// + } + ApiResponse res = null; + res = packTaskService.CreateTask(createTaskModel); + + if (!res.Success) + { + new TipsWindow(res.Msg); + return; + } + } + var win = obj as System.Windows.Window; + if (PublishTask != null) PublishTask(); + win.Close(); + } + public Action PublishTask { get; set; } + + Platform platform; string orderId; string PurchaserId; public void AddSkus(Platform platform, string orderId, string PurchaserId, List purchaseOrderSkus) { @@ -47,7 +116,6 @@ namespace BBWY.Client.ViewModels foreach (var item in purchaseOrderSkus) { model = new BatchPublishTask(); - //model.InitData(); model.productService = productService; model.packTaskService = packTaskService; model.SkuId = item.SkuId; diff --git a/BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseOrderListViewModel.cs b/BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseOrderListViewModel.cs index f8df4406..22f38019 100644 --- a/BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseOrderListViewModel.cs +++ b/BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseOrderListViewModel.cs @@ -97,9 +97,14 @@ namespace BBWY.Client.ViewModels ViewModelLocator viewModelLocator = new ViewModelLocator(); BatchPublishTaskViewModel batch = viewModelLocator.BatchPublishTask; - - batch.AddSkus(PurchasePlatform, id, PurchaserId, itemList); BatchPublishTaskWindow window = new BatchPublishTaskWindow(); + batch.PublishTask = () => { + //修改状态 + batchPurchaseService.UpdatePackState(id, PackState.打包中); + Task.Factory.StartNew(() => QueryPurchaseOrder(PageIndex)); + }; + batch.AddSkus(PurchasePlatform, id, PurchaserId, itemList); + window.ShowDialog(); diff --git a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs index 3e3ad520..4ac82a69 100644 --- a/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs +++ b/BBWY.Client/ViewModels/PackTask/CreatePackTaskViewModel.cs @@ -222,18 +222,18 @@ namespace BBWY.Client.ViewModels.PackTask /// public PositionType PositionType { get => positionType; set { Set(ref positionType, value); } } - private string isNeedBarCode; + private Need isNeedBarCode; /// /// 是否需要合格证 /// - public string IsNeedBarCode { get => isNeedBarCode; set { Set(ref isNeedBarCode, value); } } + public Need IsNeedBarCode { get => isNeedBarCode; set { Set(ref isNeedBarCode, value); } } - private string isNeedCertificateModel; + private Need isNeedCertificateModel; /// /// 是否需要条形码 /// - public string IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } } + public Need IsNeedCertificateModel { get => isNeedCertificateModel; set { Set(ref isNeedCertificateModel, value); } } @@ -255,7 +255,7 @@ namespace BBWY.Client.ViewModels.PackTask { Set(ref isSetBarCode, value); - IsNeedBarCode = IsSetBarCode ? "不需要" : "需要"; + IsNeedBarCode = IsSetBarCode ? Need.不需要 : Need.需要; } } @@ -269,7 +269,7 @@ namespace BBWY.Client.ViewModels.PackTask { Set(ref isSetCertificate, value); - IsNeedCertificateModel = IsSetCertificate ? "不需要" : "需要"; + IsNeedCertificateModel = IsSetCertificate ? Need.不需要 : Need.需要; } } private string setSpuCerStatus; @@ -371,13 +371,13 @@ namespace BBWY.Client.ViewModels.PackTask string[] increates = new string[] { "气泡纸", "气泡袋", "POP袋", "折纸箱", "气泡纸封边", "彩盒", "剪胶", "剪彩带", "快递袋", "收纳盒", "纸箱子", "装纸箱", "封边", "胶带", "折彩盒" }; public void InitData(PackTaskModel model = null) { - + IncreateList = new ObservableCollection(); SpuId = string.Empty; if (model == null) { - + SaveTask = "发布"; TaskId = 0; Logo = string.Empty; @@ -427,8 +427,8 @@ namespace BBWY.Client.ViewModels.PackTask PositionType = model.PositionType; PackType = model.PackType; BasicPack = model.BasicPack; - IsNeedBarCode = model.BarCodeModel != null ? "需要" : "不需要"; - IsNeedCertificateModel = model.CertificateModel != null ? "需要" : "不需要"; + IsNeedBarCode = model.BarCodeModel == null ? Need.不需要 : Need.需要; + IsNeedCertificateModel = model.CertificateModel == null ? Need.不需要 : Need.需要; CertificatePosition = model.CertificatePosition; TaskId = model.TaskId; string[] increateDatas = model.Increment1.Split(','); @@ -441,7 +441,8 @@ namespace BBWY.Client.ViewModels.PackTask { isSelected = true; } - App.Current.Dispatcher.Invoke(() => { + App.Current.Dispatcher.Invoke(() => + { IncreateList.Add(new IncreateModel { IncreateName = item, @@ -470,7 +471,7 @@ namespace BBWY.Client.ViewModels.PackTask IsSetCertificate = true; //数据库获取增量耗材数据 - + IncreateList = new ObservableCollection(); foreach (var item in increates) { @@ -504,7 +505,7 @@ namespace BBWY.Client.ViewModels.PackTask LookBarCommand = new RelayCommand(LookBar); LookCerCommand = new RelayCommand(LookCer); - + delayTrigger = new DelayTrigger(500); delayTrigger.OnExecute = OnSearchIncreateKeyWordChanged; BarLabelCheck(BarcodeLabelModel.精简模板);//默认精简模式 @@ -531,7 +532,7 @@ namespace BBWY.Client.ViewModels.PackTask ProductNo = SpuCertificateModel.ProductNo, Shader = SpuCertificateModel.Shader, ProductShop = SpuCertificateModel.ProductShop, - ApplyAge = SpuCertificateModel.ApplyAge, + ApplyAge = SpuCertificateModel.ApplyAge, }; } @@ -545,7 +546,8 @@ namespace BBWY.Client.ViewModels.PackTask SpuCertificateModel.Brand = Brand; SpuCertificateModel.SkuId = SkuId; } - SpuCertificateModel.BrandName = BrandName; + if (!string.IsNullOrEmpty(BrandName)) + SpuCertificateModel.BrandName = BrandName; setSpuCerWindow = new SetSpuCerWindow(); setSpuCerWindow.Show(); } @@ -575,7 +577,7 @@ namespace BBWY.Client.ViewModels.PackTask Shader = SpuCertificateModel.Shader, SkuId = SpuCertificateModel.SkuId, ApplyAge = SpuCertificateModel.ApplyAge, - + }); @@ -678,31 +680,7 @@ namespace BBWY.Client.ViewModels.PackTask //throw new NotImplementedException(); } - /// - /// 设置合格证 - /// - private void SetCertificate() - { - if (string.IsNullOrEmpty(SearchSkuId)) - { - new TipsWindow("请先查询skuId").Show(); - return; - } - SearSpuCer(); - - if (CertificateModel == null) - { - CertificateModel = new CertificateModel(); - CertificateModel.ProductNo = ProductNo; - CertificateModel.Brand = Brand; - CertificateModel.SkuId = SkuId; - } - CertificateModel.BrandName = BrandName; - setCerWindow = new SetCerWindow(); - setCerWindow.Show(); - //throw new NotImplementedException(); - } /// /// 保存合格证 /// @@ -738,18 +716,20 @@ namespace BBWY.Client.ViewModels.PackTask IsSetCertificate = false; return; } - IsNeedCertificateModel = "需要"; + IsNeedCertificateModel = Need.需要; CertificateModel.Id = resData.Data; IsSetCertificate = false; setCerWindow.Close(); } SetBarCodeWindow setBarCodeWindow = null; SetCerWindow setCerWindow = null; SetSpuCerWindow setSpuCerWindow = null; + + public BarcodeLabelModel LabelModel = BarcodeLabelModel.精简模板; + private void SetBarCode() { - if (string.IsNullOrEmpty(SearchSkuId)) + if (string.IsNullOrEmpty(SkuId)) { - new TipsWindow("请先查询skuId").Show(); return; } if (BarCodeModel == null) @@ -759,15 +739,54 @@ namespace BBWY.Client.ViewModels.PackTask BarCodeModel.Brand = Brand; BarCodeModel.SkuId = SkuId; BarCodeModel.SkuName = SkuName; - } - BarCodeModel.BrandName = BrandName; - setBarCodeWindow = new SetBarCodeWindow(); + if (!string.IsNullOrEmpty(BrandName)) + BarCodeModel.BrandName = BrandName; + + SetBarCodeWindow setBarCodeWindow = new SetBarCodeWindow(); + setBarCodeWindow.LoadData(BarCodeModel, packTaskService); + setBarCodeWindow.SaveResult = b => + { + BarCodeModel = b; + IsSetBarCode = false; + IsNeedBarCode = Need.需要; + }; setBarCodeWindow.Show(); } - public BarcodeLabelModel LabelModel = BarcodeLabelModel.精简模板; + /// + /// 设置合格证 + /// + private void SetCertificate() + { + if (string.IsNullOrEmpty(SkuId)) + return; + + SearSpuCer(); + + if (CertificateModel == null) + { + CertificateModel = new CertificateModel(); + CertificateModel.ProductNo = ProductNo; + CertificateModel.Brand = Brand; + CertificateModel.SkuId = SkuId; + + } + if (!string.IsNullOrEmpty(BrandName)) + CertificateModel.BrandName = BrandName; + SetCerWindow setCerWindow = new SetCerWindow(); + setCerWindow.LoadData(certificateModel, packTaskService, spuCertificateModel, IsSetSpuCertificate); + setCerWindow.SaveResult = s => + { + CertificateModel = s; + IsSetCertificate = false; + IsNeedCertificateModel = Need.需要; + }; + setCerWindow.Show(); + } + + private void SaveBarCode() { @@ -785,12 +804,12 @@ namespace BBWY.Client.ViewModels.PackTask //保存到服务器中 返回id var resData = packTaskService.SaveBarCode(new BarCodeRequest { - Brand = Brand, - BrandName = BrandName, - ProductNo = ProductNo, - SkuId = SkuId, - SkuName = SkuName, - LabelModel = LabelModel + Brand = BarCodeModel. Brand, + BrandName = BarCodeModel.BrandName, + ProductNo = BarCodeModel.ProductNo, + SkuId = BarCodeModel.SkuId, + SkuName = BarCodeModel.SkuName, + LabelModel = BarCodeModel.LabelModel }); if (resData == null || !resData.Success) @@ -800,7 +819,7 @@ namespace BBWY.Client.ViewModels.PackTask } BarCodeModel.Id = resData.Data; - IsNeedBarCode = "需要"; + IsNeedBarCode = Need.需要; IsSetBarCode = false; setBarCodeWindow.Close(); } @@ -846,7 +865,7 @@ namespace BBWY.Client.ViewModels.PackTask Increment2 = (int)Increment2, CertificatePosition = (int)CertificatePosition, PackType = (int)PackType, - MarkMessage = markMessage, + MarkMessage = MarkMessage, PositionType = (int)PositionType, GoodsNumber = GoodsNumber, SkuGoodsTitle = SkuTitle, @@ -855,7 +874,7 @@ namespace BBWY.Client.ViewModels.PackTask ShopId = globalContext.User.Shop.ShopId.ToString(), IsWorry = IsWorry }; - if (IsNeedBarCode == "需要") + if (IsNeedBarCode == Need.需要) { if (BarCodeModel == null || BarCodeModel.Id <= 0) { @@ -864,7 +883,7 @@ namespace BBWY.Client.ViewModels.PackTask } createTaskModel.BarCodeId = BarCodeModel.Id; } - if (IsNeedCertificateModel == "需要") + if (IsNeedCertificateModel == Need.需要) { if (CertificateModel == null || CertificateModel.Id <= 0) { @@ -940,16 +959,16 @@ namespace BBWY.Client.ViewModels.PackTask return; } - if (productSku.Data.PackConfig!=null) + if (productSku.Data.PackConfig != null) { var config = productSku.Data.PackConfig; SkuTitle = config.SkuGoodsTitle; GoodsNumber = config.GoodsNumber; PackType = (PackType)config.PackType; - BasicPack=(BasicPack)config.BasicPack; - Availability =(TaskState)config.Availability; + BasicPack = (BasicPack)config.BasicPack; + Availability = (TaskState)config.Availability; MarkMessage = config.MarkMessage; - CertificatePosition = config.CertificatePosition==null? CertificatePosition .无: (CertificatePosition)config.CertificatePosition.Value; + CertificatePosition = config.CertificatePosition == null ? CertificatePosition.无 : (CertificatePosition)config.CertificatePosition.Value; // Increment1 = config.Increment1; string[] increateDatas = config.Increment1.Split(','); @@ -961,12 +980,13 @@ namespace BBWY.Client.ViewModels.PackTask { isSelected = true; } - App.Current.Dispatcher.Invoke(() => { - IncreateList.Add(new IncreateModel + App.Current.Dispatcher.Invoke(() => { - IncreateName = item, - IsSelected = isSelected - }); + IncreateList.Add(new IncreateModel + { + IncreateName = item, + IsSelected = isSelected + }); }); } @@ -984,7 +1004,9 @@ namespace BBWY.Client.ViewModels.PackTask } CertificateModel.Brand = Brand; - CertificateModel.BrandName = BrandName; + if (!string.IsNullOrEmpty(BrandName)) + + CertificateModel.BrandName = BrandName; CertificateModel.ProductNo = ProductNo; CertificateModel.SkuId = SkuId; BarCodeModel = productSku.Data.BarCodeModel; @@ -995,8 +1017,10 @@ namespace BBWY.Client.ViewModels.PackTask IsSetBarCode = true; } BarCodeModel.Brand = Brand; - BarCodeModel.BrandName = BrandName; + if (!string.IsNullOrEmpty(BrandName)) + BarCodeModel.BrandName = BrandName; BarCodeModel.ProductNo = ProductNo; + BarCodeModel.SkuId = SkuId; BarCodeModel.SkuName = SkuName; } @@ -1035,7 +1059,8 @@ namespace BBWY.Client.ViewModels.PackTask SpuCertificateModel = new CertificateModel(); IsSetSpuCertificate = true; SpuCertificateModel.Brand = Brand; - SpuCertificateModel.BrandName = BrandName; + if (!string.IsNullOrEmpty(BrandName)) + SpuCertificateModel.BrandName = BrandName; SpuCertificateModel.ProductNo = ProductNo; SpuCertificateModel.SpuId = SpuId; diff --git a/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml b/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml index 2da46ca3..c9558552 100644 --- a/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml +++ b/BBWY.Client/Views/BatchPurchase/BatchPublishTaskWindow.xaml @@ -17,7 +17,7 @@ MinButtonVisibility="Collapsed" MaxButtonVisibility="Collapsed" RightButtonGroupMargin="0,5,5,0" - Title="发布任务" Height="350" Width="1500"> + Title="发布任务" Height="800" Width="1300"> @@ -243,7 +243,7 @@ - + diff --git a/BBWY.Client/Views/BatchPurchase/BatchPurchaseOrderList.xaml b/BBWY.Client/Views/BatchPurchase/BatchPurchaseOrderList.xaml index 6b45ec11..ebcc64cd 100644 --- a/BBWY.Client/Views/BatchPurchase/BatchPurchaseOrderList.xaml +++ b/BBWY.Client/Views/BatchPurchase/BatchPurchaseOrderList.xaml @@ -403,44 +403,47 @@ - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/BBWY.Client/Views/PackTask/LookCerWindow.xaml.cs b/BBWY.Client/Views/PackTask/LookCerWindow.xaml.cs index 16c2bfa8..6896f26e 100644 --- a/BBWY.Client/Views/PackTask/LookCerWindow.xaml.cs +++ b/BBWY.Client/Views/PackTask/LookCerWindow.xaml.cs @@ -25,27 +25,27 @@ namespace BBWY.Client.Views.PackTask { InitializeComponent(); - CertificateModel data = new CertificateModel - { - Brand = certificate.Brand, - BrandName = certificate.BrandName, - ExcuteStander = certificate.ExcuteStander, - FactoryNumber = certificate.FactoryNumber, - IsLogo = certificate.IsLogo, - LabelModel = certificate.LabelModel, - ProductAdress = certificate.ProductAdress, - Id = certificate.Id, - ProductDate = certificate.ProductDate, - ProductNo = certificate.ProductNo, - ProductShop = certificate.ProductShop, - Shader = certificate.Shader, - SkuId = certificate.SkuId, - Reseller = certificate.Reseller, - ApplyAge = certificate.ApplyAge, + //CertificateModel data = new CertificateModel + //{ + // Brand = certificate.Brand, + // BrandName = certificate.BrandName, + // ExcuteStander = certificate.ExcuteStander, + // FactoryNumber = certificate.FactoryNumber, + // IsLogo = certificate.IsLogo, + // LabelModel = certificate.LabelModel, + // ProductAdress = certificate.ProductAdress, + // Id = certificate.Id, + // ProductDate = certificate.ProductDate, + // ProductNo = certificate.ProductNo, + // ProductShop = certificate.ProductShop, + // Shader = certificate.Shader, + // SkuId = certificate.SkuId, + // Reseller = certificate.Reseller, + // ApplyAge = certificate.ApplyAge, - }; + //}; - this.DataContext = data; + this.DataContext = certificate; } } } diff --git a/BBWY.Client/Views/PackTask/SetBarCode.xaml b/BBWY.Client/Views/PackTask/SetBarCode.xaml index df2dc52f..c37d61c0 100644 --- a/BBWY.Client/Views/PackTask/SetBarCode.xaml +++ b/BBWY.Client/Views/PackTask/SetBarCode.xaml @@ -12,7 +12,6 @@ xmlns:ctr="clr-namespace:BBWY.Client.Converters" xmlns:cmodel="clr-namespace:BBWY.Client.Models" xmlns:sys="clr-namespace:System;assembly=mscorlib" - DataContext="{Binding CreateTaskView,Source={StaticResource Locator}}" CloseButtonVisibility="Visible" CloseButtonColor="{StaticResource WindowButtonColor}" MinButtonVisibility="Collapsed" @@ -138,6 +137,6 @@ + Command="{Binding SaveBarCodeCommand}" Click="BButton_Click" /> diff --git a/BBWY.Client/Views/PackTask/SetBarCode.xaml.cs b/BBWY.Client/Views/PackTask/SetBarCode.xaml.cs index 62a1137a..1a00bf89 100644 --- a/BBWY.Client/Views/PackTask/SetBarCode.xaml.cs +++ b/BBWY.Client/Views/PackTask/SetBarCode.xaml.cs @@ -1,4 +1,6 @@ -using BBWY.Client.Models; +using BBWY.Client.APIServices; +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel.Request; using BBWY.Controls; using System; using System.Collections.Generic; @@ -19,10 +21,60 @@ namespace BBWY.Client.Views.PackTask /// public partial class SetBarCodeWindow : BWindow { - public SetBarCodeWindow( ) + public SetBarCodeWindow() { InitializeComponent(); } + public void LoadData(BarCodeModel barCodeModel,PackTaskService PackTaskService) + { + BarCodeModel = barCodeModel; packTaskService = PackTaskService; + this.DataContext = this; + } + + public BarCodeModel BarCodeModel { get; set; } + public PackTaskService packTaskService { get; set; } + public Action SaveResult { get; set; } + + private void BButton_Click(object sender, RoutedEventArgs e) + { + if (BarCodeModel.LabelModel == BarcodeLabelModel.标准模板)//标准版 判断数据是否异常 + { + if (string.IsNullOrEmpty(BarCodeModel.ProductNo) || BarCodeModel.ProductNo == "待填写") + { + TipsWindow tips = new TipsWindow("该SKU无货号信息,将影响条形码打印\r\n请先设置好货号信息或调整打印模板类型"); + tips.Show(); + return; + } + } + + //保存到服务器中 返回id + var resData = packTaskService.SaveBarCode(new BarCodeRequest + { + Brand = BarCodeModel.Brand, + BrandName = BarCodeModel.BrandName, + ProductNo = BarCodeModel.ProductNo, + SkuId = BarCodeModel.SkuId, + SkuName = BarCodeModel.SkuName, + LabelModel = BarCodeModel.LabelModel + + }); + if (resData == null || !resData.Success) + { + //IsSetBarCode = false; + return; + } + + BarCodeModel.Id = resData.Data; + if (SaveResult != null) + SaveResult(BarCodeModel); + // IsNeedBarCode = "需要"; + //IsSetBarCode = false; + // setBarCodeWindow.Close(); + + this.Close(); + } + + } } diff --git a/BBWY.Client/Views/PackTask/SetCerWindow.xaml b/BBWY.Client/Views/PackTask/SetCerWindow.xaml index 986b6a00..908fef8c 100644 --- a/BBWY.Client/Views/PackTask/SetCerWindow.xaml +++ b/BBWY.Client/Views/PackTask/SetCerWindow.xaml @@ -12,7 +12,6 @@ xmlns:ctr="clr-namespace:BBWY.Client.Converters" xmlns:cmodel="clr-namespace:BBWY.Client.Models" xmlns:sys="clr-namespace:System;assembly=mscorlib" - DataContext="{Binding CreateTaskView,Source={StaticResource Locator}}" CloseButtonVisibility="Visible" CloseButtonColor="{StaticResource WindowButtonColor}" MinButtonVisibility="Collapsed" @@ -36,10 +35,10 @@ - - + + - + - + diff --git a/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs b/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs index 5d378ca6..287d62aa 100644 --- a/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs +++ b/BBWY.Client/Views/PackTask/SetCerWindow.xaml.cs @@ -1,5 +1,9 @@ -using BBWY.Client.Models; +using BBWY.Client.APIServices; +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel.Request; using BBWY.Controls; +using NPOI.Util; +using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyCastle.Ocsp; using System; using System.Collections.Generic; @@ -24,5 +28,106 @@ namespace BBWY.Client.Views.PackTask { InitializeComponent(); } + + public void LoadData(CertificateModel CertificateModel, PackTaskService packTaskService, CertificateModel SpuCertificateModel,bool IsSetSpuCertificate) + { + this.CertificateModel = CertificateModel.Copy(); + this.SpuCertificateModel = SpuCertificateModel.Copy(); + this.packTaskService = packTaskService; + this.IsSetSpuCertificate = IsSetSpuCertificate; + SetSpuCer.Content = IsSetSpuCertificate ? "设置spu模板" : "修改spu模板"; + this.DataContext = this; + + } + public bool IsSetSpuCertificate { get; set; } + public PackTaskService packTaskService { get; set; } + public CertificateModel CertificateModel { get; set; } + public CertificateModel SpuCertificateModel { get; set; } + + public Action SaveResult { get; set; } + + private void save_btn_Click(object sender, RoutedEventArgs e) + { + if (string.IsNullOrEmpty(CertificateModel.ExcuteStander) + || string.IsNullOrEmpty(CertificateModel.Shader) || string.IsNullOrEmpty(CertificateModel.BrandName) + || string.IsNullOrEmpty(CertificateModel.Brand) || string.IsNullOrEmpty(CertificateModel.ProductShop) + || string.IsNullOrEmpty(CertificateModel.ProductAdress)) + { + new TipsWindow("参数出错!请重新填写!").Show(); + return; + } + var standers = CertificateModel.ExcuteStander.Split(',', StringSplitOptions.RemoveEmptyEntries); + + var resData = packTaskService.SaveCer(new CerRequest + { + Brand = CertificateModel.Brand, + BrandName = CertificateModel.BrandName, + ProductNo = CertificateModel.ProductNo, + SkuId = CertificateModel.SkuId, + ExcuteStander = CertificateModel.ExcuteStander, + LabelModel = (int)CertificateModel.LabelModel, + FactoryNumber = CertificateModel.FactoryNumber, + IsLogo = CertificateModel.IsLogo, + ProductAdress = CertificateModel.ProductAdress, + ProductShop = CertificateModel.ProductShop, + Shader = CertificateModel.Shader, + ApplyAge = CertificateModel.ApplyAge, + }); + if (resData == null || !resData.Success) + { + // IsSetCertificate = false; + return; + } + // IsNeedCertificateModel = "需要"; + CertificateModel.Id = resData.Data; + if (SaveResult != null) SaveResult(CertificateModel); + this.Close(); + //IsSetCertificate = false; + //setCerWindow.Close(); + } + + private void SetSpuCer_Click(object sender, RoutedEventArgs e) + { + if (SpuCertificateModel == null) + { + SpuCertificateModel = new CertificateModel(); + SpuCertificateModel.ProductNo = CertificateModel.ProductNo; + SpuCertificateModel.Brand = CertificateModel.Brand; + SpuCertificateModel.SkuId = CertificateModel.SkuId; + } + SetSpuCerWindow setSpuCerWindow = new SetSpuCerWindow(); + setSpuCerWindow.LoadData(SpuCertificateModel, packTaskService); + + setSpuCerWindow.SaveResult = s => + { + SpuCertificateModel = s; + SetSpuCer.Content = "修改spu模板";//"设置spu模板" : "修改spu模板"; + IsSetSpuCertificate = false; + }; + + setSpuCerWindow.Show(); + } + + private void InseartCer_Click(object sender, RoutedEventArgs e) + { + if (IsSetSpuCertificate) + { + new TipsWindow("无可用模板").Show(); + return; + } + + CertificateModel.Brand = SpuCertificateModel.Brand; + CertificateModel.BrandName = SpuCertificateModel.BrandName; + CertificateModel.ExcuteStander = SpuCertificateModel.ExcuteStander; + CertificateModel.FactoryNumber = SpuCertificateModel.FactoryNumber; + CertificateModel.IsLogo = SpuCertificateModel.IsLogo; + CertificateModel.LabelModel = SpuCertificateModel.LabelModel; + CertificateModel.ProductAdress = SpuCertificateModel.ProductAdress; + CertificateModel.ProductNo = SpuCertificateModel.ProductNo; + CertificateModel.Shader = SpuCertificateModel.Shader; + CertificateModel.ProductShop = SpuCertificateModel.ProductShop; + CertificateModel.ApplyAge = SpuCertificateModel.ApplyAge; + + } } } diff --git a/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml b/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml index c994728b..e40559ee 100644 --- a/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml +++ b/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml @@ -11,8 +11,7 @@ xmlns:b="http://schemas.microsoft.com/xaml/behaviors" xmlns:ctr="clr-namespace:BBWY.Client.Converters" xmlns:cmodel="clr-namespace:BBWY.Client.Models" - xmlns:sys="clr-namespace:System;assembly=mscorlib" - DataContext="{Binding CreateTaskView,Source={StaticResource Locator}}" + xmlns:sys="clr-namespace:System;assembly=mscorlib" CloseButtonVisibility="Visible" CloseButtonColor="{StaticResource WindowButtonColor}" MinButtonVisibility="Collapsed" @@ -29,7 +28,7 @@ Background="{StaticResource Border.Background}"> - + - + diff --git a/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml.cs b/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml.cs index d31cb5be..65678572 100644 --- a/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml.cs +++ b/BBWY.Client/Views/PackTask/SetSpuCerWindow.xaml.cs @@ -1,4 +1,8 @@ -using BBWY.Controls; +using BBWY.Client.APIServices; +using BBWY.Client.Models; +using BBWY.Client.Models.APIModel.Request; +using BBWY.Controls; +using NPOI.Util; using System; using System.Collections.Generic; using System.Text; @@ -22,5 +26,55 @@ namespace BBWY.Client.Views.PackTask { InitializeComponent(); } + + + + private PackTaskService packTaskService { get; set; } + public CertificateModel SpuCertificateModel { get; set; } + + public void LoadData(CertificateModel SpuCertificateModel, PackTaskService packTaskService) + { + this.SpuCertificateModel = SpuCertificateModel.Copy(); + this.packTaskService = packTaskService; + this.DataContext=this; + } + public Action SaveResult { get; set; } + private void save_spuCer_Click(object sender, RoutedEventArgs e) + { + if (string.IsNullOrEmpty(SpuCertificateModel.ExcuteStander) + || string.IsNullOrEmpty(SpuCertificateModel.BrandName) + || string.IsNullOrEmpty(SpuCertificateModel.Brand) || string.IsNullOrEmpty(SpuCertificateModel.ProductShop) + || string.IsNullOrEmpty(SpuCertificateModel.ProductAdress)) + { + new TipsWindow("参数出错!请重新填写!").Show(); + return; + } + var resData = packTaskService.SaveSpuCer(new CerRequest + { + Brand = SpuCertificateModel.Brand, + BrandName = SpuCertificateModel.BrandName, + ProductNo = SpuCertificateModel.ProductNo, + SpuId = SpuCertificateModel.SpuId, + ExcuteStander = SpuCertificateModel.ExcuteStander, + LabelModel = (int)SpuCertificateModel.LabelModel, + FactoryNumber = SpuCertificateModel.FactoryNumber, + IsLogo = SpuCertificateModel.IsLogo, + ProductAdress = SpuCertificateModel.ProductAdress, + ProductShop = SpuCertificateModel.ProductShop, + Shader = SpuCertificateModel.Shader, + SkuId = SpuCertificateModel.SkuId, + ApplyAge = SpuCertificateModel.ApplyAge, + + + + }); + if (resData == null || !resData.Success) + { + return; + } + + if (SaveResult != null) SaveResult(SpuCertificateModel); + this.Close(); + } } } diff --git a/BBWY.Server.API/Controllers/BatchPurchaseController.cs b/BBWY.Server.API/Controllers/BatchPurchaseController.cs index 8511321f..5b6358ac 100644 --- a/BBWY.Server.API/Controllers/BatchPurchaseController.cs +++ b/BBWY.Server.API/Controllers/BatchPurchaseController.cs @@ -59,16 +59,36 @@ namespace BBWY.Server.API.Controllers return batchPurchaseBusiness.GetPurchaseOrderList(request); } + /// + /// 支付订单 + /// + /// + /// [HttpPost] public PayPurchaseOrderResponse PayPurchaseOrder([FromBody] PayPurchaseOrderRequest request) { return batchPurchaseBusiness.PayPurchaseOrder(request); } + /// + /// 取消订单 + /// + /// + /// [HttpPost] public CancelPurchaseOrderResponse CancelPurchaseOrder([FromBody] CancelPurchaseOrderRequest request) { return batchPurchaseBusiness.CancelPurchaseOrder(request); } + /// + /// 修改打包状态 + /// + /// + /// + [HttpPost] + public UpdatePackStateResponse UpdatePackState([FromBody] UpdatePackStateRequest request) + { + return batchPurchaseBusiness.UpdatePackState(request); + } } } diff --git a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs index a41f8b26..1ab5c946 100644 --- a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs @@ -260,7 +260,7 @@ namespace BBWY.Server.Business TradeMode = tradeMode, Extensions = cardId, AutoPay = request.AutoPay, - + }); @@ -403,8 +403,10 @@ namespace BBWY.Server.Business .ExecuteAffrows(); } - return new PayPurchaseOrderResponse() { Success= payOrderResponse.Success, - Msg = payOrderResponse.Msg + return new PayPurchaseOrderResponse() + { + Success = payOrderResponse.Success, + Msg = payOrderResponse.Msg }; } @@ -415,7 +417,7 @@ namespace BBWY.Server.Business if (payOrderResponse.Success) { - var order =fsql.Select().Where(p => p.Id == request.OrderId).ToOne(); + var order = fsql.Select().Where(p => p.Id == request.OrderId).ToOne(); fsql.Update(order) .Set(a => a.OrderState, Enums.PurchaseOrderState.已取消) .ExecuteAffrows(); @@ -428,5 +430,15 @@ namespace BBWY.Server.Business Msg = payOrderResponse.Msg }; } + + public UpdatePackStateResponse UpdatePackState(UpdatePackStateRequest request) + { + + var order = fsql.Select().Where(p => p.Id == request.OrderId).ToOne(); + fsql.Update(order) + .Set(a => a.PackState, request.PackState) + .ExecuteAffrows(); + return new UpdatePackStateResponse(); + } } } diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs index 72a7c60a..1d9d6210 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs @@ -203,6 +203,11 @@ namespace BBWY.Server.Model.Db /// [Column(MapType = typeof(int))] public Enums.PurchaseOrderMode PurchaseOrderMode { get; set; } + /// + /// 打包状态 (待发布=0,打包中=1,已完成=2) + /// + [Column(MapType = typeof(int))] + public Enums.PackState PackState { get; set; } } } diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/UpdatePackStateRequest.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/UpdatePackStateRequest.cs new file mode 100644 index 00000000..076980c7 --- /dev/null +++ b/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase/UpdatePackStateRequest.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; +using BBWY.Server.Model; + +namespace BBWY.Server.Model.Dto +{ + public class UpdatePackStateRequest + { + public string OrderId { get; set; } + public Enums.PackState PackState { get ;set ;} + } +} diff --git a/BBWY.Server.Model/Dto/Response/PurchaseOrderV2/BatchPurchase/UpdatePackStateResponse.cs b/BBWY.Server.Model/Dto/Response/PurchaseOrderV2/BatchPurchase/UpdatePackStateResponse.cs new file mode 100644 index 00000000..8ff070f3 --- /dev/null +++ b/BBWY.Server.Model/Dto/Response/PurchaseOrderV2/BatchPurchase/UpdatePackStateResponse.cs @@ -0,0 +1,10 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Server.Model.Dto +{ + public class UpdatePackStateResponse + { + } +} diff --git a/BBWY.Server.Model/Enums.cs b/BBWY.Server.Model/Enums.cs index 35b8cf42..c30b3be4 100644 --- a/BBWY.Server.Model/Enums.cs +++ b/BBWY.Server.Model/Enums.cs @@ -319,5 +319,11 @@ { 待付款 = 0, 待发货 = 1, 待收货 = 2, 待质检 = 3, 待打包 = 4, 待结算 = 5, 已完成 = 6, 已取消 = 7 } + + + public enum PackState + { + 待发布=0,打包中=1,已完成=2 + } } }