diff --git a/BBWY.Client/APIServices/PackPurchaseTaskService.cs b/BBWY.Client/APIServices/PackPurchaseTaskService.cs index bfd26b7d..16a0925b 100644 --- a/BBWY.Client/APIServices/PackPurchaseTaskService.cs +++ b/BBWY.Client/APIServices/PackPurchaseTaskService.cs @@ -1,5 +1,6 @@ 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; using BBWY.Common.Http; using BBWY.Common.Models; @@ -89,6 +90,11 @@ namespace BBWY.Client.APIServices } + public ApiResponse GetQualityTask(long taskId) + { + + return SendRequest(globalContext.QKApiHost, $"api/PackPurchaseTask/GetQualityTask?taskId={taskId}", null, null, HttpMethod.Post); + } } } diff --git a/BBWY.Client/APIServices/PurchaseService.cs b/BBWY.Client/APIServices/PurchaseService.cs index 8a5c92ca..19bc8b84 100644 --- a/BBWY.Client/APIServices/PurchaseService.cs +++ b/BBWY.Client/APIServices/PurchaseService.cs @@ -80,5 +80,20 @@ namespace BBWY.Client.APIServices { return SendRequest(globalContext.BBYWApiHost, $"api/purchasescheme/DeletePurchaseScheme/{schemeId}", null, null, HttpMethod.Delete); } + + + + public ApiResponse GetPurchaseSkuBasicInfo(string purchaseProductId, Platform platform = Platform.阿里巴巴, int priceMode = 0, int firstApiMode = 0) + { + + + return SendRequest("http://bbwyb.qiyue666.com", $"Api/PurchaseScheme/GetPurchaseSkuBasicInfo", new + { + purchaseProductId, + platform, + priceMode, + firstApiMode + }, null, HttpMethod.Post); + } } } diff --git a/BBWY.Client/BBWYAppSettings.json b/BBWY.Client/BBWYAppSettings.json index 9622efaf..e1b3dcff 100644 --- a/BBWY.Client/BBWYAppSettings.json +++ b/BBWY.Client/BBWYAppSettings.json @@ -4,6 +4,6 @@ "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/Response/PackPurchaseTask/ConfigPackResponse.cs b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs index f9005265..0e12d342 100644 --- a/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/ConfigPackResponse.cs @@ -1,4 +1,5 @@ using BBWY.Client.Models.APIModel.Response.PackTask; +using BBWY.Client.Models.QualityTask; using System; using System.Collections.Generic; using System.Text; @@ -27,36 +28,36 @@ namespace BBWY.Client.Models.APIModel public PackConfig PackConfig { get; set; } } - /// - /// 配件sku - /// - public class PurchaseSku - { - /// - /// 配件图 - /// - public string Logo { get; set; } - /// - /// 配件商品Id - /// - public string PurchaseSkuId { get; set; } + ///// + ///// 配件sku + ///// + //public class PurchaseSku + //{ + // /// + // /// 配件图 + // /// + // public string Logo { get; set; } + // /// + // /// 配件商品Id + // /// + // public string PurchaseSkuId { get; set; } - /// - /// 配件商品spuId - /// - public string PurchaseProductId { get; set; } - /// - /// 配件名称 - /// - public string Title { get; set; } - /// - /// 是否需要配置合格证 - /// - public bool IsNeedCer { get; set; } + // /// + // /// 配件商品spuId + // /// + // public string PurchaseProductId { get; set; } + // /// + // /// 配件名称 + // /// + // public string Title { get; set; } + // /// + // /// 是否需要配置合格证 + // /// + // public bool IsNeedCer { get; set; } - /// - /// 合格证配置信息 - /// - public CertificateModel CerDTO { get; set; } - } + // /// + // /// 合格证配置信息 + // /// + // public CertificateModel CerDTO { get; set; } + //} } diff --git a/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs new file mode 100644 index 00000000..84b3a937 --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PackPurchaseTask/QualityTaskResponse.cs @@ -0,0 +1,111 @@ +using BBWY.Client.Models.QualityTask; +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models.APIModel.Response.PackPurchaseTask +{ + public class QualityTaskResponse + { + /// + /// 任务id + /// + public long Id { get; set; } + /// + /// 拳探订单id + /// + public string OrderId { get; set; } + /// + /// 备注信息 + /// + public string MarkMessage { get; set; } + /// + /// Sku打包数量 + /// + public int SkuCount { get; set; } + /// + /// skuid + /// + public string SkuId { get; set; } + + /// + /// sku标题 + /// + public string SkuName { get; set; } + /// + /// 采购方案id + /// + public string SkuPurchaseSchemeId { get; set; } + + /// + /// 配件数 + /// + public int GoodsNumber { get; set; } + /// + /// sku配件名称 + /// + public string SkuGoodsTitle { get; set; } + + /// + /// 增量1() + /// + public string Increment1 { get; set; } + /// + /// 基础包装(快递袋=0,纸箱=1,麻袋=2) + /// + public int BasicPack { get; set; } + + /// + /// 打包类型(单件=0,多件=1) + /// + public int PackType { get; set; } + /// + /// 货号品名(手写上传) + /// + public string BrandName { get; set; } + /// + /// 货号 + /// + public string ProductNo { get; set; } + /// + /// 分箱配置 + /// + public WareHourseDTO[] WareHourses { get; set; } + + + public BarCodeModel BarCodeDTO { get; set; } + /// + /// 是否需要合格证 + /// + public bool IsNeedBar { get; set; } + /// + /// 是否需要合格证 + /// + public bool IsNeedCer { get; set; } + + + /// + /// 合格证位置(外部包装=0,产品包装=1) + /// + public int? CertificatePosition { get; set; } + + /// + /// 配件列表 + /// + public PurchaseSku[] PurchaseSkus { get; set; } + } + public class WareHourseDTO + { + + public int Index { get; set; } + public string WareId { get; set; } + /// + /// 仓库名称 + /// + public string WareName { get; set; } + /// + /// 数量 + /// + public int Count { get; set; } + } +} diff --git a/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseSkuBasicInfoResponse.cs b/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseSkuBasicInfoResponse.cs new file mode 100644 index 00000000..24e194cd --- /dev/null +++ b/BBWY.Client/Models/APIModel/Response/PurchaseOrder/PurchaseSkuBasicInfoResponse.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace BBWY.Client.Models +{ + + /// + /// 采购Sku基础信息对象 + /// + public class PurchaseSkuBasicInfoResponse + { + /// + /// 采购SKU基础信息列表 + /// + public IList ItemList { get; set; } + + /// + /// 采购商 + /// + public Purchaser Purchaser { get; set; } + } + + /// + /// 采购Sku基础信息对象 + /// + public class PurchaseSkuItemBasicInfoResponse + { + /// + /// 采购SPU + /// + public string PurchaseProductId { get; set; } + + /// + /// 采购SKU + /// + public string PurchaseSkuId { get; set; } + + /// + /// 采购SPEC 1688独有属性 下单需要 + /// + public string PurchaseSkuSpecId { get; set; } + + /// + /// SKU标题 + /// + public string Title { get; set; } + + public string Logo { get; set; } + + /// + /// 单价 + /// + public decimal Price { get; set; } + } +} diff --git a/BBWY.Client/Models/PackTask/PackTaskModel.cs b/BBWY.Client/Models/PackTask/PackTaskModel.cs index c0db5732..e6a27041 100644 --- a/BBWY.Client/Models/PackTask/PackTaskModel.cs +++ b/BBWY.Client/Models/PackTask/PackTaskModel.cs @@ -95,18 +95,19 @@ namespace BBWY.Client.Models //加载数据 ViewModelLocator viewModelLocator = new ViewModelLocator(); var qualityViewModel = viewModelLocator.QualityTask; - qualityViewModel.TaskCount = SkuCount; - qualityViewModel.TaskId = TaskId; + //qualityViewModel.TaskCount = SkuCount; + // qualityViewModel.TaskId = TaskId; qualityViewModel.OrderId = OrderId; qualityViewModel.SkuId = SkuId; - qualityViewModel.LoadPackDatas(); - qualityViewModel.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; - }); + qualityViewModel.SearchSku(this); + //qualityViewModel.LoadPackDatas(); + //qualityViewModel.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; + //}); service.Show(); } diff --git a/BBWY.Client/Models/QualityTask/PurchaseSku.cs b/BBWY.Client/Models/QualityTask/PurchaseSku.cs index 01693fe1..2b521a38 100644 --- a/BBWY.Client/Models/QualityTask/PurchaseSku.cs +++ b/BBWY.Client/Models/QualityTask/PurchaseSku.cs @@ -11,6 +11,8 @@ namespace BBWY.Client.Models.QualityTask public class PurchaseSku : NotifyObject { + public string PurchaseProductId { get; set; } + /// /// 配件图 /// diff --git a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs index ba6b5dbd..101eedda 100644 --- a/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs +++ b/BBWY.Client/ViewModels/QualityTask/QualityViewModel.cs @@ -13,10 +13,13 @@ using System.Windows.Input; using System.Windows; using BBWY.Client.Models.QualityTask; using BBWY.Client.Views.QualityTask; +using BBWY.Client.Models.APIModel.Response.PackPurchaseTask; +using NPOI.Util.ArrayExtensions; +using static Org.BouncyCastle.Math.EC.ECCurve; namespace BBWY.Client.ViewModels { - public class QualityViewModel:BaseVM,IDenpendency + public class QualityViewModel : BaseVM, IDenpendency { #region 属性 @@ -68,6 +71,25 @@ namespace BBWY.Client.ViewModels }; public ObservableCollection AvailabilityList { get => availabilityList; set { Set(ref availabilityList, value); } } + + private ObservableCollection preCompeteTimeDayList = new ObservableCollection { + "今天" + }; + public ObservableCollection PreCompeteTimeDayList { get => preCompeteTimeDayList; set { Set(ref preCompeteTimeDayList, value); } } + + + private ObservableCollection preCompeteTimeHourList = new ObservableCollection { + 12,18,21 + }; + public ObservableCollection PreCompeteTimeHourList { get => preCompeteTimeHourList; set { Set(ref preCompeteTimeHourList, value); } } + + + private ObservableCollection wareHourseList = new ObservableCollection { }; + public ObservableCollection WareHourseList { get => wareHourseList; set { Set(ref wareHourseList, value); } } + + + public int WareHourseCount { get; set; } + private int skuCount; /// /// Sku任务数 @@ -299,7 +321,7 @@ namespace BBWY.Client.ViewModels SetCertificateCommand = new RelayCommand(SetCertificate); LookBarCommand = new RelayCommand(LookBar); LookCerCommand = new RelayCommand(LookCer); - SearchSkuCommand = new RelayCommand(SearchSku); + //SearchSkuCommand = new RelayCommand(SearchSku); IncreateList = new ObservableCollection(); foreach (var item in increates) { @@ -324,13 +346,6 @@ namespace BBWY.Client.ViewModels public string ShopId { get; set; } public string UserName { get; set; } - public void Test(OrderSku order) - { - SearchSku(order); - - - } - #region 方法 public ICommand SetBarCodeCommand { get; set; } public ICommand SetCertificateCommand { get; set; } @@ -429,9 +444,99 @@ namespace BBWY.Client.ViewModels /// /// 搜索 skuId(todo:) /// - public void SearchSku(object obj) + public void SearchSku(PackTaskModel model) { InitData(); + + + SkuId = model.SkuId; + SkuName = model.ItemList[0].SkuName; + Logo = model.ItemList[0].Logo.Replace("80x80", "200x200"); + BrandName = model.ItemList[0].BrandName; + + SkuCount = model.SkuCount; + + ProductNo = model.ProductNo; + MarkMessage = model.MarkMessage; + PackType = model.PackType; + GoodsNumber = model.GoodsNumber; + SkuTitle = model.SkuTitle; + BasicPack = model.BasicPack; + CertificatePosition = model.CertificatePosition ; + + + string[] increateDatas = model.Increment1?.Split(','); + bool isSelected = false; + foreach (var item in increates) + { + isSelected = false; + if (increateDatas != null && increateDatas.Count() > 0 && increateDatas.Contains(item)) + { + isSelected = true; + } + App.Current.Dispatcher.Invoke(() => + { + IncreateList.Add(new IncreateModel + { + IncreateName = item, + IsSelected = isSelected + }); + }); + } + + + var packTaskRes = packPurchaseTaskService.GetQualityTask(model.TaskId); + if (packTaskRes == null || !packTaskRes.Success) return; + BarCodeModel = packTaskRes.Data.BarCodeDTO; + IsNeedBarCode = packTaskRes.Data.IsNeedBar ? Need.需要 : Need.不需要; + IsSetBarCode = packTaskRes.Data.IsNeedBar ? false : true; + IsNeedCertificateModel = packTaskRes.Data.IsNeedCer ? Need.需要 : Need.不需要; + if (packTaskRes.Data.WareHourses != null) + packTaskRes.Data.WareHourses.ToList().ForEach(w => + { + WareHourseList.Add(w); + }); + if (packTaskRes.Data.PurchaseSkus != null) + { + PurchaseSkuList = new ObservableCollection(); + + foreach (var item in packTaskRes.Data.PurchaseSkus) + { + if (string.IsNullOrEmpty(item.PurchaseProductId)) + { + PurchaseSkuList.Add(item);continue; + } + + var list = purchaseService.GetPurchaseSkuBasicInfo(item.PurchaseProductId); + if (list == null) + { + PurchaseSkuList.Add(item); continue; + } + + var skuItem = list.Data.ItemList.FirstOrDefault(f => f.PurchaseSkuId == item.PurchaseSkuId); + App.Current.Dispatcher.Invoke(new Action(() => + { + PurchaseSkuList.Add(new PurchaseSku + { + Logo = skuItem.Logo, + Title = skuItem.Title, + IsNeedCer = item.IsNeedCer, + PurchaseSkuId = item.PurchaseSkuId, + CerDTO = item.CerDTO, + IsSetCertificate = item.CerDTO == null ? true : false, + }); + })); + PurchaseSkuList.Add(item); + } + } + + + + + + + + } public Action ReflashWindow { get; set; } public void InitData() @@ -451,6 +556,7 @@ namespace BBWY.Client.ViewModels IsNeedBarCode = Need.需要; IsNeedCertificateModel = Need.不需要; } + private void OpenSkuDetail(object param) { var paramList = (object[])param; @@ -470,7 +576,7 @@ namespace BBWY.Client.ViewModels } } - + #endregion } } diff --git a/BBWY.Client/Views/PackTask/WareHouseListControl.xaml b/BBWY.Client/Views/PackTask/WareHouseListControl.xaml index c61bda2c..db92ba51 100644 --- a/BBWY.Client/Views/PackTask/WareHouseListControl.xaml +++ b/BBWY.Client/Views/PackTask/WareHouseListControl.xaml @@ -574,14 +574,14 @@ - - + - diff --git a/BBWY.Client/Views/QualityTask/QualityWindow.xaml b/BBWY.Client/Views/QualityTask/QualityWindow.xaml index 5bacd36b..4f910c29 100644 --- a/BBWY.Client/Views/QualityTask/QualityWindow.xaml +++ b/BBWY.Client/Views/QualityTask/QualityWindow.xaml @@ -116,33 +116,33 @@ - + - + - + - + - - + - + @@ -155,7 +155,47 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -199,7 +239,7 @@ Width="150" Height="150" VerticalAlignment="Top" Margin="25 0 0 0" Cursor="Hand"> - +