cjy 3 weeks ago
commit 826c0ac750

@ -1,5 +1,4 @@
using System.Linq; using System.Text;
using System.Text;
using DS.Module.Core; using DS.Module.Core;
using DS.Module.Core.Extensions; using DS.Module.Core.Extensions;
using DS.WMS.Core.Fee.Dtos; using DS.WMS.Core.Fee.Dtos;
@ -67,7 +66,7 @@ namespace DS.WMS.Core.Fee.Method
if (string.IsNullOrEmpty(bsId)) if (string.IsNullOrEmpty(bsId))
return DataResult<List<FeeRecordRes>>.Success([]); return DataResult<List<FeeRecordRes>>.Success([]);
var data = await TenantDb.Queryable<FeeRecord>() var data = await AsQueryable<FeeRecord>()
.Where(x => x.IsOpen || (!x.IsOpen && x.CreateBy == UserId)) .Where(x => x.IsOpen || (!x.IsOpen && x.CreateBy == UserId))
.Where(whereList) .Where(whereList)
.Select<FeeRecordRes>() .Select<FeeRecordRes>()
@ -100,7 +99,7 @@ namespace DS.WMS.Core.Fee.Method
public async Task<DataResult<List<FeeRecord>>> GetListAsync(string query) public async Task<DataResult<List<FeeRecord>>> GetListAsync(string query)
{ {
long UserId = long.Parse(User.UserId); long UserId = long.Parse(User.UserId);
var src = TenantDb.Queryable<FeeRecord>().Where(x => x.IsOpen || (!x.IsOpen && x.CreateBy == UserId)); var src = AsQueryable<FeeRecord>().Where(x => x.IsOpen || (!x.IsOpen && x.CreateBy == UserId));
if (!query.IsNullOrEmpty()) if (!query.IsNullOrEmpty())
{ {
//序列化查询条件 //序列化查询条件
@ -120,9 +119,7 @@ namespace DS.WMS.Core.Fee.Method
/// <returns></returns> /// <returns></returns>
public async Task<FeeStatistics> GetFeeStatisticsAsync(long bsId, BusinessType bsType) public async Task<FeeStatistics> GetFeeStatisticsAsync(long bsId, BusinessType bsType)
{ {
var list = await TenantDb.Queryable<FeeRecord>() var list = await AsQueryable<FeeRecord>().Where(x => x.BusinessId == bsId && x.BusinessType == bsType).ToListAsync();
.Where(x => x.BusinessId == bsId && x.BusinessType == bsType).ToListAsync();
return new FeeStatistics(list); return new FeeStatistics(list);
} }
@ -1161,7 +1158,7 @@ namespace DS.WMS.Core.Fee.Method
if (type == null) if (type == null)
return DataResult<dynamic>.Failed("未能找到数据提供程序:" + providerName); return DataResult<dynamic>.Failed("未能找到数据提供程序:" + providerName);
var provider = Fasterflect.ConstructorExtensions.CreateInstance(type) as IReportProvider; var provider = Fasterflect.ConstructorExtensions.CreateInstance(type, ServiceProvider) as IReportProvider;
if (provider == null) if (provider == null)
return DataResult<dynamic>.Failed("未能找到数据提供程序:" + providerName); return DataResult<dynamic>.Failed("未能找到数据提供程序:" + providerName);

@ -13,8 +13,16 @@ namespace DS.WMS.Core.Fee.Method.ReportProviders
/// <summary> /// <summary>
/// 费用核算单 /// 费用核算单
/// </summary> /// </summary>
public class CostAccountingReport : IReportProvider public class CostAccountingReport : ServiceBase, IReportProvider
{ {
/// <summary>
/// 初始化
/// </summary>
/// <param name="provider"></param>
public CostAccountingReport(IServiceProvider provider) : base(provider)
{
}
public async Task<dynamic?> GetDataAsync(ReportContext context) public async Task<dynamic?> GetDataAsync(ReportContext context)
{ {
CostAccounting? form = null; CostAccounting? form = null;
@ -63,9 +71,9 @@ namespace DS.WMS.Core.Fee.Method.ReportProviders
} }
//获取海运出口打印数据 //获取海运出口打印数据
static async Task<CostAccounting?> GetOceanShippingExportAsync(ISqlSugarClient tenantDb, long bsId, params long[] ids) async Task<CostAccounting?> GetOceanShippingExportAsync(ISqlSugarClient tenantDb, long bsId, params long[] ids)
{ {
CostAccounting? form = await tenantDb.Queryable<SeaExport>().Where(x => x.Id == bsId) CostAccounting? form = await AsQueryable<SeaExport>().Where(x => x.Id == bsId)
.Select(x => new CostAccounting .Select(x => new CostAccounting
{ {
BusinessNo = x.CustomerNo, BusinessNo = x.CustomerNo,

@ -1,4 +1,5 @@
using DS.Module.Core; using DS.Module.Core;
using DS.WMS.Core.Application.Dtos;
using DS.WMS.Core.Invoice.Dtos; using DS.WMS.Core.Invoice.Dtos;
namespace DS.WMS.Core.Invoice.Interface namespace DS.WMS.Core.Invoice.Interface
@ -14,7 +15,7 @@ namespace DS.WMS.Core.Invoice.Interface
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
Task<DataResult<InvoiceList>> GetListAsync(PageRequest<string> request); Task<DataResult<InvoiceList>> GetListAsync(PageRequest<NumberQuery> request);
/// <summary> /// <summary>
/// 获取发票详情 /// 获取发票详情

@ -9,6 +9,7 @@ using DS.WMS.Core.Fee.Entity;
using DS.WMS.Core.Info.Entity; using DS.WMS.Core.Info.Entity;
using DS.WMS.Core.Invoice.Dtos; using DS.WMS.Core.Invoice.Dtos;
using DS.WMS.Core.Invoice.Interface; using DS.WMS.Core.Invoice.Interface;
using DS.WMS.Core.Op.Entity;
using DS.WMS.Core.Sys.Entity; using DS.WMS.Core.Sys.Entity;
using DS.WMS.Core.Sys.Interface; using DS.WMS.Core.Sys.Interface;
using Mapster; using Mapster;
@ -40,9 +41,14 @@ namespace DS.WMS.Core.Invoice.Method
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
public async Task<DataResult<InvoiceList>> GetListAsync(PageRequest<string> request) public async Task<DataResult<InvoiceList>> GetListAsync(PageRequest<NumberQuery> request)
{ {
var query = TenantDb.Queryable<Entity.Invoice>() var query = TenantDb.Queryable<Entity.Invoice>()
.WhereIF(!string.IsNullOrEmpty(request.OtherQueryCondition?.Number), x =>
SqlFunc.Subqueryable<ApplicationDetail>().InnerJoin<FeeRecord>((d, f) => d.RecordId == f.Id && f.BusinessType == BusinessType.OceanShippingExport)
.InnerJoin<SeaExport>((d, f, s) => f.BusinessId == s.Id).Where((d, f, s) =>
s.CustomerNo.Contains(request.OtherQueryCondition.Number) || s.BookingNo.Contains(request.OtherQueryCondition.Number) ||
s.MBLNO.Contains(request.OtherQueryCondition.Number) || s.CustomerNum.Contains(request.OtherQueryCondition.Number)).Any())
.Select((i) => new InvoiceDto .Select((i) => new InvoiceDto
{ {
Details = SqlFunc.Subqueryable<ApplicationDetail>().Where(d => d.ApplicationId == i.Id) Details = SqlFunc.Subqueryable<ApplicationDetail>().Where(d => d.ApplicationId == i.Id)
@ -56,13 +62,14 @@ namespace DS.WMS.Core.Invoice.Method
OriginalProcessedAmount = d.OriginalProcessedAmount OriginalProcessedAmount = d.OriginalProcessedAmount
}), }),
InvoiceApplicationList = SqlFunc.Subqueryable<ApplicationDetail>().LeftJoin<InvoiceApplication>((d, a) => InvoiceApplicationList = SqlFunc.Subqueryable<ApplicationDetail>().LeftJoin<InvoiceApplication>((d, a) =>
d.ApplicationId == i.Id && d.Category == DetailCategory.InvoiceIssuance && d.RefId == a.Id) d.ApplicationId == i.Id && d.RefId == a.Id)
.WhereIF(!string.IsNullOrEmpty(request.OtherQueryCondition), (d, a) => a.ApplicationNO.Contains(request.OtherQueryCondition)) .WhereIF(request.OtherQueryCondition != null && !string.IsNullOrEmpty(request.OtherQueryCondition.Number),
(d, a) => a.ApplicationNO.Contains(request.OtherQueryCondition.Number))
.GroupBy((d, a) => a.ApplicationNO).ToList((d, a) => a.ApplicationNO) .GroupBy((d, a) => a.ApplicationNO).ToList((d, a) => a.ApplicationNO)
}, true).MergeTable(); }, true).MergeTable();
if (!string.IsNullOrEmpty(request.OtherQueryCondition)) //if (!string.IsNullOrEmpty(request.OtherQueryCondition?.Number))
query = query.Where(i => i.InvoiceNO.Contains(request.OtherQueryCondition) || i.BillNO.Contains(request.OtherQueryCondition)); // query = query.Where(i => i.InvoiceNO.Contains(request.OtherQueryCondition.Number) || i.BillNO.Contains(request.OtherQueryCondition.Number));
var whereList = request.GetConditionalModels(Db); var whereList = request.GetConditionalModels(Db);
var result = await query.Where(whereList).ToQueryPageAsync(request.PageCondition); var result = await query.Where(whereList).ToQueryPageAsync(request.PageCondition);

@ -2,6 +2,7 @@
using DS.Module.SqlSugar; using DS.Module.SqlSugar;
using DS.Module.UserModule; using DS.Module.UserModule;
using DS.WMS.Core.Flow.Entity; using DS.WMS.Core.Flow.Entity;
using DS.WMS.Core.Sys.Interface;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using SqlSugar; using SqlSugar;
@ -29,6 +30,8 @@ namespace DS.WMS.Core
/// </summary> /// </summary>
protected ISaasDbService SaasService { get; private set; } protected ISaasDbService SaasService { get; private set; }
readonly Lazy<ICommonService> commonService;
SqlSugarScopeProvider? _tenantDb; SqlSugarScopeProvider? _tenantDb;
/// <summary> /// <summary>
/// 获取业务库访问对象 /// 获取业务库访问对象
@ -54,6 +57,20 @@ namespace DS.WMS.Core
User = serviceProvider.GetRequiredService<IUser>(); User = serviceProvider.GetRequiredService<IUser>();
Db = serviceProvider.GetRequiredService<ISqlSugarClient>(); Db = serviceProvider.GetRequiredService<ISqlSugarClient>();
SaasService = serviceProvider.GetRequiredService<ISaasDbService>(); SaasService = serviceProvider.GetRequiredService<ISaasDbService>();
commonService = new Lazy<ICommonService>(serviceProvider.GetRequiredService<ICommonService>());
}
/// <summary>
/// 获取查询对象
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <returns></returns>
protected internal ISugarQueryable<T> AsQueryable<T>() where T : class
{
(ISugarQueryable<T> query, _) = commonService.Value.GetVisibleDataRuleFilter<T>(TenantDb)
.GetAwaiter().GetResult();
return query;
} }
/// <summary> /// <summary>

@ -43,6 +43,7 @@ namespace DS.WMS.Core.Settlement.Method
s.MBLNO.Contains(request.OtherQueryCondition.Number) || s.CustomerNum.Contains(request.OtherQueryCondition.Number)).Any()) s.MBLNO.Contains(request.OtherQueryCondition.Number) || s.CustomerNum.Contains(request.OtherQueryCondition.Number)).Any())
.Select(x => new ApplicationSettlementDto .Select(x => new ApplicationSettlementDto
{ {
ApplicationNO = x.ApplicationNO,
SettlementNO = x.SettlementNO, SettlementNO = x.SettlementNO,
SettlementTypeName = x.SettlementType.StlName, //结算方式 SettlementTypeName = x.SettlementType.StlName, //结算方式
RMBAmount = SqlFunc.Subqueryable<ApplicationDetail>().Where(y => y.ApplicationId == x.Id && y.Currency == FeeCurrency.RMB_CODE) RMBAmount = SqlFunc.Subqueryable<ApplicationDetail>().Where(y => y.ApplicationId == x.Id && y.Currency == FeeCurrency.RMB_CODE)

@ -33,7 +33,7 @@ namespace DS.WMS.FeeApi.Controllers
/// <returns></returns> /// <returns></returns>
/// <remarks>【编号检索】需通过 OtherQueryCondition 字段传入</remarks> /// <remarks>【编号检索】需通过 OtherQueryCondition 字段传入</remarks>
[HttpPost, Route("GetList")] [HttpPost, Route("GetList")]
public async Task<DataResult<InvoiceList>> GetListAsync([FromBody] PageRequest<string> request) public async Task<DataResult<InvoiceList>> GetListAsync([FromBody] PageRequest<NumberQuery> request)
{ {
return await _service.GetListAsync(request); return await _service.GetListAsync(request);
} }

@ -5,7 +5,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<_PublishTargetUrl>D:\Publish\DS8\FeeApi</_PublishTargetUrl> <_PublishTargetUrl>D:\Publish\DS8\FeeApi</_PublishTargetUrl>
<History>True|2024-11-06T08:15:44.1540206Z||;True|2024-11-06T12:00:32.4812370+08:00||;True|2024-11-06T11:20:40.3736064+08:00||;True|2024-11-06T10:10:34.5300344+08:00||;True|2024-11-06T09:40:38.5643842+08:00||;True|2024-11-05T19:07:36.6125691+08:00||;True|2024-11-05T18:46:33.8702047+08:00||;True|2024-11-05T18:42:41.4519018+08:00||;True|2024-11-05T18:16:03.1698058+08:00||;True|2024-11-05T11:48:07.5089999+08:00||;True|2024-11-04T17:39:07.1315345+08:00||;True|2024-11-04T17:32:28.9239052+08:00||;True|2024-11-04T15:49:58.6422421+08:00||;True|2024-11-04T15:39:25.1892907+08:00||;True|2024-11-04T15:21:49.7395112+08:00||;True|2024-11-04T11:26:53.4821041+08:00||;True|2024-11-04T11:19:48.8467193+08:00||;True|2024-11-04T11:01:39.9398452+08:00||;True|2024-11-04T10:30:55.0743204+08:00||;True|2024-11-02T21:17:44.8575190+08:00||;True|2024-11-02T20:54:29.9931812+08:00||;True|2024-11-02T20:39:20.4100370+08:00||;True|2024-11-02T18:33:41.0724285+08:00||;True|2024-11-02T18:21:55.8561639+08:00||;True|2024-11-02T17:36:24.3401782+08:00||;True|2024-11-02T16:38:03.0054105+08:00||;True|2024-11-02T16:26:26.1698304+08:00||;True|2024-11-02T16:15:20.2872358+08:00||;True|2024-11-02T15:19:14.9663838+08:00||;True|2024-11-02T14:39:47.8808708+08:00||;False|2024-11-02T14:22:04.2841792+08:00||;True|2024-11-02T11:50:48.2452805+08:00||;True|2024-10-29T18:52:12.7978878+08:00||;True|2024-10-29T10:27:49.1623527+08:00||;True|2024-10-25T15:09:27.7029075+08:00||;True|2024-10-25T10:29:26.9218878+08:00||;True|2024-10-22T17:58:39.9582805+08:00||;True|2024-10-21T17:57:21.7047579+08:00||;True|2024-10-21T14:30:54.4520206+08:00||;True|2024-10-21T10:19:05.7405749+08:00||;True|2024-10-18T16:11:05.4049685+08:00||;True|2024-10-18T14:59:49.1162741+08:00||;True|2024-10-16T16:29:15.3185348+08:00||;True|2024-10-16T14:12:58.1754214+08:00||;True|2024-10-16T14:08:06.5805581+08:00||;True|2024-10-16T11:55:29.8273176+08:00||;True|2024-10-15T17:39:40.4090324+08:00||;True|2024-10-15T17:06:43.0181578+08:00||;True|2024-10-15T15:07:38.9601925+08:00||;True|2024-10-12T13:33:32.4412583+08:00||;True|2024-10-11T17:00:54.0916209+08:00||;True|2024-10-11T10:54:50.3307087+08:00||;True|2024-10-11T10:45:07.8181500+08:00||;True|2024-10-11T10:40:44.2066046+08:00||;True|2024-10-11T10:21:25.7226983+08:00||;True|2024-10-11T10:09:05.5257478+08:00||;True|2024-10-10T14:58:29.1228618+08:00||;True|2024-10-10T14:05:59.4501659+08:00||;True|2024-10-10T11:08:58.9765455+08:00||;True|2024-10-08T17:59:07.5583287+08:00||;True|2024-09-27T19:01:59.6945760+08:00||;True|2024-09-27T18:45:48.2812860+08:00||;True|2024-09-27T18:10:25.5697467+08:00||;True|2024-09-27T17:39:06.3169139+08:00||;True|2024-09-27T17:30:14.1043193+08:00||;True|2024-09-27T16:02:09.0703159+08:00||;True|2024-09-27T15:53:05.1789245+08:00||;True|2024-09-27T15:32:52.1934490+08:00||;True|2024-09-27T13:51:24.9197626+08:00||;True|2024-09-27T13:48:17.2817346+08:00||;True|2024-09-27T11:51:46.8193040+08:00||;True|2024-09-27T10:58:33.1059648+08:00||;True|2024-09-27T10:37:35.0336563+08:00||;False|2024-09-27T10:31:52.6302264+08:00||;True|2024-09-26T19:50:15.5513195+08:00||;True|2024-09-26T19:47:14.0781788+08:00||;True|2024-09-26T19:01:26.5428388+08:00||;True|2024-09-26T18:35:28.7455319+08:00||;True|2024-09-26T18:24:30.8084807+08:00||;True|2024-09-26T18:20:47.3005460+08:00||;True|2024-09-26T18:04:39.8012913+08:00||;True|2024-09-26T17:48:13.8526872+08:00||;True|2024-09-26T16:08:20.1746970+08:00||;True|2024-09-26T16:01:01.1501975+08:00||;False|2024-09-26T16:00:34.1516745+08:00||;True|2024-09-26T14:33:03.4007570+08:00||;True|2024-09-25T19:14:27.8906774+08:00||;True|2024-09-25T18:57:40.1435131+08:00||;True|2024-09-25T17:38:44.0915841+08:00||;True|2024-09-25T15:33:58.4630618+08:00||;True|2024-09-25T15:10:31.3022063+08:00||;False|2024-09-25T14:14:40.9640545+08:00||;True|2024-09-25T10:09:32.2558600+08:00||;True|2024-09-25T09:59:17.1525160+08:00||;False|2024-09-25T09:57:58.7265103+08:00||;False|2024-09-25T09:53:36.7732713+08:00||;False|2024-09-24T18:40:10.0166224+08:00||;True|2024-09-24T08:59:56.1995425+08:00||;True|2024-09-23T18:07:54.7222163+08:00||;True|2024-09-23T17:23:57.7568406+08:00||;</History> <History>True|2024-11-06T11:01:27.9483417Z||;True|2024-11-06T18:55:18.2364740+08:00||;True|2024-11-06T17:27:38.2731683+08:00||;True|2024-11-06T16:15:44.1540206+08:00||;True|2024-11-06T12:00:32.4812370+08:00||;True|2024-11-06T11:20:40.3736064+08:00||;True|2024-11-06T10:10:34.5300344+08:00||;True|2024-11-06T09:40:38.5643842+08:00||;True|2024-11-05T19:07:36.6125691+08:00||;True|2024-11-05T18:46:33.8702047+08:00||;True|2024-11-05T18:42:41.4519018+08:00||;True|2024-11-05T18:16:03.1698058+08:00||;True|2024-11-05T11:48:07.5089999+08:00||;True|2024-11-04T17:39:07.1315345+08:00||;True|2024-11-04T17:32:28.9239052+08:00||;True|2024-11-04T15:49:58.6422421+08:00||;True|2024-11-04T15:39:25.1892907+08:00||;True|2024-11-04T15:21:49.7395112+08:00||;True|2024-11-04T11:26:53.4821041+08:00||;True|2024-11-04T11:19:48.8467193+08:00||;True|2024-11-04T11:01:39.9398452+08:00||;True|2024-11-04T10:30:55.0743204+08:00||;True|2024-11-02T21:17:44.8575190+08:00||;True|2024-11-02T20:54:29.9931812+08:00||;True|2024-11-02T20:39:20.4100370+08:00||;True|2024-11-02T18:33:41.0724285+08:00||;True|2024-11-02T18:21:55.8561639+08:00||;True|2024-11-02T17:36:24.3401782+08:00||;True|2024-11-02T16:38:03.0054105+08:00||;True|2024-11-02T16:26:26.1698304+08:00||;True|2024-11-02T16:15:20.2872358+08:00||;True|2024-11-02T15:19:14.9663838+08:00||;True|2024-11-02T14:39:47.8808708+08:00||;False|2024-11-02T14:22:04.2841792+08:00||;True|2024-11-02T11:50:48.2452805+08:00||;True|2024-10-29T18:52:12.7978878+08:00||;True|2024-10-29T10:27:49.1623527+08:00||;True|2024-10-25T15:09:27.7029075+08:00||;True|2024-10-25T10:29:26.9218878+08:00||;True|2024-10-22T17:58:39.9582805+08:00||;True|2024-10-21T17:57:21.7047579+08:00||;True|2024-10-21T14:30:54.4520206+08:00||;True|2024-10-21T10:19:05.7405749+08:00||;True|2024-10-18T16:11:05.4049685+08:00||;True|2024-10-18T14:59:49.1162741+08:00||;True|2024-10-16T16:29:15.3185348+08:00||;True|2024-10-16T14:12:58.1754214+08:00||;True|2024-10-16T14:08:06.5805581+08:00||;True|2024-10-16T11:55:29.8273176+08:00||;True|2024-10-15T17:39:40.4090324+08:00||;True|2024-10-15T17:06:43.0181578+08:00||;True|2024-10-15T15:07:38.9601925+08:00||;True|2024-10-12T13:33:32.4412583+08:00||;True|2024-10-11T17:00:54.0916209+08:00||;True|2024-10-11T10:54:50.3307087+08:00||;True|2024-10-11T10:45:07.8181500+08:00||;True|2024-10-11T10:40:44.2066046+08:00||;True|2024-10-11T10:21:25.7226983+08:00||;True|2024-10-11T10:09:05.5257478+08:00||;True|2024-10-10T14:58:29.1228618+08:00||;True|2024-10-10T14:05:59.4501659+08:00||;True|2024-10-10T11:08:58.9765455+08:00||;True|2024-10-08T17:59:07.5583287+08:00||;True|2024-09-27T19:01:59.6945760+08:00||;True|2024-09-27T18:45:48.2812860+08:00||;True|2024-09-27T18:10:25.5697467+08:00||;True|2024-09-27T17:39:06.3169139+08:00||;True|2024-09-27T17:30:14.1043193+08:00||;True|2024-09-27T16:02:09.0703159+08:00||;True|2024-09-27T15:53:05.1789245+08:00||;True|2024-09-27T15:32:52.1934490+08:00||;True|2024-09-27T13:51:24.9197626+08:00||;True|2024-09-27T13:48:17.2817346+08:00||;True|2024-09-27T11:51:46.8193040+08:00||;True|2024-09-27T10:58:33.1059648+08:00||;True|2024-09-27T10:37:35.0336563+08:00||;False|2024-09-27T10:31:52.6302264+08:00||;True|2024-09-26T19:50:15.5513195+08:00||;True|2024-09-26T19:47:14.0781788+08:00||;True|2024-09-26T19:01:26.5428388+08:00||;True|2024-09-26T18:35:28.7455319+08:00||;True|2024-09-26T18:24:30.8084807+08:00||;True|2024-09-26T18:20:47.3005460+08:00||;True|2024-09-26T18:04:39.8012913+08:00||;True|2024-09-26T17:48:13.8526872+08:00||;True|2024-09-26T16:08:20.1746970+08:00||;True|2024-09-26T16:01:01.1501975+08:00||;False|2024-09-26T16:00:34.1516745+08:00||;True|2024-09-26T14:33:03.4007570+08:00||;True|2024-09-25T19:14:27.8906774+08:00||;True|2024-09-25T18:57:40.1435131+08:00||;True|2024-09-25T17:38:44.0915841+08:00||;True|2024-09-25T15:33:58.4630618+08:00||;True|2024-09-25T15:10:31.3022063+08:00||;False|2024-09-25T14:14:40.9640545+08:00||;True|2024-09-25T10:09:32.2558600+08:00||;True|2024-09-25T09:59:17.1525160+08:00||;False|2024-09-25T09:57:58.7265103+08:00||;False|2024-09-25T09:53:36.7732713+08:00||;False|2024-09-24T18:40:10.0166224+08:00||;</History>
<LastFailureDetails /> <LastFailureDetails />
</PropertyGroup> </PropertyGroup>
</Project> </Project>
Loading…
Cancel
Save