diff --git a/BBWY.Client/App.xaml.cs b/BBWY.Client/App.xaml.cs index 996de55e..af3857d1 100644 --- a/BBWY.Client/App.xaml.cs +++ b/BBWY.Client/App.xaml.cs @@ -34,6 +34,8 @@ namespace BBWY.Client //齐越山鸡 userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNTM1MzMwMzI4ODkyMTQ5NzYwIiwidGVhbUlkIjoiMTUxNjk3NDI1MDU0MjUwMTg4OCIsInNvblRlYW1JZHMiOiIxNDM2Mjg4NTAwMjM1MjQzNTIwIiwiZXhwIjoxNjk0NjY5NjkxfQ.cSwro-7bGwOu92YejH9JhMenTai7Mvf99i2paQCmxIw"; + //齐越悠仁 + //userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDM5OTEyMzAxODIwOTA3NTIwIiwidGVhbUlkIjoiMTQzOTg5ODU5MzE3MDI5NjgzMiIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE2OTQ4NjU2NjR9.yQlRKUnnXl4cEzvqRwd-BSktGuW6-AAHLuCicp7f-EM"; //齐越小戴 //userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDM5OTEyNjg0MDk4MTYyNjg4IiwidGVhbUlkIjoiMTQzOTg5ODY0MDU0OTE1NDgxNiIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE2OTQ0OTQ1MDZ9.LxA_vc_YyXxgQjSQi4XVg2B-fdvAz3mIT0Bgg3Uuul8"; //userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxNDE1OTMxMjU4NjEzMDEwNDMyIiwidGVhbUlkIjoiMTQxNDkzNTcwNDQ2MjQzMDIwOCIsInNvblRlYW1JZHMiOiIiLCJleHAiOjE2OTQxMDY1MjV9.XeMruS0YkwI7B6nODGe-vbdUqA_PSAt4EacfRAHIjV0"; //齐越文魁 diff --git a/BBWY.Client/Models/APIModel/Response/FinancialTerminal/AuditPayBillResponse.cs b/BBWY.Client/Models/APIModel/Response/FinancialTerminal/AuditPayBillResponse.cs index 489d0420..0675df81 100644 --- a/BBWY.Client/Models/APIModel/Response/FinancialTerminal/AuditPayBillResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/FinancialTerminal/AuditPayBillResponse.cs @@ -22,6 +22,8 @@ namespace BBWY.Client.Models public DateTime? CreateTime { get; set; } + public DateTime? OrderStartTime { get; set; } + /// /// 支出金额 /// diff --git a/BBWY.Client/Models/APIModel/Response/Shop/ShopResponse.cs b/BBWY.Client/Models/APIModel/Response/Shop/ShopResponse.cs index 2e230f95..9b9ef0aa 100644 --- a/BBWY.Client/Models/APIModel/Response/Shop/ShopResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/Shop/ShopResponse.cs @@ -39,4 +39,11 @@ namespace BBWY.Client.Models public IList ShopList { get; set; } } + + public class DepartmentResponse2 + { + public string DepartmentId { get; set; } + + public string DepartmentName { get; set; } + } } diff --git a/BBWY.Client/Models/APIModel/Response/User/MDSUserResponse.cs b/BBWY.Client/Models/APIModel/Response/User/MDSUserResponse.cs index 8bad9866..1575da12 100644 --- a/BBWY.Client/Models/APIModel/Response/User/MDSUserResponse.cs +++ b/BBWY.Client/Models/APIModel/Response/User/MDSUserResponse.cs @@ -1,4 +1,6 @@ -namespace BBWY.Client.Models +using System.Collections.Generic; + +namespace BBWY.Client.Models { public class MDSUserResponse { @@ -9,5 +11,7 @@ public string UserName { get; set; } public string UserNick { get; set; } + + public IList SonDepartmentList { get; set; } } } diff --git a/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs b/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs index ab34b25a..94059f41 100644 --- a/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs +++ b/BBWY.Client/Models/FinancialTerminal/ProcurementAudit/AuditPayBill.cs @@ -102,5 +102,7 @@ namespace BBWY.Client.Models /// 错误信息 /// public string ErrorMessage { get => errorMessage; set { Set(ref errorMessage, value); } } + + public DateTime? OrderStartTime { get; set; } } } diff --git a/BBWY.Client/Models/User/User.cs b/BBWY.Client/Models/User/User.cs index cd762422..5ebc9a71 100644 --- a/BBWY.Client/Models/User/User.cs +++ b/BBWY.Client/Models/User/User.cs @@ -17,8 +17,11 @@ namespace BBWY.Client.Models public string TeamName { get; set; } + public string SonDepartmentNames { get; set; } + public Shop Shop { get => shop; set { Set(ref shop, value); } } public IList DepartmentList { get; set; } + } } diff --git a/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs b/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs index 2bd8e085..32534931 100644 --- a/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs +++ b/BBWY.Client/ViewModels/FinancialTerminal/ProcurementAuditViewModel.cs @@ -102,6 +102,8 @@ namespace BBWY.Client.ViewModels public ICommand SaveCommand { get; set; } + public ICommand ExportCommand { get; set; } + public Shop SelectResultShop { get => selectResultShop; set { Set(ref selectResultShop, value); } } public bool NoMatchPurchaseOrder { get => noMatchPurchaseOrder; set { Set(ref noMatchPurchaseOrder, value); } } @@ -122,6 +124,7 @@ namespace BBWY.Client.ViewModels SearchLocalCommand = new RelayCommand(SearchLocal); ClearLocalConditionCommand = new RelayCommand(() => ClearLocalCondition()); SaveCommand = new RelayCommand(Save); + ExportCommand = new RelayCommand(Export); this.purchaseOrderService = purchaseOrderService; this.financialTerminalService = financialTerminalService; @@ -236,11 +239,11 @@ namespace BBWY.Client.ViewModels if (relationPurchaseOrder == null) { - if (payBill.IncomeAmount > 0 && StartDate.Day == 1) - { - payBill.AuditCapitalType = AuditCapitalType.上月商品退款; - continue; - } + //if (payBill.IncomeAmount > 0 && StartDate.Day == 1) + //{ + // payBill.AuditCapitalType = AuditCapitalType.上月商品退款; + // continue; + //} if (payBill.IsSupportMerchantOrderNo) { @@ -372,6 +375,7 @@ namespace BBWY.Client.ViewModels } var payBillNo = ""; + var list = new List(); try { foreach (var line in importResult.Lines) @@ -381,7 +385,7 @@ namespace BBWY.Client.ViewModels var incomeAmount = decimal.Parse(array[6].FormatString()); var expenditureAmount = decimal.Parse(array[7].FormatString()); payBillNo = array[0].FormatString(); - if (AuditPayBillList.Any(p => p.PayBillNo == payBillNo)) + if (list.Any(p => p.PayBillNo == payBillNo)) continue; var payBill = new AuditPayBill() { @@ -416,8 +420,11 @@ namespace BBWY.Client.ViewModels payBill.IsSupportMerchantOrderNo = true; } - AuditPayBillList.Add(payBill); + list.Add(payBill); } + list = list.OrderByDescending(p => p.PayBillNo).ToList(); + foreach (var p in list) + AuditPayBillList.Add(p); } catch (Exception ex) { @@ -508,5 +515,14 @@ namespace BBWY.Client.ViewModels }); } + + private void Export() + { + if (ShowAuditPayBillList.Count == 0) + return; + var list = ShowAuditPayBillList.Select(p => p.ToString()).ToList(); + list.Add(""); + + } } } diff --git a/BBWY.Client/ViewModels/MainViewModel.cs b/BBWY.Client/ViewModels/MainViewModel.cs index 1b92c212..af7ea314 100644 --- a/BBWY.Client/ViewModels/MainViewModel.cs +++ b/BBWY.Client/ViewModels/MainViewModel.cs @@ -160,8 +160,11 @@ namespace BBWY.Client.ViewModels throw new Exception($"获取磨刀石用户信息失败 {mdsUserResponse.Msg}"); GlobalContext.User = mdsUserResponse.Data.Map(); + if (mdsUserResponse.Data.SonDepartmentList != null && mdsUserResponse.Data.SonDepartmentList.Count > 0) + GlobalContext.User.SonDepartmentNames = string.Join(',', mdsUserResponse.Data.SonDepartmentList.Select(sd => sd.DepartmentName)); + #if RELEASE - if (!managerDepartment.Contains(GlobalContext.User.TeamName)) //非管理账号,屏蔽财务端 + if (!managerDepartment.Contains(GlobalContext.User.TeamName) && !managerDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m))) //非管理账号,屏蔽财务端 { App.Current.Dispatcher.Invoke(() => { @@ -172,7 +175,15 @@ namespace BBWY.Client.ViewModels #endif IList departmentList = null; - if (!managerDepartment.Contains(GlobalContext.User.TeamName)) + if (managerDepartment.Contains(GlobalContext.User.TeamName) || managerDepartment.Any(m => GlobalContext.User.SonDepartmentNames.Contains(m))) + { + ShowShopChoosePanel = true; + var response = shopService.GetDepartmentList(); + if (!response.Success) + throw new Exception(response.Msg); + departmentList = response.Data.Map>(); + } + else { var response = mdsApiService.GetShopDetailList(); if (!response.Success) @@ -189,14 +200,6 @@ namespace BBWY.Client.ViewModels else ShowShopChoosePanel = true; } - else - { - ShowShopChoosePanel = true; - var response = shopService.GetDepartmentList(); - if (!response.Success) - throw new Exception(response.Msg); - departmentList = response.Data.Map>(); - } GlobalContext.User.DepartmentList = departmentList; App.Current.Dispatcher.Invoke(() => diff --git a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs index 01288d5c..faab9a96 100644 --- a/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs +++ b/BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs @@ -17,6 +17,7 @@ namespace BBWY.Client.ViewModels public class _1688PreviewPurchaseViewModel : BaseVM { public ICommand FastCreateOrderCommand { get; set; } + public ICommand PreviewOrderCommand { get; set; } public IList PurchaseSchemeProductSkuList { get; set; } @@ -87,6 +88,7 @@ namespace BBWY.Client.ViewModels PurchaseSchemeProductSkuList = new ObservableCollection(); purchaseSchemeList = new List(); FastCreateOrderCommand = new RelayCommand(FastCreateOrder); + PreviewOrderCommand = new RelayCommand(PreviewOrder); this.globalContext = globalContext; this.orderListViewModel = orderListViewModel; //PurchaseOrderMode = PurchaseOrderMode.代发; @@ -266,7 +268,23 @@ namespace BBWY.Client.ViewModels private void OnDelayTriggerExecute(string key) { if (string.IsNullOrEmpty(key)) + { + IsLoading = false; + return; + } + + if (string.IsNullOrEmpty(ContactName) || + string.IsNullOrEmpty(Address) || + string.IsNullOrEmpty(Mobile) || + string.IsNullOrEmpty(Province) || + string.IsNullOrEmpty(City) || + string.IsNullOrEmpty(County)) + { + IsLoading = false; + MessageBox.Show("缺少完整的收货信息", "提示"); return; + } + IsLoading = true; Task.Factory.StartNew(() => purchaseOrderService.PreviewPurchaseOrder(new Consignee() { @@ -358,5 +376,10 @@ namespace BBWY.Client.ViewModels GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(null, "OnlinePurchase_Close"); }); } + + private void PreviewOrder() + { + OnDelayTriggerExecute(Guid.NewGuid().ToString()); + } } } diff --git a/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml b/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml index 5f10cf9d..ce337f9d 100644 --- a/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml +++ b/BBWY.Client/Views/FinancialTerminal/ProcurementAudit.xaml @@ -34,7 +34,8 @@ - + + @@ -149,6 +150,14 @@ IsChecked="{Binding NoChooseFundType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" FocusVisualStyle="{x:Null}" Margin="5,0,0,0"/> + + + + + + + + - - - + + + + - diff --git a/BBWY.Server.API/Controllers/OrderSyncController.cs b/BBWY.Server.API/Controllers/OrderSyncController.cs index bac408e0..9c40184b 100644 --- a/BBWY.Server.API/Controllers/OrderSyncController.cs +++ b/BBWY.Server.API/Controllers/OrderSyncController.cs @@ -1,4 +1,5 @@ using BBWY.Server.Business; +using BBWY.Server.Model.Dto; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; @@ -32,5 +33,15 @@ namespace BBWY.Server.API.Controllers { orderSyncBusiness.SyncOrder(shopId, orderId, null, null); } + + /// + /// 根据日期同步 + /// + /// + [HttpPost] + public void SyncOrderByDate([FromBody]SyncOrderByDateRequest syncOrderByDateRequest) + { + orderSyncBusiness.SyncOrderByDate(syncOrderByDateRequest); + } } } diff --git a/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs b/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs index 0b83cb86..8c0e0730 100644 --- a/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs +++ b/BBWY.Server.Business/FinancialTerminal/FinancialTerminalBusiness.cs @@ -19,7 +19,7 @@ namespace BBWY.Server.Business request.EndDate = request.EndDate.Date.AddDays(1).AddSeconds(-1); return fsql.Select().Where(apb => apb.ImportShopIds == request.ImportShopIds && apb.PayTime >= request.StartDate && - apb.PayTime <= request.EndDate).ToList(); + apb.PayTime <= request.EndDate).OrderByDescending(b => b.PayTime).ToList(); } public bool IsExistAuditPayBill(QueryAuditPayBillRequest request) diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 2150ef59..38032b0b 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -96,7 +96,7 @@ namespace BBWY.Server.Business .Set(po => po.SingleFirstFreight, editPurchaseOrderRequest.SingleFirstFreight) .Set(po => po.SingleInStorageAmount, editPurchaseOrderRequest.SingleInStorageAmount) .Set(po => po.SingleOutStorageAmount, editPurchaseOrderRequest.SingleOutStorageAmount) - .Set(po=> po.SingleRefundInStorageAmount,editPurchaseOrderRequest.SingleRefundInStorageAmount) + .Set(po => po.SingleRefundInStorageAmount, editPurchaseOrderRequest.SingleRefundInStorageAmount) .Set(po => po.SingleConsumableAmount, editPurchaseOrderRequest.SingleConsumableAmount) .Set(po => po.SingleStorageAmount, editPurchaseOrderRequest.SingleStorageAmount) .Set(po => po.SingleDeliveryFreight, editPurchaseOrderRequest.SingleDeliveryFreight) @@ -336,7 +336,8 @@ namespace BBWY.Server.Business MerchantOrderId = ods.MerchantOrderId, ShopId = o.ShopId, PurchaseTime = ods.CreateTime, - PurchasePlatform = ods.PurchasePlatform + PurchasePlatform = ods.PurchasePlatform, + OrderStartTime = o.StartTime }); } diff --git a/BBWY.Server.Model/Db/FinancialTerminal/AuditPayBill.cs b/BBWY.Server.Model/Db/FinancialTerminal/AuditPayBill.cs index 09fc969c..6cb8f630 100644 --- a/BBWY.Server.Model/Db/FinancialTerminal/AuditPayBill.cs +++ b/BBWY.Server.Model/Db/FinancialTerminal/AuditPayBill.cs @@ -5,110 +5,113 @@ namespace BBWY.Server.Model.Db { [Table(Name = "auditpaybill", DisableSyncStructure = true)] - public partial class AuditPayBill - { - - /// - /// 账单流水号 - /// - [ Column(IsPrimary = true)] - public long PayBillNo { get; set; } - - /// - /// 归属店铺 - /// - [ Column(StringLength = 50)] - public string BelongShop { get; set; } - - /// - /// 归属店铺Id - /// - public long? BelongShopId { get; set; } - - [ Column(DbType = "datetime")] - public DateTime? CreateTime { get; set; } - - /// - /// 支出金额 - /// - [ Column(DbType = "decimal(18,2)")] - public decimal? ExpenditureAmount { get; set; } - - /// - /// 收入金额 - /// - [ Column(DbType = "decimal(18,2)")] - public decimal? IncomeAmount { get; set; } - - /// - /// 是否支持商户订单号 - /// - - public bool? IsSupportMerchantOrderNo { get; set; } - - /// - /// 格式化之后的商家订单号 - /// - - public string MerchantOrderNo { get; set; } - - /// - /// 对方账户 - /// - - public string OppositeAccount { get; set; } - - /// - /// 账单类型 - /// - [ Column(DbType = "int(1)",MapType = typeof(int?))] - public Enums.PayBillType? PayBillType { get; set; } - - /// - /// 支付时间 - /// - [ Column(DbType = "datetime")] - public DateTime? PayTime { get; set; } - - /// - /// 商品名称 - /// - - public string ProductName { get; set; } - - /// - /// 关联采购订单号 - /// - [ Column(StringLength = 100)] - public string RelationPurchaseOrderId { get; set; } - - /// - /// 关联平台订单Id - /// - [ Column(StringLength = 50, IsNullable = false)] - public string RelationShopOrderId { get; set; } - - /// - /// 备注 - /// - - public string Remark { get; set; } - - /// - /// 原始商家订单号 - /// - - public string SourceMerchantOrderNo { get; set; } - - /// - /// 导入时选择的店铺 - /// - public string ImportShopIds { get; set; } - - public string ErrorMessage { get; set; } - - [Column(DbType = "int(1)", MapType = typeof(int?))] - public Enums.AuditCapitalType? AuditCapitalType { get; set;} - } + public partial class AuditPayBill + { + + /// + /// 账单流水号 + /// + [Column(IsPrimary = true)] + public long PayBillNo { get; set; } + + /// + /// 归属店铺 + /// + [Column(StringLength = 50)] + public string BelongShop { get; set; } + + /// + /// 归属店铺Id + /// + public long? BelongShopId { get; set; } + + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + [Column(DbType = "datetime")] + public DateTime? OrderStartTime { get; set; } + + /// + /// 支出金额 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? ExpenditureAmount { get; set; } + + /// + /// 收入金额 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? IncomeAmount { get; set; } + + /// + /// 是否支持商户订单号 + /// + + public bool? IsSupportMerchantOrderNo { get; set; } + + /// + /// 格式化之后的商家订单号 + /// + + public string MerchantOrderNo { get; set; } + + /// + /// 对方账户 + /// + + public string OppositeAccount { get; set; } + + /// + /// 账单类型 + /// + [Column(DbType = "int(1)", MapType = typeof(int?))] + public Enums.PayBillType? PayBillType { get; set; } + + /// + /// 支付时间 + /// + [Column(DbType = "datetime")] + public DateTime? PayTime { get; set; } + + /// + /// 商品名称 + /// + + public string ProductName { get; set; } + + /// + /// 关联采购订单号 + /// + [Column(StringLength = 100)] + public string RelationPurchaseOrderId { get; set; } + + /// + /// 关联平台订单Id + /// + [Column(StringLength = 50, IsNullable = false)] + public string RelationShopOrderId { get; set; } + + /// + /// 备注 + /// + + public string Remark { get; set; } + + /// + /// 原始商家订单号 + /// + + public string SourceMerchantOrderNo { get; set; } + + /// + /// 导入时选择的店铺 + /// + public string ImportShopIds { get; set; } + + public string ErrorMessage { get; set; } + + [Column(DbType = "int(1)", MapType = typeof(int?))] + public Enums.AuditCapitalType? AuditCapitalType { get; set; } + } } diff --git a/BBWY.Server.Model/Dto/Response/PurchaseOrder/AuditPurchaseOrderResponse.cs b/BBWY.Server.Model/Dto/Response/PurchaseOrder/AuditPurchaseOrderResponse.cs index 77bca8b7..db413bbc 100644 --- a/BBWY.Server.Model/Dto/Response/PurchaseOrder/AuditPurchaseOrderResponse.cs +++ b/BBWY.Server.Model/Dto/Response/PurchaseOrder/AuditPurchaseOrderResponse.cs @@ -22,5 +22,7 @@ namespace BBWY.Server.Model.Dto /// 采购平台 /// public Enums.Platform? PurchasePlatform { get; set; } + + public DateTime? OrderStartTime { get; set; } } }