diff --git a/BBWYB.Client/App.xaml b/BBWYB.Client/App.xaml index 5939b16..2048417 100644 --- a/BBWYB.Client/App.xaml +++ b/BBWYB.Client/App.xaml @@ -4,7 +4,7 @@ xmlns:local="clr-namespace:BBWYB.Client" xmlns:vm="clr-namespace:BBWYB.Client.ViewModels" xmlns:ctr="clr-namespace:BBWYB.Client.Converters" - StartupUri="/Views/MainWindow.xaml" + StartupUri="/Views/Web.xaml" ShutdownMode="OnExplicitShutdown"> diff --git a/BBWYB.Client/GlobalContext.cs b/BBWYB.Client/GlobalContext.cs index 4f7f7a9..1471516 100644 --- a/BBWYB.Client/GlobalContext.cs +++ b/BBWYB.Client/GlobalContext.cs @@ -1,7 +1,6 @@ using BBWYB.Client.APIServices; using BBWYB.Client.Helpers; using BBWYB.Client.Models; -using BBWYB.Client.ViewModels; using BBWYB.Client.Views.PackPurchaseTaska; using BBWYB.Client.Views.WebB; using CommunityToolkit.Mvvm.ComponentModel; @@ -22,7 +21,7 @@ namespace BBWYB.Client { public GlobalContext() { - BBWYBApiVersion = "10036"; + BBWYBApiVersion = "10038"; } private User user; diff --git a/BBWYB.Client/ViewModels/ViewModelLocator.cs b/BBWYB.Client/ViewModels/ViewModelLocator.cs index fe4ff35..cbddf8a 100644 --- a/BBWYB.Client/ViewModels/ViewModelLocator.cs +++ b/BBWYB.Client/ViewModels/ViewModelLocator.cs @@ -118,5 +118,14 @@ namespace BBWYB.Client.ViewModels return s.ServiceProvider.GetRequiredService(); } } + + public WebVM WebVM + { + get + { + using var s = sp.CreateScope(); + return s.ServiceProvider.GetRequiredService(); + } + } } } diff --git a/BBWYB.Client/ViewModels/WebVM.cs b/BBWYB.Client/ViewModels/WebVM.cs new file mode 100644 index 0000000..9e5b38c --- /dev/null +++ b/BBWYB.Client/ViewModels/WebVM.cs @@ -0,0 +1,96 @@ +using BBWYB.Client.APIServices; +using BBWYB.Client.Models; +using BBWYB.Client.Views; +using BBWYB.Common.Extensions; +using BBWYB.Common.Models; +using CommunityToolkit.Mvvm.Messaging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace BBWYB.Client.ViewModels +{ + public class WebVM : BaseVM, IDenpendency + { + private MdsApiService mdsApiService; + private MenuModel selectedMenuModel; + private bool isLoading; + ShopService shopService; + public GlobalContext GlobalContext { get; set; } + public bool IsLoading { get => isLoading; set { SetProperty(ref isLoading, value); } } + + public WebVM(GlobalContext globalContext, + MdsApiService mdsApiService, + ShopService shopService) + { + this.mdsApiService = mdsApiService; + this.GlobalContext = globalContext; + this.shopService = shopService; + Task.Factory.StartNew(Login); + } + + private void Login() + { + IsLoading = true; + try + { + var mdsUserResponse = mdsApiService.GetUserInfo(GlobalContext.UserToken); + if (!mdsUserResponse.Success) + throw new Exception($"获取磨刀石用户信息失败 {mdsUserResponse.Msg}"); + + + GlobalContext.User = mdsUserResponse.Data.Map(); + GlobalContext.User.Token = GlobalContext.UserToken; + GlobalContext.User.SonDepartmentNames = string.Empty; + if (mdsUserResponse.Data.SonDepartmentList != null && mdsUserResponse.Data.SonDepartmentList.Count > 0) + GlobalContext.User.SonDepartmentNames = string.Join(',', mdsUserResponse.Data.SonDepartmentList.Select(sd => sd.DepartmentName)); + + var res = shopService.GetDepartmentList(); + if (!res.Success) + throw new Exception(res.Msg); + var allDepartmentList = res.Data.Map>(); + + + var shopList = new List(); + foreach (var d in allDepartmentList) + shopList.AddRange(d.ShopList); + GlobalContext.User.ShopList = shopList; + + + IList departmentList = null; + + //var response = mdsApiService.GetShopDetailList(); + //if (!response.Success) + // throw new Exception(response.Msg); + departmentList = allDepartmentList.Where(d => d.Name.Contains("供应链")).ToList(); + if (departmentList.Count == 0) + throw new Exception("缺少有效的部门数据"); + + var shopIds = new List(); + foreach (var d in departmentList) + { + if (d.ShopList != null && d.ShopList.Count > 0) + { + foreach (var s in d.ShopList) + shopIds.Add(s.ShopId.ToString()); + } + } + + GlobalContext.User.DepartmentList = departmentList; + WeakReferenceMessenger.Default.Send(new Message_WebB_LoginCompleted(null)); + IsLoading = false; + } + catch (Exception ex) + { + IsLoading = false; + App.Current.Dispatcher.Invoke(() => + { + MessageBox.Show(ex.Message, "登录失败"); + }); + Environment.Exit(Environment.ExitCode); + } + } + } +} diff --git a/BBWYB.Client/Views/Web.xaml b/BBWYB.Client/Views/Web.xaml new file mode 100644 index 0000000..626056f --- /dev/null +++ b/BBWYB.Client/Views/Web.xaml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/BBWYB.Client/Views/Web.xaml.cs b/BBWYB.Client/Views/Web.xaml.cs new file mode 100644 index 0000000..19ed019 --- /dev/null +++ b/BBWYB.Client/Views/Web.xaml.cs @@ -0,0 +1,83 @@ +using CommunityToolkit.Mvvm.Messaging; +using CommunityToolkit.Mvvm.Messaging.Messages; +using Microsoft.Extensions.DependencyInjection; +using SJ.Controls; +using System.Windows; +using System.Windows.Controls; + +namespace BBWYB.Client.Views +{ + /// + /// Web.xaml 的交互逻辑 + /// + public partial class Web : BWindow + { + private WebView2Manager w2m; + private bool isNavigated; + private GlobalContext globalContext; + + public Web() + { + InitializeComponent(); + this.Width = SystemParameters.WorkArea.Size.Width * 0.8; + this.Height = SystemParameters.WorkArea.Size.Height * 0.7; + var sp = (App.Current as App).ServiceProvider; + using (var s = sp.CreateScope()) + { + w2m = s.ServiceProvider.GetRequiredService(); + globalContext = s.ServiceProvider.GetRequiredService(); + } + + WeakReferenceMessenger.Default.Register(this, (o, x) => + { + this.Dispatcher.BeginInvoke(initWebView); + }); + } + + private void Web_Loaded(object sender, System.Windows.RoutedEventArgs e) + { + + + } + + private void initWebView() + { +#if DEBUG + var url = "http://192.168.1.2:8080"; + var registerName = "webTestContext"; + //var url = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "s.html"); +#else + var url = "http://qtbbwy.qiyue666.com"; + var registerName = "webContext"; +#endif + //var url = "http://qtbbwy.qiyue666.com"; + w2m.CoreWebView2InitializationCompleted = (e) => + { + w2m.wb2.CoreWebView2.AddHostObjectToScript(registerName, this.globalContext); + isNavigated = true; + w2m.wb2.CoreWebView2.Navigate(url); + }; + + + w2m.Init("bbwyb_web"); + w2m.wb2.SetValue(Grid.RowProperty, 1); + w2m.wb2.Margin = new Thickness(1, 0, 1, 0); + //grid.Children.Clear(); + grid.Children.Add(w2m.wb2); + + if (w2m.IsInitializationCompleted && !isNavigated) + { + w2m.wb2.CoreWebView2.Navigate(url); + //w2m.wb2.CoreWebView2.NavigateToString(content); + isNavigated = true; + } + } + } + + public class Message_WebB_LoginCompleted : ValueChangedMessage + { + public Message_WebB_LoginCompleted(object value) : base(value) + { + } + } +} diff --git a/BBWYB.Client/Views/WebB/WebB_GoodsSource.xaml.cs b/BBWYB.Client/Views/WebB/WebB_GoodsSource.xaml.cs index bd3e95e..d4b329c 100644 --- a/BBWYB.Client/Views/WebB/WebB_GoodsSource.xaml.cs +++ b/BBWYB.Client/Views/WebB/WebB_GoodsSource.xaml.cs @@ -57,7 +57,7 @@ namespace BBWYB.Client.Views.WebB } #if DEBUG - var url = "http://192.168.1.2/#/goods-source"; + var url = "http://192.168.1.2:8080/#/goods-source"; var registerName = "webTestContext"; //var url = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "s.html"); #else diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 7da1b18..286dd05 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -208,7 +208,7 @@ namespace BBWYB.Server.Business List dbSchemeGroupList = null; List dbPurchaseSchemeList = null; - + List deleteSchemeIdList = new List(); #region 数据验证 if ((batchCURDSchemeRequest.EditPurchaseSchemeList == null || batchCURDSchemeRequest.EditPurchaseSchemeList.Count == 0) && (batchCURDSchemeRequest.AddPurchaseSchemeList == null || batchCURDSchemeRequest.AddPurchaseSchemeList.Count == 0)) @@ -220,6 +220,9 @@ namespace BBWYB.Server.Business if (groupCount > 1) throw new BusinessException("只能对同一个spu的方案进行编辑"); + if (batchCURDSchemeRequest.EditPurchaseSchemeList.Any(ps => ps.Id == 0)) + throw new BusinessException("更新方案中采购方案缺少Id"); + if (batchCURDSchemeRequest.EditPurchaseSchemeList.Any(ps => string.IsNullOrEmpty(ps.ProductId) || string.IsNullOrEmpty(ps.SkuId) || ps.PurchaseSchemeProductList.Any(psp => string.IsNullOrEmpty(psp.ProductId) || @@ -230,22 +233,42 @@ namespace BBWYB.Server.Business throw new BusinessException("更新方案缺少ProductId/SkuId"); } - if (batchCURDSchemeRequest.EditPurchaseSchemeList.Any(ps => ps.PurchaseSchemeProductList == null || - ps.PurchaseSchemeProductList.Count() == 0 || - ps.PurchaseSchemeProductList.Any(psp => psp.PurchaseSchemeProductSkuList == null || - psp.PurchaseSchemeProductSkuList.Count() == 0))) + #region 验证是否存在数据残缺的采购方案 + for (var i = 0; i < batchCURDSchemeRequest.EditPurchaseSchemeList.Count(); i++) { - throw new BusinessException("更新方案缺少商品信息"); + var editScheme = batchCURDSchemeRequest.EditPurchaseSchemeList[i]; + if (editScheme.PurchaseSchemeProductList != null && editScheme.PurchaseSchemeProductList.Count() > 0) + { + for (var j = 0; j < editScheme.PurchaseSchemeProductList.Count(); j++) + { + var editSchemeProduct = editScheme.PurchaseSchemeProductList[j]; + if (editSchemeProduct.PurchaseSchemeProductSkuList == null || editSchemeProduct.PurchaseSchemeProductSkuList.Count() == 0) + { + //如果采购商品不具备配件,则移除该采购商品 + editScheme.PurchaseSchemeProductList.RemoveAt(j); + j--; + } + } + } + + if (editScheme.PurchaseSchemeProductList == null || editScheme.PurchaseSchemeProductList.Count() == 0) + { + //采购方案不再具备采购商品,则移除该采购方案 + batchCURDSchemeRequest.EditPurchaseSchemeList.RemoveAt(i); + i--; + deleteSchemeIdList.Add(editScheme.Id); + } } + #endregion + + if (batchCURDSchemeRequest.EditPurchaseSchemeList.Any(ps => ps.PurchaseSchemeProductList.Any(pp => string.IsNullOrEmpty(pp.PurchaserId) || string.IsNullOrEmpty(pp.PurchaserId2) || string.IsNullOrEmpty(pp.PurchaserName)))) throw new BusinessException("更新方案中有采购商Id/Id2/Name/Location为空"); - if (batchCURDSchemeRequest.EditPurchaseSchemeList.Any(ps => ps.Id == 0)) - throw new BusinessException("更新方案中采购方案缺少Id"); if (batchCURDSchemeRequest.EditPurchaseSchemeList.Any(ps => ps.SchemeGroupId == null || ps.SchemeGroupId == 0)) throw new BusinessException("更新方案中采购方案缺少分组Id"); @@ -311,12 +334,14 @@ namespace BBWYB.Server.Business List addPurchaseSchemeProductList = new List(); List addPurchaseSchemeProductSkuList = new List(); List newPurchaserList = new List(); - List deletePurchaseSchemeIdList = new List(); + List deletePartsSchemeIdList = new List(); List> updatePurchaseSchemeList = new List>(); + List insertPurchaseSchemeGroupsList = new List(); IInsert? insertPurchaseSchemeGroupIndex = null; IUpdate? updatePurchaseSchemeGroupIndex = null; + if (batchCURDSchemeRequest.AddPurchaseSchemeList != null && batchCURDSchemeRequest.AddPurchaseSchemeList.Count > 0) { var firstScheme = batchCURDSchemeRequest.AddPurchaseSchemeList.First(); @@ -402,7 +427,7 @@ namespace BBWYB.Server.Business { ExtractNewPurchaser(batchCURDSchemeRequest.EditPurchaseSchemeList, newPurchaserList); - deletePurchaseSchemeIdList.AddRange(batchCURDSchemeRequest.EditPurchaseSchemeList.Select(ps => ps.Id)); + deletePartsSchemeIdList.AddRange(batchCURDSchemeRequest.EditPurchaseSchemeList.Select(ps => ps.Id)); foreach (var psReq in batchCURDSchemeRequest.EditPurchaseSchemeList) { var schemeId = psReq.Id; @@ -446,10 +471,10 @@ namespace BBWYB.Server.Business fsql.Insert(newPurchaserList).ExecuteAffrows(); //更新,删除已存在的采购方案商品和Sku - if (deletePurchaseSchemeIdList.Count > 0) + if (deletePartsSchemeIdList.Count > 0) { - fsql.Delete().Where(p => deletePurchaseSchemeIdList.Contains(p.SkuPurchaseSchemeId)).ExecuteAffrows(); - fsql.Delete().Where(p => deletePurchaseSchemeIdList.Contains(p.SkuPurchaseSchemeId)).ExecuteAffrows(); + fsql.Delete().Where(p => deletePartsSchemeIdList.Contains(p.SkuPurchaseSchemeId)).ExecuteAffrows(); + fsql.Delete().Where(p => deletePartsSchemeIdList.Contains(p.SkuPurchaseSchemeId)).ExecuteAffrows(); } //新增 @@ -469,6 +494,10 @@ namespace BBWYB.Server.Business insertPurchaseSchemeGroupIndex?.ExecuteAffrows(); updatePurchaseSchemeGroupIndex?.ExecuteAffrows(); }); + + //删除信息残缺的采购方案 + if (deleteSchemeIdList.Count() > 0) + DeletePurchaseScheme(deleteSchemeIdList); } /// @@ -604,9 +633,11 @@ namespace BBWYB.Server.Business foreach (var schemeProductSku in schemeProduct.PurchaseSchemeProductSkuList) { + schemeProductSku.IsInvalid = 1; var basicSku = basicInfo.ItemList.FirstOrDefault(x => x.PurchaseSkuId == schemeProductSku.PurchaseSkuId); if (basicSku != null) { + schemeProductSku.IsInvalid = 0; schemeProductSku.PurchaseSkuTitle = basicSku.Title; schemeProductSku.PurchaseSkuPrice = basicSku.Price; schemeProductSku.PurchaseSkuLogo = basicSku.Logo; @@ -739,23 +770,61 @@ namespace BBWYB.Server.Business public void DeletePurchaseScheme(long schemeId) { - IDelete? deletePsg = null; - var purchaseScheme = fsql.Select(schemeId).ToOne(); - if (purchaseScheme == null) - throw new BusinessException("采购方案不存在"); - if (purchaseScheme.SchemeGroupId != 0) + //IDelete? deletePsg = null; + //var purchaseScheme = fsql.Select(schemeId).ToOne(); + //if (purchaseScheme == null) + // throw new BusinessException("采购方案不存在"); + //if (purchaseScheme.SchemeGroupId != 0) + //{ + // var sameGroupSchemeCount = fsql.Select().Where(ps => ps.SchemeGroupId == purchaseScheme.SchemeGroupId && + // ps.Id != purchaseScheme.Id).Count(); + // if (sameGroupSchemeCount == 0) + // deletePsg = fsql.Delete(purchaseScheme.SchemeGroupId); + //} + //fsql.Transaction(() => + //{ + // deletePsg?.ExecuteAffrows(); + // fsql.Delete(schemeId).ExecuteAffrows(); + // fsql.Delete().Where(p => p.SkuPurchaseSchemeId == schemeId).ExecuteAffrows(); + // fsql.Delete().Where(p => p.SkuPurchaseSchemeId == schemeId).ExecuteAffrows(); + //}); + DeletePurchaseScheme(new List() { schemeId }); + } + + public void DeletePurchaseScheme(List schemeIdList) + { + IList deleteSchemeGroupIdList = new List(); + var purchaseSchemeList = fsql.Select(schemeIdList).ToList(); + if (purchaseSchemeList.Count() == 0) + return; + var schemeGroupIdList = purchaseSchemeList.Where(ps => ps.SchemeGroupId != 0).Select(ps => ps.SchemeGroupId).ToList(); + var sameSchemeGroupCountGroups = fsql.Select().Where(ps => ps.SchemeGroupId != 0 && + schemeGroupIdList.Contains(ps.SchemeGroupId) && + !schemeIdList.Contains(ps.Id)) + .GroupBy(ps => ps.SchemeGroupId) + .ToList(g => new + { + SchemeGroupId = g.Key, + SchemeCount = g.Count() + }); + + foreach (var purchaseScheme in purchaseSchemeList) { - var sameGroupSchemeCount = fsql.Select().Where(ps => ps.SchemeGroupId == purchaseScheme.SchemeGroupId && - ps.Id != purchaseScheme.Id).Count(); - if (sameGroupSchemeCount == 0) - deletePsg = fsql.Delete(purchaseScheme.SchemeGroupId); + if (purchaseScheme.SchemeGroupId != 0) + { + var sameSchemeGroupCount = sameSchemeGroupCountGroups.FirstOrDefault(g => g.SchemeGroupId == purchaseScheme.SchemeGroupId); + if (sameSchemeGroupCount != null && sameSchemeGroupCount.SchemeCount == 0) + deleteSchemeGroupIdList.Add(purchaseScheme.SchemeGroupId); + } } + fsql.Transaction(() => { - deletePsg?.ExecuteAffrows(); - fsql.Delete(schemeId).ExecuteAffrows(); - fsql.Delete().Where(p => p.SkuPurchaseSchemeId == schemeId).ExecuteAffrows(); - fsql.Delete().Where(p => p.SkuPurchaseSchemeId == schemeId).ExecuteAffrows(); + if (deleteSchemeGroupIdList.Count() > 0) + fsql.Delete(deleteSchemeGroupIdList).ExecuteAffrows(); + fsql.Delete(schemeIdList).ExecuteAffrows(); + fsql.Delete().Where(p => schemeIdList.Contains(p.SkuPurchaseSchemeId)).ExecuteAffrows(); + fsql.Delete().Where(p => schemeIdList.Contains(p.SkuPurchaseSchemeId)).ExecuteAffrows(); }); } @@ -976,6 +1045,26 @@ namespace BBWYB.Server.Business if (schemeList.Count() == 0) throw new BusinessException("采购方案不存在"); var scheme = schemeList[0]; + + if (scheme.PurchaseSchemeProductList.Count() == 1) + { + var lastProduct = scheme.PurchaseSchemeProductList.FirstOrDefault(); + if (lastProduct.PurchaseSchemeProductSkuList.Count() == 1) + { + var lastSku = lastProduct.PurchaseSchemeProductSkuList.FirstOrDefault(); + if (lastSku.PurchaseSkuId == request.PurchaseSkuId && + lastSku.SkuId == request.SkuId) + { + DeletePurchaseScheme(request.SchemeId); + return 0M; + } + else + { + throw new BusinessException("未找到需要移除的采购sku"); + } + } + } + var defaultCost = 0M; long? pssId = null; @@ -991,11 +1080,7 @@ namespace BBWYB.Server.Business if (tartegtPurchaseProductSku != null) { if (schemeProduct.PurchaseSchemeProductSkuList.Count() == 1) - { - if (scheme.PurchaseSchemeProductList.Count() == 1) - throw new BusinessException("最后一个采购sku不能被移除"); deletePsp = fsql.Delete(schemeProduct.Id); - } pssId = tartegtPurchaseProductSku.Id; deletePss = fsql.Delete(pssId); } @@ -1003,7 +1088,6 @@ namespace BBWYB.Server.Business defaultCost += schemeProduct.PurchaseSchemeProductSkuList.Where(pss => !(pss.SkuId == request.SkuId && pss.PurchaseSkuId == request.PurchaseSkuId)) .Sum(pss => ((pss.ActualPrice ?? pss.PurchaseSkuPrice) ?? 0) * (pss.PurchaseRatio ?? 1)); } - if (pssId == null) throw new BusinessException("未找到需要移除的采购sku"); updatePs = fsql.Update(request.SchemeId).Set(ps => ps.DefaultCost, defaultCost); diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchCURDSchemeRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchCURDSchemeRequest.cs index 61fba78..a9670b2 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchCURDSchemeRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/BatchCURDSchemeRequest.cs @@ -7,12 +7,12 @@ namespace BBWYB.Server.Model.Dto /// /// 需要修改的采购方案 /// - public IList EditPurchaseSchemeList { get; set; } + public List EditPurchaseSchemeList { get; set; } /// /// 需要新增的采购方案 /// - public IList AddPurchaseSchemeList { get; set; } + public List AddPurchaseSchemeList { get; set; } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeProductRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeProductRequest.cs index 141aa17..cd9caec 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeProductRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeProductRequest.cs @@ -38,6 +38,6 @@ public Enums.Platform? PurchasePlatform { get; set; } - public IList PurchaseSchemeProductSkuList { get; set; } + public List PurchaseSchemeProductSkuList { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs index 955a6d0..25595ba 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/InputPurchaseSchemeRequest.cs @@ -23,6 +23,6 @@ namespace BBWYB.Server.Model.Dto public string ProductId { get; set; } public string SkuId { get; set; } - public IList PurchaseSchemeProductList { get; set; } + public List PurchaseSchemeProductList { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs index 30942ea..95a7739 100644 --- a/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/PurchaseScheme/PurchaseSchemeProductSkuResponse.cs @@ -17,5 +17,10 @@ /// 采购SKU单价 仅在查询条件IncludePurchaseSkuBasicInfo=1时具备该值 /// public decimal? PurchaseSkuPrice { get; set; } + + /// + /// 是否失效 失效=1 其余情况默认为有效 仅在查询条件IncludePurchaseSkuBasicInfo=1时具备该值 + /// + public int? IsInvalid { get; set; } } } diff --git a/WebTest/MainWindow.xaml.cs b/WebTest/MainWindow.xaml.cs index 1653a5c..93a2694 100644 --- a/WebTest/MainWindow.xaml.cs +++ b/WebTest/MainWindow.xaml.cs @@ -126,78 +126,42 @@ private string registerName = "webContext"; if (mdsUserResponse.Data.SonDepartmentList != null && mdsUserResponse.Data.SonDepartmentList.Count > 0) globalContext.User.SonDepartmentNames = string.Join(',', mdsUserResponse.Data.SonDepartmentList.Select(sd => sd.DepartmentName)); + + //if (GlobalContext.User.TeamName == "刷单组") + // return; + + var res = shopService.GetDepartmentList(); + if (!res.Success) + throw new Exception(res.Msg); + var allDepartmentList = res.Data.Map>(); + + //if (GlobalContext.User.TeamName == "刷单组") + //{ + //var shopList = new List(); + //foreach (var d in allDepartmentList) + // shopList.AddRange(d.ShopList); + //globalContext.User.ShopList = shopList; + + IList departmentList = null; - if (globalContext.User.TeamName == "刷单组" || - managerDepartment.Contains(globalContext.User.TeamName) || - managerDepartment.Any(m => globalContext.User.SonDepartmentNames.Contains(m))) - { - var response = shopService.GetDepartmentList(); - if (!response.Success) - throw new Exception(response.Msg); - departmentList = response.Data.Map>(); - } - else - { - var response = mdsApiService.GetShopDetailList(); - if (!response.Success) - throw new Exception(response.Msg); - departmentList = response.Data; - if (departmentList.Count == 0) - throw new Exception("缺少有效的部门数据"); - - var shopIds = new List(); - foreach (var d in departmentList) - { - if (d.ShopList != null && d.ShopList.Count > 0) - { - foreach (var s in d.ShopList) - shopIds.Add(s.ShopId.ToString()); - } - } - var shopList2Res = shopService.GetShopListByIds(shopIds); - if (shopList2Res.Success && shopList2Res.Data != null && shopList2Res.Data.Count() > 0) - { - foreach (var d in departmentList) - { - foreach (var shop in d.ShopList) - { - var s2 = shopList2Res.Data.FirstOrDefault(s => s.ShopId == shop.ShopId); - if (s2 != null) - { - shop.DingDingKey = s2.DingDingKey; - shop.DingDingWebHook = s2.DingDingWebHook; - shop.SkuSafeTurnoverDays = s2.SkuSafeTurnoverDays; - shop.SiNanPolicyLevel = s2.SiNanPolicyLevel; - shop.SiNanDingDingKey = s2.SiNanDingDingKey; - shop.SiNanDingDingWebHook = s2.SiNanDingDingWebHook; - shop.AppKey2 = s2.AppKey2; - shop.AppSecret2 = s2.AppSecret2; - shop.AppToken2 = s2.AppToken2; - } - } - } - } - } - for (var i = 0; i < departmentList.Count(); i++) + //var response = mdsApiService.GetShopDetailList(); + //if (!response.Success) + // throw new Exception(response.Msg); + departmentList = allDepartmentList?.Where(d => d.Name.Contains("供应链")).ToList(); + if (departmentList.Count == 0) + throw new Exception("缺少有效的部门数据"); + + var shopIds = new List(); + foreach (var d in departmentList) { - var d = departmentList[i]; - for (var j = 0; j < d.ShopList.Count(); j++) + if (d.ShopList != null && d.ShopList.Count > 0) { - var shop = d.ShopList[j]; - if (string.IsNullOrEmpty(shop.AppToken2)) - { - d.ShopList.RemoveAt(j); - j--; - } + foreach (var s in d.ShopList) + shopIds.Add(s.ShopId.ToString()); } - if (d.ShopList == null || d.ShopList.Count() == 0) - { - departmentList.RemoveAt(i); - i--; - } - } + globalContext.User.DepartmentList = departmentList; }