diff --git a/ds-wms-service/DS.WMS.Core/Application/Dtos/ApplicationSummary.cs b/ds-wms-service/DS.WMS.Core/Application/Dtos/ApplicationSummary.cs index 050f0a82..e01099c8 100644 --- a/ds-wms-service/DS.WMS.Core/Application/Dtos/ApplicationSummary.cs +++ b/ds-wms-service/DS.WMS.Core/Application/Dtos/ApplicationSummary.cs @@ -42,14 +42,24 @@ namespace DS.WMS.Core.Application.Dtos public class FeeBiz { /// - /// 当前结算对象的全局应收总额 + /// 客户应收合计 /// - public decimal ReceivableTotal { get; set; } + public decimal RecvByCustomer { get; set; } + + /// + /// 应付人民币 + /// + public decimal PayableCNY { get; set; } + + /// + /// 应付美元 + /// + public decimal PayableUSD { get; set; } /// /// 费用合计 /// - public List TotalItems { get; set; } + public List TotalItems { get; set; } = []; } /// diff --git a/ds-wms-service/DS.WMS.Core/Application/Dtos/BizOperation.cs b/ds-wms-service/DS.WMS.Core/Application/Dtos/BizOperation.cs index 905c4fb4..f5902e42 100644 --- a/ds-wms-service/DS.WMS.Core/Application/Dtos/BizOperation.cs +++ b/ds-wms-service/DS.WMS.Core/Application/Dtos/BizOperation.cs @@ -1,4 +1,5 @@ -using DS.WMS.Core.Op.Entity; +using DS.WMS.Core.Invoice.Dtos; +using DS.WMS.Core.Op.Entity; using System.ComponentModel.DataAnnotations; using System.Diagnostics.CodeAnalysis; using System.Runtime.Serialization; @@ -49,6 +50,11 @@ namespace DS.WMS.Core.Application.Dtos /// 费用对象ID /// public long CustomerId { get; set; } + + /// + /// 汇率信息 + /// + public CurrencyExchangeRate[]? ExchangeRates { get; set; } } public class BizOperation : IValidatableObject diff --git a/ds-wms-service/DS.WMS.Core/Application/Dtos/PaymentApplicationModel.cs b/ds-wms-service/DS.WMS.Core/Application/Dtos/PaymentApplicationModel.cs new file mode 100644 index 00000000..f236edca --- /dev/null +++ b/ds-wms-service/DS.WMS.Core/Application/Dtos/PaymentApplicationModel.cs @@ -0,0 +1,43 @@ +namespace DS.WMS.Core.Application.Dtos +{ + /// + /// 付费申请列表模型 + /// + public class PaymentApplicationModel + { + /// + /// 人民币总计 + /// + public decimal TotalCNY { get; set; } + + /// + /// 人民币结算 + /// + public decimal SettlementCNY { get; set; } + + /// + /// 美元总计 + /// + public decimal TotalUSD { get; set; } + + /// + /// 美元结算 + /// + public decimal SettlementUSD { get; set; } + + /// + /// 其他总计 + /// + public decimal TotalOther { get; set; } + + /// + /// 其他结算 + /// + public decimal SettlementOther { get; set; } + + /// + /// 申请单列表 + /// + public List List { get; set; } = []; + } +} diff --git a/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationAuditService.cs b/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationAuditService.cs index c4a52d28..c4f759a7 100644 --- a/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationAuditService.cs +++ b/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationAuditService.cs @@ -26,13 +26,11 @@ namespace DS.WMS.Core.Application.Interface Task> GetDetailsAsync(long id); /// - /// 获取业务费用统计 + /// 获取申请单统计 /// - /// 业务ID - /// 业务类型 - /// 结算对象ID + /// 申请单ID /// - Task> GetFeeBizAsync(long id, BusinessType businessType, long customerId); + Task> GetApplicationStatAsync(long id); /// /// 获取按票统计 @@ -40,7 +38,7 @@ namespace DS.WMS.Core.Application.Interface /// 业务ID /// 业务类型 /// - Task> GetStatAsync(long id, BusinessType businessType); + Task> GetBizStatAsync(long id, BusinessType businessType); } diff --git a/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationService.cs b/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationService.cs index 0803ef9c..6344c325 100644 --- a/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationService.cs +++ b/ds-wms-service/DS.WMS.Core/Application/Interface/IPaymentApplicationService.cs @@ -15,7 +15,7 @@ namespace DS.WMS.Core.Application.Interface /// /// /// - Task>> GetListAsync(PageRequest request); + Task> GetListAsync(PageRequest request); /// /// 获取待付费的业务列表 diff --git a/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationAuditService.cs b/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationAuditService.cs index c4098efe..91c86f33 100644 --- a/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationAuditService.cs +++ b/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationAuditService.cs @@ -209,35 +209,41 @@ namespace DS.WMS.Core.Application.Method } /// - /// 获取业务费用统计 + /// 获取申请单统计信息 /// - /// 业务ID - /// 业务类型 - /// 结算对象ID + /// 申请单ID /// - public async Task> GetFeeBizAsync(long id, BusinessType businessType, long customerId) + public async Task> GetApplicationStatAsync(long id) { + var fees = await TenantDb.Queryable().InnerJoin((f, d) => f.Id == d.RecordId) + .Where((f, d) => d.ApplicationId == id) + .Select((f, d) => new + { + f.CustomerId, + f.Currency, + f.FeeType, + f.Amount, + RestAmount = f.Amount - f.SettlementAmount - f.OrderAmount + f.OrderSettlementAmount + }).ToListAsync(); FeeBiz model = new() { - ReceivableTotal = (await TenantDb.Queryable().Where(x => x.CustomerId == customerId - && x.FeeType == FeeType.Receivable && x.FeeStatus == FeeStatus.AuditPassed).SumAsync(x => x.Amount)) + PayableCNY = fees.Where(x => x.Currency == FeeCurrency.RMB_CODE).Sum(x => x.Amount), + PayableUSD = fees.Where(x => x.Currency == FeeCurrency.USD_CODE).Sum(x => x.Amount), + TotalItems = fees.GroupBy(x => x.Currency).Select(x => new TotalItem + { + Currency = x.Key, + PayableAmount = x.Where(y => y.FeeType == FeeType.Payable && y.Currency == x.Key).Sum(y => y.Amount), + ReceivableAmount = x.Where(y => y.FeeType == FeeType.Receivable && y.Currency == x.Key).Sum(y => y.Amount), + RestAmount = x.Where(y => y.Currency == x.Key).Sum(y => y.RestAmount) + }).ToList() }; - var fees = await TenantDb.Queryable().Where(x => - x.BusinessId == id && x.BusinessType == businessType && x.FeeStatus == FeeStatus.AuditPassed) - .Select(x => new - { - x.Currency, - x.FeeType, - x.Amount, - }).ToListAsync(); - model.TotalItems = fees.GroupBy(x => x.Currency).Select(x => new TotalItem + if (fees.Count > 0) { - Currency = x.Key, - PayableAmount = x.Where(y => y.FeeType == FeeType.Payable && y.Currency == x.Key).Sum(y => y.Amount), - ReceivableAmount = x.Where(y => y.FeeType == FeeType.Receivable && y.Currency == x.Key).Sum(y => y.Amount), - RestAmount = 0 //todo:未收 - }).ToList(); + var customerId = fees[0].CustomerId; + model.RecvByCustomer = await TenantDb.Queryable().Where(x => x.CustomerId == customerId) + .SumAsync(x => x.Amount * (x.ExchangeRate == null ? 1 : x.ExchangeRate.Value)); + } return DataResult.Success(model); } @@ -248,7 +254,7 @@ namespace DS.WMS.Core.Application.Method /// 业务ID /// 业务类型 /// - public async Task> GetStatAsync(long id, BusinessType businessType) + public async Task> GetBizStatAsync(long id, BusinessType businessType) { BizFeeStat? stat = null; switch (businessType) diff --git a/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs b/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs index 6c687ea9..761a9d98 100644 --- a/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs +++ b/ds-wms-service/DS.WMS.Core/Application/Method/PaymentApplicationService.cs @@ -34,18 +34,18 @@ namespace DS.WMS.Core.Application.Method /// /// /// - public async Task>> GetListAsync(PageRequest request) + public async Task> GetListAsync(PageRequest request) { var query = CreateListQuery(); if (!request.QueryCondition.IsNullOrEmpty()) { - var whereList = Db.ConfigQuery.Context.Utilities.JsonToConditionalModels(request.QueryCondition); + var whereList = request.GetConditionalModels(Db); query = query.Where(whereList); } var result = await query.GroupBy(x => x.Id).ToQueryPageAsync(request.PageCondition); - if (result.Data.Count > 0) + if (result.Data?.Count > 0) { //关联用户名称 var userIds = result.Data.Select(x => x.CreateBy).Distinct(); @@ -61,7 +61,30 @@ namespace DS.WMS.Core.Application.Method } } - return result; + var ids = result.Data.Select(x => x.Id); + var details = await TenantDb.Queryable().Where(x => ids.Contains(x.ApplicationId)) + .Select(x => new + { + x.Currency, + x.ApplyAmount, + x.SettlementAmount, + }).ToListAsync(); + + PaymentApplicationModel model = new() + { + List = result.Data, + + TotalCNY = details.Where(x => x.Currency == FeeCurrency.RMB_CODE).Sum(x => x.ApplyAmount), + TotalUSD = details.Where(x => x.Currency == FeeCurrency.USD_CODE).Sum(x => x.ApplyAmount), + TotalOther = details.Where(x => x.Currency != FeeCurrency.RMB_CODE && x.Currency != FeeCurrency.USD_CODE).Sum(x => x.ApplyAmount), + + SettlementCNY = details.Where(x => x.Currency == FeeCurrency.RMB_CODE).Sum(x => x.SettlementAmount), + SettlementUSD = details.Where(x => x.Currency == FeeCurrency.USD_CODE).Sum(x => x.SettlementAmount), + SettlementOther = details.Where(x => x.Currency != FeeCurrency.RMB_CODE && x.Currency != FeeCurrency.USD_CODE).Sum(x => x.SettlementAmount) + }; + var result2 = DataResult.Success(model); + result2.Count = result.Count; + return result2; } internal ISugarQueryable CreateListQuery() @@ -115,6 +138,7 @@ namespace DS.WMS.Core.Application.Method return TenantDb.UnionAll(new List> { query1 }); } + /// /// 获取待付费的业务列表(编辑用) /// @@ -158,7 +182,7 @@ namespace DS.WMS.Core.Application.Method //海运出口 var query1 = TenantDb.Queryable() .InnerJoin((s, f) => s.Id == f.BusinessId && f.BusinessType == BusinessType.OceanShippingExport) - .Where((s, f) => f.FeeStatus == FeeStatus.AuditPassed) + .Where((s, f) => f.FeeStatus == FeeStatus.AuditPassed && f.Amount - f.SettlementAmount - f.OrderAmount + f.OrderSettlementAmount != 0) .GroupBy((s, f) => new { s.Id, f.CustomerId }) .Select((s, f) => new BizPaymentApplication { @@ -191,14 +215,14 @@ namespace DS.WMS.Core.Application.Method f.FeeType == FeeType.Payable && f.Currency == FeeCurrency.USD_CODE).Select(f => SqlFunc.AggregateSum(f.Amount)), UnpaidOther = SqlFunc.Subqueryable().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && f.FeeType == FeeType.Payable && f.Currency != FeeCurrency.USD_CODE && f.Currency != FeeCurrency.RMB_CODE).Select(f => SqlFunc.AggregateSum(f.Amount)), - + UnreceivedRMB = SqlFunc.Subqueryable().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && f.FeeType == FeeType.Receivable && f.Currency == FeeCurrency.RMB_CODE).Select(f => SqlFunc.AggregateSum(f.Amount)), UnreceivedUSD = SqlFunc.Subqueryable().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && f.FeeType == FeeType.Receivable && f.Currency == FeeCurrency.USD_CODE).Select(f => SqlFunc.AggregateSum(f.Amount)), UnreceivedOther = SqlFunc.Subqueryable().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && f.FeeType == FeeType.Receivable && f.Currency != FeeCurrency.USD_CODE && f.Currency != FeeCurrency.RMB_CODE).Select(f => SqlFunc.AggregateSum(f.Amount)), - + UnpaidRMBInv = SqlFunc.Subqueryable().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && f.FeeType == FeeType.Payable && f.Currency == FeeCurrency.RMB_CODE).Select(f => SqlFunc.AggregateSum(f.Amount - f.InvoiceAmount - f.OrderInvoiceAmount + f.OrderInvSettlementAmount)), UnpaidUSDInv = SqlFunc.Subqueryable().Where(f => f.BusinessId == s.Id && f.FeeStatus == FeeStatus.AuditPassed && diff --git a/ds-wms-service/DS.WMS.Core/Invoice/Method/FreeInvoiceService.cs b/ds-wms-service/DS.WMS.Core/Invoice/Method/FreeInvoiceService.cs index 605fdb21..bc4b514c 100644 --- a/ds-wms-service/DS.WMS.Core/Invoice/Method/FreeInvoiceService.cs +++ b/ds-wms-service/DS.WMS.Core/Invoice/Method/FreeInvoiceService.cs @@ -136,6 +136,7 @@ namespace DS.WMS.Core.Invoice.Method RecordId = f.Id, BusinessId = f.BusinessId, BusinessType = f.BusinessType, + CustomerId = f.CustomerId, CustomerName = f.CustomerName, FeeId = f.FeeId, FeeName = f.FeeName, diff --git a/ds-wms-service/DS.WMS.Core/Invoice/Method/InvoiceService`1.cs b/ds-wms-service/DS.WMS.Core/Invoice/Method/InvoiceService`1.cs index 44876a7d..e3ceda53 100644 --- a/ds-wms-service/DS.WMS.Core/Invoice/Method/InvoiceService`1.cs +++ b/ds-wms-service/DS.WMS.Core/Invoice/Method/InvoiceService`1.cs @@ -329,7 +329,16 @@ namespace DS.WMS.Core.Invoice.Method { request.Details ??= []; foreach (var item in result2.Data.Items) - request.Details.Add(item.Adapt()); + { + var dto = item.Adapt(); + if (dto.Currency != invoice.Currency) + { + var biz = request.BizList.Find(x => x.Id == dto.BusinessId && x.BusinessType == dto.BusinessType && x.CustomerId == dto.CustomerId); + var er = biz?.ExchangeRates?.FirstOrDefault(x => x.Currency == dto.Currency); + dto.ExchangeRate = er == null ? 1 : er.ExchangeRate; + } + request.Details.Add(dto); + } } } diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationAuditController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationAuditController.cs index 47e75966..f93b93ef 100644 --- a/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationAuditController.cs +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationAuditController.cs @@ -49,16 +49,14 @@ namespace DS.WMS.FeeApi.Controllers } /// - /// 获取业务费用统计 + /// 获取申请单统计 /// - /// 业务ID - /// 业务类型 - /// 结算对象ID + /// 申请单ID /// - [HttpGet, Route("GetFeeBiz")] - public async Task> GetFeeBizAsync([FromQuery] long id, [FromQuery] BusinessType businessType, [FromQuery] long customerId) + [HttpGet, Route("GetApplicationStat")] + public async Task> GetApplicationStatAsync([FromQuery] long id) { - return await _auditService.GetFeeBizAsync(id, businessType, customerId); + return await _auditService.GetApplicationStatAsync(id); } /// @@ -67,10 +65,10 @@ namespace DS.WMS.FeeApi.Controllers /// 业务ID /// 业务类型 /// - [HttpGet, Route("GetStat")] - public async Task> GetStatAsync([FromQuery] long id, [FromQuery] BusinessType businessType) + [HttpGet, Route("GetBizStat")] + public async Task> GetBizStatAsync([FromQuery] long id, [FromQuery] BusinessType businessType) { - return await _auditService.GetStatAsync(id, businessType); + return await _auditService.GetBizStatAsync(id, businessType); } /// diff --git a/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationController.cs b/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationController.cs index 4b0d2492..1f7c2361 100644 --- a/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationController.cs +++ b/ds-wms-service/DS.WMS.FeeApi/Controllers/PaymentApplicationController.cs @@ -30,7 +30,7 @@ namespace DS.WMS.FeeApi.Controllers /// /// [HttpPost, Route("GetList")] - public async Task>> ListAsync([FromBody] PageRequest request) + public async Task> ListAsync([FromBody] PageRequest request) { return await _service.GetListAsync(request); } diff --git a/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile1.pubxml.user b/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile1.pubxml.user index 64fc18a3..c142626d 100644 --- a/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile1.pubxml.user +++ b/ds-wms-service/DS.WMS.FeeApi/Properties/PublishProfiles/FolderProfile1.pubxml.user @@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121. <_PublishTargetUrl>D:\Publish\DS8\FeeApi - True|2024-09-23T01:24:36.0732229Z||;True|2024-09-21T11:59:19.0549926+08:00||;True|2024-09-21T11:24:32.4451752+08:00||;True|2024-09-21T10:39:11.5297411+08:00||;True|2024-09-20T18:24:31.7827684+08:00||;True|2024-09-19T17:55:53.1666689+08:00||;True|2024-09-19T17:42:47.9061485+08:00||;True|2024-09-19T16:08:21.7225571+08:00||;False|2024-09-19T14:15:42.9318446+08:00||;True|2024-09-19T11:20:03.5567568+08:00||;True|2024-09-18T11:35:18.1509724+08:00||;True|2024-09-18T09:08:59.1152574+08:00||;True|2024-09-14T15:48:22.9374486+08:00||;True|2024-09-14T15:42:19.0503983+08:00||;True|2024-09-14T11:51:53.3339222+08:00||;True|2024-09-14T11:41:38.3542237+08:00||;True|2024-09-14T11:19:13.1037012+08:00||;True|2024-09-13T14:31:12.4598160+08:00||;True|2024-09-13T10:44:56.1241214+08:00||;False|2024-09-13T10:44:26.6088271+08:00||;False|2024-09-13T10:44:06.1615137+08:00||;False|2024-09-13T10:43:19.2432517+08:00||;False|2024-09-13T10:38:18.1663387+08:00||;True|2024-09-06T18:49:17.9435308+08:00||;True|2024-09-06T17:01:39.6646353+08:00||;True|2024-09-06T10:27:36.9990456+08:00||;True|2024-09-06T09:48:23.4236094+08:00||;True|2024-09-05T13:57:23.8452431+08:00||;True|2024-09-05T10:21:34.6675149+08:00||;True|2024-09-05T09:12:44.5610882+08:00||;True|2024-09-04T10:07:38.3707398+08:00||;True|2024-09-04T09:52:47.0574599+08:00||;True|2024-09-03T16:41:23.7516960+08:00||;True|2024-09-03T15:22:31.8718097+08:00||;True|2024-09-03T10:01:09.7656702+08:00||;False|2024-09-03T09:46:46.8956531+08:00||;True|2024-09-02T17:07:41.0268500+08:00||;True|2024-09-02T13:50:22.0203254+08:00||;True|2024-09-02T13:34:23.3441546+08:00||;True|2024-08-30T11:25:14.7431645+08:00||;True|2024-08-29T16:38:26.3491372+08:00||;True|2024-08-29T16:32:31.8580864+08:00||;False|2024-08-29T16:30:41.4763198+08:00||;True|2024-08-09T09:18:05.8484398+08:00||;True|2024-08-09T08:45:38.7858906+08:00||;True|2024-08-05T11:37:07.3133020+08:00||;True|2024-07-24T16:45:58.2272340+08:00||;True|2024-07-24T15:48:52.0128987+08:00||;True|2024-07-23T17:41:01.7494842+08:00||;True|2024-07-23T17:25:11.8773492+08:00||;True|2024-07-23T17:07:16.5460273+08:00||;True|2024-07-22T08:59:23.3235603+08:00||;True|2024-07-12T17:35:11.1225017+08:00||;True|2024-07-11T11:40:17.3581147+08:00||;True|2024-07-04T17:20:50.0175739+08:00||;True|2024-07-02T11:26:14.2092751+08:00||;True|2024-07-02T09:21:51.3513605+08:00||;True|2024-07-01T17:47:56.0407256+08:00||;True|2024-07-01T16:42:55.7374984+08:00||;True|2024-07-01T15:49:58.9266967+08:00||;True|2024-07-01T14:35:48.1117178+08:00||;True|2024-07-01T11:41:52.2969338+08:00||;True|2024-07-01T11:13:02.6561160+08:00||;True|2024-06-28T15:28:43.1470725+08:00||;True|2024-06-28T15:16:20.1999596+08:00||;True|2024-06-28T15:14:56.2534743+08:00||;True|2024-06-28T15:02:41.3033806+08:00||;True|2024-06-28T13:37:28.2462742+08:00||;True|2024-06-28T11:06:30.7400535+08:00||;True|2024-06-26T15:24:17.1939896+08:00||;True|2024-06-26T14:33:06.3530466+08:00||;True|2024-06-26T09:45:24.4055568+08:00||;True|2024-06-25T15:45:57.6052473+08:00||;True|2024-06-25T10:17:17.7408916+08:00||;False|2024-06-25T10:16:23.5639654+08:00||;False|2024-06-25T10:15:28.3857721+08:00||;False|2024-06-25T10:10:59.5536995+08:00||;False|2024-06-25T10:07:10.4050937+08:00||;True|2024-06-24T15:22:18.2672769+08:00||;True|2024-06-24T15:01:04.8153621+08:00||;False|2024-06-24T15:00:29.9618848+08:00||;True|2024-06-24T14:07:19.9401637+08:00||;False|2024-06-24T14:06:36.1250570+08:00||;True|2024-06-21T15:13:57.4273503+08:00||;True|2024-06-21T15:04:37.8218608+08:00||;True|2024-06-21T14:12:48.0266638+08:00||;True|2024-06-21T13:52:30.0950155+08:00||;True|2024-06-20T11:02:42.9508506+08:00||;True|2024-06-19T11:43:01.1899282+08:00||;True|2024-06-19T11:23:01.2938141+08:00||;True|2024-06-18T08:51:21.6222152+08:00||;True|2024-06-17T09:20:35.0804494+08:00||;True|2024-06-17T08:41:58.1319484+08:00||;True|2024-06-17T08:38:09.0137102+08:00||;True|2024-06-14T15:19:45.7395180+08:00||;True|2024-06-14T14:38:49.7094421+08:00||;True|2024-06-14T14:27:39.2815370+08:00||;True|2024-06-14T09:42:21.5397525+08:00||;True|2024-06-13T16:03:39.8475642+08:00||;True|2024-06-13T14:12:10.1725629+08:00||; + True|2024-09-23T03:47:21.1445419Z||;True|2024-09-23T09:24:36.0732229+08:00||;True|2024-09-21T11:59:19.0549926+08:00||;True|2024-09-21T11:24:32.4451752+08:00||;True|2024-09-21T10:39:11.5297411+08:00||;True|2024-09-20T18:24:31.7827684+08:00||;True|2024-09-19T17:55:53.1666689+08:00||;True|2024-09-19T17:42:47.9061485+08:00||;True|2024-09-19T16:08:21.7225571+08:00||;False|2024-09-19T14:15:42.9318446+08:00||;True|2024-09-19T11:20:03.5567568+08:00||;True|2024-09-18T11:35:18.1509724+08:00||;True|2024-09-18T09:08:59.1152574+08:00||;True|2024-09-14T15:48:22.9374486+08:00||;True|2024-09-14T15:42:19.0503983+08:00||;True|2024-09-14T11:51:53.3339222+08:00||;True|2024-09-14T11:41:38.3542237+08:00||;True|2024-09-14T11:19:13.1037012+08:00||;True|2024-09-13T14:31:12.4598160+08:00||;True|2024-09-13T10:44:56.1241214+08:00||;False|2024-09-13T10:44:26.6088271+08:00||;False|2024-09-13T10:44:06.1615137+08:00||;False|2024-09-13T10:43:19.2432517+08:00||;False|2024-09-13T10:38:18.1663387+08:00||;True|2024-09-06T18:49:17.9435308+08:00||;True|2024-09-06T17:01:39.6646353+08:00||;True|2024-09-06T10:27:36.9990456+08:00||;True|2024-09-06T09:48:23.4236094+08:00||;True|2024-09-05T13:57:23.8452431+08:00||;True|2024-09-05T10:21:34.6675149+08:00||;True|2024-09-05T09:12:44.5610882+08:00||;True|2024-09-04T10:07:38.3707398+08:00||;True|2024-09-04T09:52:47.0574599+08:00||;True|2024-09-03T16:41:23.7516960+08:00||;True|2024-09-03T15:22:31.8718097+08:00||;True|2024-09-03T10:01:09.7656702+08:00||;False|2024-09-03T09:46:46.8956531+08:00||;True|2024-09-02T17:07:41.0268500+08:00||;True|2024-09-02T13:50:22.0203254+08:00||;True|2024-09-02T13:34:23.3441546+08:00||;True|2024-08-30T11:25:14.7431645+08:00||;True|2024-08-29T16:38:26.3491372+08:00||;True|2024-08-29T16:32:31.8580864+08:00||;False|2024-08-29T16:30:41.4763198+08:00||;True|2024-08-09T09:18:05.8484398+08:00||;True|2024-08-09T08:45:38.7858906+08:00||;True|2024-08-05T11:37:07.3133020+08:00||;True|2024-07-24T16:45:58.2272340+08:00||;True|2024-07-24T15:48:52.0128987+08:00||;True|2024-07-23T17:41:01.7494842+08:00||;True|2024-07-23T17:25:11.8773492+08:00||;True|2024-07-23T17:07:16.5460273+08:00||;True|2024-07-22T08:59:23.3235603+08:00||;True|2024-07-12T17:35:11.1225017+08:00||;True|2024-07-11T11:40:17.3581147+08:00||;True|2024-07-04T17:20:50.0175739+08:00||;True|2024-07-02T11:26:14.2092751+08:00||;True|2024-07-02T09:21:51.3513605+08:00||;True|2024-07-01T17:47:56.0407256+08:00||;True|2024-07-01T16:42:55.7374984+08:00||;True|2024-07-01T15:49:58.9266967+08:00||;True|2024-07-01T14:35:48.1117178+08:00||;True|2024-07-01T11:41:52.2969338+08:00||;True|2024-07-01T11:13:02.6561160+08:00||;True|2024-06-28T15:28:43.1470725+08:00||;True|2024-06-28T15:16:20.1999596+08:00||;True|2024-06-28T15:14:56.2534743+08:00||;True|2024-06-28T15:02:41.3033806+08:00||;True|2024-06-28T13:37:28.2462742+08:00||;True|2024-06-28T11:06:30.7400535+08:00||;True|2024-06-26T15:24:17.1939896+08:00||;True|2024-06-26T14:33:06.3530466+08:00||;True|2024-06-26T09:45:24.4055568+08:00||;True|2024-06-25T15:45:57.6052473+08:00||;True|2024-06-25T10:17:17.7408916+08:00||;False|2024-06-25T10:16:23.5639654+08:00||;False|2024-06-25T10:15:28.3857721+08:00||;False|2024-06-25T10:10:59.5536995+08:00||;False|2024-06-25T10:07:10.4050937+08:00||;True|2024-06-24T15:22:18.2672769+08:00||;True|2024-06-24T15:01:04.8153621+08:00||;False|2024-06-24T15:00:29.9618848+08:00||;True|2024-06-24T14:07:19.9401637+08:00||;False|2024-06-24T14:06:36.1250570+08:00||;True|2024-06-21T15:13:57.4273503+08:00||;True|2024-06-21T15:04:37.8218608+08:00||;True|2024-06-21T14:12:48.0266638+08:00||;True|2024-06-21T13:52:30.0950155+08:00||;True|2024-06-20T11:02:42.9508506+08:00||;True|2024-06-19T11:43:01.1899282+08:00||;True|2024-06-19T11:23:01.2938141+08:00||;True|2024-06-18T08:51:21.6222152+08:00||;True|2024-06-17T09:20:35.0804494+08:00||;True|2024-06-17T08:41:58.1319484+08:00||;True|2024-06-17T08:38:09.0137102+08:00||;True|2024-06-14T15:19:45.7395180+08:00||;True|2024-06-14T14:38:49.7094421+08:00||;True|2024-06-14T14:27:39.2815370+08:00||;True|2024-06-14T09:42:21.5397525+08:00||;True|2024-06-13T16:03:39.8475642+08:00||; \ No newline at end of file