LsitFormWorkflow

This commit is contained in:
Sedat ÖZTÜRK 2026-05-22 12:06:15 +03:00
parent 08a2297a66
commit 9a49f4df0f
18 changed files with 683 additions and 49 deletions

View file

@ -101,7 +101,8 @@ Driven by:
- ListForm - ListForm
- ListFormFields - ListFormFields
- ListFormCustomization (UserUiFilter, GridState, ServerJoin, ServerWhere) - ListFormCustomization (UserUiFilter, GridState, ServerJoin, ServerWhere)
- ListFormImport and ListFormImportExecute - ListFormImport and ListFormImportLog
- ListFormWorkflow and ListFormWorkflowCriteria
- ListFormJsonRow operations - ListFormJsonRow operations
Capabilities: Capabilities:

View file

@ -3,7 +3,7 @@ using Volo.Abp.Application.Dtos;
namespace Sozsoft.Platform.ListForms; namespace Sozsoft.Platform.ListForms;
public class ListFormImportExecuteDto : AuditedEntityDto<Guid> public class ListFormImportLogDto : AuditedEntityDto<Guid>
{ {
public Guid ImportId { get; set; } public Guid ImportId { get; set; }
public string BlobName { get; set; } public string BlobName { get; set; }

View file

@ -11,7 +11,7 @@ public interface IImportAppService
Task<ListFormsImportDto> GetAsync(Guid sessionId); Task<ListFormsImportDto> GetAsync(Guid sessionId);
Task<List<ListFormsImportDto>> GetListByListFormCodeAsync(string name); Task<List<ListFormsImportDto>> GetListByListFormCodeAsync(string name);
Task<ListFormsImportDto> UpdateAsync(Guid sessionId, ListFormsImportDto input); Task<ListFormsImportDto> UpdateAsync(Guid sessionId, ListFormsImportDto input);
Task<ListFormImportExecuteDto> ExecuteAsync(ExecuteImportRequest request); Task<ListFormImportLogDto> ExecuteAsync(ImportExecuteRequest request);
Task DeleteAsync(Guid id); Task DeleteAsync(Guid id);
} }

View file

@ -3,7 +3,7 @@ using System.Collections.Generic;
namespace Sozsoft.Platform.ListForms.ImportManager; namespace Sozsoft.Platform.ListForms.ImportManager;
public class ExecuteImportRequest public class ImportExecuteRequest
{ {
public Guid SessionId { get; set; } public Guid SessionId { get; set; }
public string ListFormCode { get; set; } public string ListFormCode { get; set; }

View file

@ -43,7 +43,7 @@ public class ListFormAutoMapperProfile : Profile
CreateMap<ChartFontDto, ChartFont>(); CreateMap<ChartFontDto, ChartFont>();
CreateMap<ListFormImport, ListFormsImportDto>(); CreateMap<ListFormImport, ListFormsImportDto>();
CreateMap<ListFormImportExecute, ListFormImportExecuteDto>(); CreateMap<ListFormImportLog, ListFormImportLogDto>();
CreateMap<ImportValidationErrorDto, ImportValidationErrorDto>(); CreateMap<ImportValidationErrorDto, ImportValidationErrorDto>();
} }
} }

View file

@ -24,14 +24,14 @@ namespace Sozsoft.Platform.ListForms.ImportManager;
public class ListFormImportAppService : PlatformAppService, IImportAppService public class ListFormImportAppService : PlatformAppService, IImportAppService
{ {
private readonly IRepository<ListFormImport, Guid> _importSessionRepository; private readonly IRepository<ListFormImport, Guid> _importSessionRepository;
private readonly IRepository<ListFormImportExecute, Guid> _importSessionExecuteRepository; private readonly IRepository<ListFormImportLog, Guid> _importSessionExecuteRepository;
private readonly IListFormAuthorizationManager _authManager; private readonly IListFormAuthorizationManager _authManager;
private readonly IQueryManager _qManager; private readonly IQueryManager _qManager;
private readonly BlobManager _blobContainer; private readonly BlobManager _blobContainer;
public ListFormImportAppService( public ListFormImportAppService(
IRepository<ListFormImport, Guid> importSessionRepository, IRepository<ListFormImport, Guid> importSessionRepository,
IRepository<ListFormImportExecute, Guid> importSessionExecuteRepository, IRepository<ListFormImportLog, Guid> importSessionExecuteRepository,
IListFormAuthorizationManager authManager, IListFormAuthorizationManager authManager,
IQueryManager qManager, IQueryManager qManager,
BlobManager blobContainer BlobManager blobContainer
@ -134,7 +134,7 @@ public class ListFormImportAppService : PlatformAppService, IImportAppService
} }
[UnitOfWork] [UnitOfWork]
public async Task<ListFormImportExecuteDto> ExecuteAsync([FromBody] ExecuteImportRequest request) public async Task<ListFormImportLogDto> ExecuteAsync([FromBody] ImportExecuteRequest request)
{ {
var queryable = await _importSessionRepository.GetQueryableAsync(); var queryable = await _importSessionRepository.GetQueryableAsync();
var session = await AsyncExecuter.FirstOrDefaultAsync(queryable.Where(a => a.Id == request.SessionId)) var session = await AsyncExecuter.FirstOrDefaultAsync(queryable.Where(a => a.Id == request.SessionId))
@ -144,7 +144,7 @@ public class ListFormImportAppService : PlatformAppService, IImportAppService
if (!await _authManager.CanAccess(request.ListFormCode, AuthorizationTypeEnum.Import)) if (!await _authManager.CanAccess(request.ListFormCode, AuthorizationTypeEnum.Import))
throw new Volo.Abp.UserFriendlyException(L[AppErrorCodes.NoAuth]); throw new Volo.Abp.UserFriendlyException(L[AppErrorCodes.NoAuth]);
var execute = new ListFormImportExecute var execute = new ListFormImportLog
{ {
ImportId = request.SessionId, ImportId = request.SessionId,
BlobName = session.BlobName, BlobName = session.BlobName,
@ -224,7 +224,7 @@ public class ListFormImportAppService : PlatformAppService, IImportAppService
session.Status = errorCount > 0 ? "executed_with_errors" : "executed"; session.Status = errorCount > 0 ? "executed_with_errors" : "executed";
await _importSessionRepository.UpdateAsync(session, autoSave: true); await _importSessionRepository.UpdateAsync(session, autoSave: true);
return ObjectMapper.Map<ListFormImportExecute, ListFormImportExecuteDto>(execute); return ObjectMapper.Map<ListFormImportLog, ListFormImportLogDto>(execute);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -241,7 +241,7 @@ public class ListFormImportAppService : PlatformAppService, IImportAppService
} }
} }
public async Task<List<ListFormImportExecuteDto>> GetListExecutesAsync(Guid sessionId) public async Task<List<ListFormImportLogDto>> GetListExecutesAsync(Guid sessionId)
{ {
var queryable = await _importSessionExecuteRepository.GetQueryableAsync(); var queryable = await _importSessionExecuteRepository.GetQueryableAsync();
var sessions = await AsyncExecuter.ToListAsync( var sessions = await AsyncExecuter.ToListAsync(
@ -250,7 +250,7 @@ public class ListFormImportAppService : PlatformAppService, IImportAppService
.OrderByDescending(x => x.CreationTime) .OrderByDescending(x => x.CreationTime)
); );
return ObjectMapper.Map<List<ListFormImportExecute>, List<ListFormImportExecuteDto>>(sessions); return ObjectMapper.Map<List<ListFormImportLog>, List<ListFormImportLogDto>>(sessions);
} }
public async Task DeleteAsync(Guid id) public async Task DeleteAsync(Guid id)

View file

@ -27,7 +27,9 @@ public enum TableNameEnum
ListFormField, ListFormField,
ListFormCustomization, ListFormCustomization,
ListFormImport, ListFormImport,
ListFormImportExecute, ListFormImportLog,
ListFormWorkflow,
ListFormWorkflowCriteria,
Note, Note,
ForumCategory, ForumCategory,
ForumTopic, ForumTopic,

View file

@ -37,7 +37,9 @@ public static class TableNameResolver
{ nameof(TableNameEnum.ListFormField), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ListFormField), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ListFormCustomization), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ListFormCustomization), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ListFormImport), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ListFormImport), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ListFormImportExecute), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.ListFormImportLog), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ListFormWorkflow), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.ListFormWorkflowCriteria), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.Notification), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.Notification), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.NotificationRule), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.NotificationRule), (TablePrefix.PlatformByName, MenuPrefix.Saas) },
{ nameof(TableNameEnum.NotificationType), (TablePrefix.PlatformByName, MenuPrefix.Saas) }, { nameof(TableNameEnum.NotificationType), (TablePrefix.PlatformByName, MenuPrefix.Saas) },

View file

@ -3,7 +3,7 @@ using Volo.Abp.Domain.Entities.Auditing;
namespace Sozsoft.Platform.Entities; namespace Sozsoft.Platform.Entities;
public class ListFormImportExecute : FullAuditedEntity<Guid> public class ListFormImportLog : FullAuditedEntity<Guid>
{ {
public Guid ImportId { get; set; } public Guid ImportId { get; set; }
public string BlobName { get; set; } public string BlobName { get; set; }

View file

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using Volo.Abp.Domain.Entities.Auditing;
namespace Sozsoft.Platform.Entities;
public class ListFormWorkflow : FullAuditedEntity<Guid>
{
public string ListFormCode { get; set; }
public int OrderNo { get; set; }
public string Title { get; set; }
public string Status { get; set; }
public decimal Amount { get; set; }
public string CurrentNodeId { get; set; }
public string AssignedApprover { get; set; }
public string InformedPerson { get; set; }
public string HistoryJson { get; set; }
public ICollection<ListFormWorkflowCriteria> Criteria { get; set; }
}

View file

@ -0,0 +1,27 @@
using System;
using Volo.Abp.Domain.Entities.Auditing;
namespace Sozsoft.Platform.Entities;
public class ListFormWorkflowCriteria : FullAuditedEntity<Guid>
{
public string ListFormCode { get; set; }
public Guid WorkflowItemId { get; set; }
public ListFormWorkflow WorkflowItem { get; set; }
public string NodeId { get; set; }
public string Kind { get; set; }
public string Title { get; set; }
public string Column { get; set; }
public string Operator { get; set; }
public decimal CompareValue { get; set; }
public string Approver { get; set; }
public string InformPerson { get; set; }
public string NextOnStart { get; set; }
public string NextOnTrue { get; set; }
public string NextOnFalse { get; set; }
public string NextOnApprove { get; set; }
public string NextOnReject { get; set; }
public int PositionX { get; set; }
public int PositionY { get; set; }
public string CompareOutcomesJson { get; set; }
}

View file

@ -54,7 +54,9 @@ public class PlatformDbContext :
public DbSet<ListFormField> ListFormFields { get; set; } public DbSet<ListFormField> ListFormFields { get; set; }
public DbSet<ListFormCustomization> ListFormCustomization { get; set; } public DbSet<ListFormCustomization> ListFormCustomization { get; set; }
public DbSet<ListFormImport> ListFormImports { get; set; } public DbSet<ListFormImport> ListFormImports { get; set; }
public DbSet<ListFormImportExecute> ListFormImportExecutes { get; set; } public DbSet<ListFormImportLog> ListFormImportLogs { get; set; }
public DbSet<ListFormWorkflow> ListFormWorkflows { get; set; }
public DbSet<ListFormWorkflowCriteria> ListFormWorkflowCriteria { get; set; }
public DbSet<BackgroundWorker> BackgroundWorkers { get; set; } public DbSet<BackgroundWorker> BackgroundWorkers { get; set; }
public DbSet<ForumCategory> ForumCategories { get; set; } public DbSet<ForumCategory> ForumCategories { get; set; }
public DbSet<ForumTopic> ForumTopics { get; set; } public DbSet<ForumTopic> ForumTopics { get; set; }
@ -466,12 +468,12 @@ public class PlatformDbContext :
b.Property(x => x.BlobName).IsRequired().HasMaxLength(256); b.Property(x => x.BlobName).IsRequired().HasMaxLength(256);
b.Property(x => x.Status).IsRequired().HasMaxLength(64); b.Property(x => x.Status).IsRequired().HasMaxLength(64);
builder.Entity<ListFormImport>(b => { b.HasMany<ListFormImportExecute>().WithOne().HasForeignKey(x => x.ImportId).OnDelete(DeleteBehavior.Cascade); }); builder.Entity<ListFormImport>(b => { b.HasMany<ListFormImportLog>().WithOne().HasForeignKey(x => x.ImportId).OnDelete(DeleteBehavior.Cascade); });
}); });
builder.Entity<ListFormImportExecute>(b => builder.Entity<ListFormImportLog>(b =>
{ {
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.ListFormImportExecute)), Prefix.DbSchema); b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.ListFormImportLog)), Prefix.DbSchema);
b.ConfigureByConvention(); b.ConfigureByConvention();
b.Property(x => x.ImportId).IsRequired(); b.Property(x => x.ImportId).IsRequired();
@ -480,6 +482,59 @@ public class PlatformDbContext :
b.Property(x => x.ErrorsJson).HasColumnType("text"); b.Property(x => x.ErrorsJson).HasColumnType("text");
}); });
builder.Entity<ListFormWorkflow>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.ListFormWorkflow)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.ListFormCode).IsRequired().HasMaxLength(64);
b.Property(x => x.OrderNo).IsRequired();
b.Property(x => x.Title).IsRequired().HasMaxLength(150);
b.Property(x => x.Status).IsRequired().HasMaxLength(100);
b.Property(x => x.Amount).HasPrecision(18, 2);
b.Property(x => x.CurrentNodeId).IsRequired().HasMaxLength(50);
b.Property(x => x.AssignedApprover).IsRequired().HasMaxLength(250);
b.Property(x => x.InformedPerson).IsRequired().HasMaxLength(250);
b.Property(x => x.HistoryJson).HasColumnType("text");
b.HasMany(x => x.Criteria)
.WithOne(x => x.WorkflowItem)
.HasForeignKey(x => x.WorkflowItemId)
.OnDelete(DeleteBehavior.Cascade);
});
builder.Entity<ListFormWorkflowCriteria>(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.ListFormWorkflowCriteria)), Prefix.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.ListFormCode).IsRequired().HasMaxLength(64);
b.Property(x => x.WorkflowItemId).IsRequired();
b.Property(x => x.NodeId).IsRequired().HasMaxLength(50);
b.Property(x => x.Kind).IsRequired().HasMaxLength(50);
b.Property(x => x.Title).IsRequired().HasMaxLength(250);
b.Property(x => x.Column).IsRequired().HasMaxLength(100);
b.Property(x => x.Operator).IsRequired().HasMaxLength(20);
b.Property(x => x.CompareValue).HasPrecision(18, 2);
b.Property(x => x.Approver).IsRequired().HasMaxLength(250);
b.Property(x => x.InformPerson).IsRequired().HasMaxLength(250);
b.Property(x => x.NextOnStart).IsRequired().HasMaxLength(50);
b.Property(x => x.NextOnTrue).IsRequired().HasMaxLength(50);
b.Property(x => x.NextOnFalse).IsRequired().HasMaxLength(50);
b.Property(x => x.NextOnApprove).IsRequired().HasMaxLength(50);
b.Property(x => x.NextOnReject).IsRequired().HasMaxLength(50);
b.Property(x => x.PositionX).IsRequired();
b.Property(x => x.PositionY).IsRequired();
b.Property(x => x.CompareOutcomesJson).HasColumnType("text");
b.HasIndex(x => new
{
x.ListFormCode,
x.WorkflowItemId,
x.NodeId
});
});
builder.Entity<Note>(b => builder.Entity<Note>(b =>
{ {
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Note)), Prefix.DbSchema); b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Note)), Prefix.DbSchema);
@ -685,7 +740,7 @@ public class PlatformDbContext :
b.Property(x => x.Rate).HasPrecision(18, 6); b.Property(x => x.Rate).HasPrecision(18, 6);
b.Property(x => x.IsActive).HasDefaultValue(true); b.Property(x => x.IsActive).HasDefaultValue(true);
b.HasIndex(x => new {x.Id, x.Name }).IsUnique().HasFilter("[IsDeleted] = 0"); b.HasIndex(x => new { x.Id, x.Name }).IsUnique().HasFilter("[IsDeleted] = 0");
}); });
builder.Entity<CountryGroup>(b => builder.Entity<CountryGroup>(b =>

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Sozsoft.Platform.Migrations namespace Sozsoft.Platform.Migrations
{ {
[DbContext(typeof(PlatformDbContext))] [DbContext(typeof(PlatformDbContext))]
[Migration("20260517100701_Initial")] [Migration("20260522085648_Initial")]
partial class Initial partial class Initial
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -3339,7 +3339,7 @@ namespace Sozsoft.Platform.Migrations
b.ToTable("Sas_H_ListFormImport", (string)null); b.ToTable("Sas_H_ListFormImport", (string)null);
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportExecute", b => modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportLog", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
@ -3406,7 +3406,212 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("ImportId"); b.HasIndex("ImportId");
b.ToTable("Sas_H_ListFormImportExecute", (string)null); b.ToTable("Sas_H_ListFormImportLog", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflow", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<decimal>("Amount")
.HasPrecision(18, 2)
.HasColumnType("decimal(18,2)");
b.Property<string>("AssignedApprover")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("CurrentNodeId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("HistoryJson")
.HasColumnType("text");
b.Property<string>("InformedPerson")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("ListFormCode")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<int>("OrderNo")
.HasColumnType("int");
b.Property<string>("Status")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("nvarchar(150)");
b.HasKey("Id");
b.ToTable("Sas_H_ListFormWorkflow", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflowCriteria", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Approver")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<string>("Column")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("CompareOutcomesJson")
.HasColumnType("text");
b.Property<decimal>("CompareValue")
.HasPrecision(18, 2)
.HasColumnType("decimal(18,2)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("InformPerson")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<string>("Kind")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("ListFormCode")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<string>("NextOnApprove")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnFalse")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnReject")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnStart")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnTrue")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NodeId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("Operator")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("PositionX")
.HasColumnType("int");
b.Property<int>("PositionY")
.HasColumnType("int");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<Guid>("WorkflowItemId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("WorkflowItemId");
b.HasIndex("ListFormCode", "WorkflowItemId", "NodeId");
b.ToTable("Sas_H_ListFormWorkflowCriteria", (string)null);
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.LogEntry", b => modelBuilder.Entity("Sozsoft.Platform.Entities.LogEntry", b =>
@ -8130,7 +8335,7 @@ namespace Sozsoft.Platform.Migrations
.IsRequired(); .IsRequired();
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportExecute", b => modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportLog", b =>
{ {
b.HasOne("Sozsoft.Platform.Entities.ListFormImport", null) b.HasOne("Sozsoft.Platform.Entities.ListFormImport", null)
.WithMany() .WithMany()
@ -8139,6 +8344,17 @@ namespace Sozsoft.Platform.Migrations
.IsRequired(); .IsRequired();
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflowCriteria", b =>
{
b.HasOne("Sozsoft.Platform.Entities.ListFormWorkflow", "WorkflowItem")
.WithMany("Criteria")
.HasForeignKey("WorkflowItemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("WorkflowItem");
});
modelBuilder.Entity("Sozsoft.Platform.Entities.OrderItem", b => modelBuilder.Entity("Sozsoft.Platform.Entities.OrderItem", b =>
{ {
b.HasOne("Sozsoft.Platform.Entities.Order", "Order") b.HasOne("Sozsoft.Platform.Entities.Order", "Order")
@ -8574,6 +8790,11 @@ namespace Sozsoft.Platform.Migrations
b.Navigation("Events"); b.Navigation("Events");
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflow", b =>
{
b.Navigation("Criteria");
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Order", b => modelBuilder.Entity("Sozsoft.Platform.Entities.Order", b =>
{ {
b.Navigation("Items"); b.Navigation("Items");

View file

@ -1388,6 +1388,33 @@ namespace Sozsoft.Platform.Migrations
table.UniqueConstraint("AK_Sas_H_ListForm_ListFormCode", x => x.ListFormCode); table.UniqueConstraint("AK_Sas_H_ListForm_ListFormCode", x => x.ListFormCode);
}); });
migrationBuilder.CreateTable(
name: "Sas_H_ListFormWorkflow",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ListFormCode = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
OrderNo = table.Column<int>(type: "int", nullable: false),
Title = table.Column<string>(type: "nvarchar(150)", maxLength: 150, nullable: false),
Status = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
Amount = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
CurrentNodeId = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
AssignedApprover = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
InformedPerson = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
HistoryJson = table.Column<string>(type: "text", nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Sas_H_ListFormWorkflow", x => x.Id);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Sas_H_LogEntry", name: "Sas_H_LogEntry",
columns: table => new columns: table => new
@ -2634,6 +2661,48 @@ namespace Sozsoft.Platform.Migrations
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateTable(
name: "Sas_H_ListFormWorkflowCriteria",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ListFormCode = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
WorkflowItemId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
NodeId = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Kind = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Title = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
Column = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
Operator = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: false),
CompareValue = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false),
Approver = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
InformPerson = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
NextOnStart = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
NextOnTrue = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
NextOnFalse = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
NextOnApprove = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
NextOnReject = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
PositionX = table.Column<int>(type: "int", nullable: false),
PositionY = table.Column<int>(type: "int", nullable: false),
CompareOutcomesJson = table.Column<string>(type: "text", nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_Sas_H_ListFormWorkflowCriteria", x => x.Id);
table.ForeignKey(
name: "FK_Sas_H_ListFormWorkflowCriteria_Sas_H_ListFormWorkflow_WorkflowItemId",
column: x => x.WorkflowItemId,
principalTable: "Sas_H_ListFormWorkflow",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Sas_H_NotificationRule", name: "Sas_H_NotificationRule",
columns: table => new columns: table => new
@ -3100,7 +3169,7 @@ namespace Sozsoft.Platform.Migrations
}); });
migrationBuilder.CreateTable( migrationBuilder.CreateTable(
name: "Sas_H_ListFormImportExecute", name: "Sas_H_ListFormImportLog",
columns: table => new columns: table => new
{ {
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
@ -3122,9 +3191,9 @@ namespace Sozsoft.Platform.Migrations
}, },
constraints: table => constraints: table =>
{ {
table.PrimaryKey("PK_Sas_H_ListFormImportExecute", x => x.Id); table.PrimaryKey("PK_Sas_H_ListFormImportLog", x => x.Id);
table.ForeignKey( table.ForeignKey(
name: "FK_Sas_H_ListFormImportExecute_Sas_H_ListFormImport_ImportId", name: "FK_Sas_H_ListFormImportLog_Sas_H_ListFormImport_ImportId",
column: x => x.ImportId, column: x => x.ImportId,
principalTable: "Sas_H_ListFormImport", principalTable: "Sas_H_ListFormImport",
principalColumn: "Id", principalColumn: "Id",
@ -3860,10 +3929,20 @@ namespace Sozsoft.Platform.Migrations
column: "ListFormCode"); column: "ListFormCode");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Sas_H_ListFormImportExecute_ImportId", name: "IX_Sas_H_ListFormImportLog_ImportId",
table: "Sas_H_ListFormImportExecute", table: "Sas_H_ListFormImportLog",
column: "ImportId"); column: "ImportId");
migrationBuilder.CreateIndex(
name: "IX_Sas_H_ListFormWorkflowCriteria_ListFormCode_WorkflowItemId_NodeId",
table: "Sas_H_ListFormWorkflowCriteria",
columns: new[] { "ListFormCode", "WorkflowItemId", "NodeId" });
migrationBuilder.CreateIndex(
name: "IX_Sas_H_ListFormWorkflowCriteria_WorkflowItemId",
table: "Sas_H_ListFormWorkflowCriteria",
column: "WorkflowItemId");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Sas_H_Menu_Code", name: "IX_Sas_H_Menu_Code",
table: "Sas_H_Menu", table: "Sas_H_Menu",
@ -4211,7 +4290,10 @@ namespace Sozsoft.Platform.Migrations
name: "Sas_H_ListFormField"); name: "Sas_H_ListFormField");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Sas_H_ListFormImportExecute"); name: "Sas_H_ListFormImportLog");
migrationBuilder.DropTable(
name: "Sas_H_ListFormWorkflowCriteria");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Sas_H_LogEntry"); name: "Sas_H_LogEntry");
@ -4318,6 +4400,9 @@ namespace Sozsoft.Platform.Migrations
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Sas_H_ListFormImport"); name: "Sas_H_ListFormImport");
migrationBuilder.DropTable(
name: "Sas_H_ListFormWorkflow");
migrationBuilder.DropTable( migrationBuilder.DropTable(
name: "Sas_H_NotificationRule"); name: "Sas_H_NotificationRule");

View file

@ -3336,7 +3336,7 @@ namespace Sozsoft.Platform.Migrations
b.ToTable("Sas_H_ListFormImport", (string)null); b.ToTable("Sas_H_ListFormImport", (string)null);
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportExecute", b => modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportLog", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier"); .HasColumnType("uniqueidentifier");
@ -3403,7 +3403,212 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("ImportId"); b.HasIndex("ImportId");
b.ToTable("Sas_H_ListFormImportExecute", (string)null); b.ToTable("Sas_H_ListFormImportLog", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflow", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<decimal>("Amount")
.HasPrecision(18, 2)
.HasColumnType("decimal(18,2)");
b.Property<string>("AssignedApprover")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<string>("CurrentNodeId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("HistoryJson")
.HasColumnType("text");
b.Property<string>("InformedPerson")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("ListFormCode")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<int>("OrderNo")
.HasColumnType("int");
b.Property<string>("Status")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(150)
.HasColumnType("nvarchar(150)");
b.HasKey("Id");
b.ToTable("Sas_H_ListFormWorkflow", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflowCriteria", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<string>("Approver")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<string>("Column")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("CompareOutcomesJson")
.HasColumnType("text");
b.Property<decimal>("CompareValue")
.HasPrecision(18, 2)
.HasColumnType("decimal(18,2)");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<string>("InformPerson")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<string>("Kind")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("ListFormCode")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("nvarchar(64)");
b.Property<string>("NextOnApprove")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnFalse")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnReject")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnStart")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NextOnTrue")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("NodeId")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("Operator")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<int>("PositionX")
.HasColumnType("int");
b.Property<int>("PositionY")
.HasColumnType("int");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(250)
.HasColumnType("nvarchar(250)");
b.Property<Guid>("WorkflowItemId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("WorkflowItemId");
b.HasIndex("ListFormCode", "WorkflowItemId", "NodeId");
b.ToTable("Sas_H_ListFormWorkflowCriteria", (string)null);
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.LogEntry", b => modelBuilder.Entity("Sozsoft.Platform.Entities.LogEntry", b =>
@ -8127,7 +8332,7 @@ namespace Sozsoft.Platform.Migrations
.IsRequired(); .IsRequired();
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportExecute", b => modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormImportLog", b =>
{ {
b.HasOne("Sozsoft.Platform.Entities.ListFormImport", null) b.HasOne("Sozsoft.Platform.Entities.ListFormImport", null)
.WithMany() .WithMany()
@ -8136,6 +8341,17 @@ namespace Sozsoft.Platform.Migrations
.IsRequired(); .IsRequired();
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflowCriteria", b =>
{
b.HasOne("Sozsoft.Platform.Entities.ListFormWorkflow", "WorkflowItem")
.WithMany("Criteria")
.HasForeignKey("WorkflowItemId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("WorkflowItem");
});
modelBuilder.Entity("Sozsoft.Platform.Entities.OrderItem", b => modelBuilder.Entity("Sozsoft.Platform.Entities.OrderItem", b =>
{ {
b.HasOne("Sozsoft.Platform.Entities.Order", "Order") b.HasOne("Sozsoft.Platform.Entities.Order", "Order")
@ -8571,6 +8787,11 @@ namespace Sozsoft.Platform.Migrations
b.Navigation("Events"); b.Navigation("Events");
}); });
modelBuilder.Entity("Sozsoft.Platform.Entities.ListFormWorkflow", b =>
{
b.Navigation("Criteria");
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Order", b => modelBuilder.Entity("Sozsoft.Platform.Entities.Order", b =>
{ {
b.Navigation("Items"); b.Navigation("Items");

View file

@ -18,7 +18,7 @@ import {
import { FileUploadArea } from './FileUploadArea' import { FileUploadArea } from './FileUploadArea'
import { ImportPreview } from './ImportPreview' import { ImportPreview } from './ImportPreview'
import { ImportProgress } from './ImportProgress' import { ImportProgress } from './ImportProgress'
import { ListFormImportDto, ListFormImportExecuteDto } from '@/proxy/imports/models' import { ListFormImportDto, ListFormImportLogDto } from '@/proxy/imports/models'
import { ImportService } from '@/services/import.service' import { ImportService } from '@/services/import.service'
import { GridDto } from '@/proxy/form/models' import { GridDto } from '@/proxy/form/models'
import { useLocalization } from '@/utils/hooks/useLocalization' import { useLocalization } from '@/utils/hooks/useLocalization'
@ -41,7 +41,7 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
const [generating, setGenerating] = useState(false) const [generating, setGenerating] = useState(false)
const [expandedSessions, setExpandedSessions] = useState<Set<string>>(new Set()) const [expandedSessions, setExpandedSessions] = useState<Set<string>>(new Set())
const [sessionExecutes, setSessionExecutes] = useState< const [sessionExecutes, setSessionExecutes] = useState<
Record<string, ListFormImportExecuteDto[]> Record<string, ListFormImportLogDto[]>
>({}) >({})
const [loadingExecutes, setLoadingExecutes] = useState<Set<string>>(new Set()) const [loadingExecutes, setLoadingExecutes] = useState<Set<string>>(new Set())
@ -77,7 +77,7 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
// Her zaman fresh data çek - cache'e güvenme // Her zaman fresh data çek - cache'e güvenme
setLoadingExecutes((prev) => new Set([...prev, sessionId])) setLoadingExecutes((prev) => new Set([...prev, sessionId]))
try { try {
const executes = await importService.getListFormImportExecutes(sessionId) const executes = await importService.getListFormImportLogs(sessionId)
setSessionExecutes((prev) => ({ setSessionExecutes((prev) => ({
...prev, ...prev,
[sessionId]: executes, [sessionId]: executes,
@ -153,7 +153,7 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
} }
} }
const handleImportExecute = async ( const handleImportLog = async (
sessionId: string, sessionId: string,
listFormCode: string, listFormCode: string,
selectedRows?: number[], selectedRows?: number[],
@ -497,7 +497,7 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
<ImportPreview <ImportPreview
session={currentSession} session={currentSession}
gridDto={gridDto} gridDto={gridDto}
onExecute={handleImportExecute} onExecute={handleImportLog}
loading={loading} loading={loading}
importService={importService} importService={importService}
onPreviewLoaded={loadImportHistory} onPreviewLoaded={loadImportHistory}
@ -589,7 +589,7 @@ export const ImportDashboard: React.FC<ImportDashboardProps> = ({ gridDto }) =>
if (sessionExecutes[session.id]) { if (sessionExecutes[session.id]) {
setLoadingExecutes((prev) => new Set([...prev, session.id])) setLoadingExecutes((prev) => new Set([...prev, session.id]))
try { try {
const executes = await importService.getListFormImportExecutes( const executes = await importService.getListFormImportLogs(
session.id, session.id,
) )
setSessionExecutes((prev) => ({ setSessionExecutes((prev) => ({

View file

@ -9,7 +9,7 @@ export interface ListFormImportDto {
creationTime: string creationTime: string
} }
export interface ListFormImportExecuteDto { export interface ListFormImportLogDto {
id: string id: string
importId: string importId: string
blobName: string blobName: string

View file

@ -2,7 +2,7 @@ import { GridDto } from '@/proxy/form/models'
import { import {
ImportPreviewData, ImportPreviewData,
ListFormImportDto, ListFormImportDto,
ListFormImportExecuteDto, ListFormImportLogDto,
} from '@/proxy/imports/models' } from '@/proxy/imports/models'
import apiService from './api.service' import apiService from './api.service'
@ -196,7 +196,7 @@ ${headers
sessionId: string, sessionId: string,
listFormCode: string, listFormCode: string,
selectedRows?: number[], selectedRows?: number[],
): Promise<ListFormImportExecuteDto> { ): Promise<ListFormImportLogDto> {
// Get the uploaded file data // Get the uploaded file data
const uploadedFile = this._uploadedFiles.get(sessionId) const uploadedFile = this._uploadedFiles.get(sessionId)
if (!uploadedFile) { if (!uploadedFile) {
@ -217,7 +217,7 @@ ${headers
} }
// Call backend API to execute import with selected rows data // Call backend API to execute import with selected rows data
const response = await apiService.fetchData<ListFormImportExecuteDto>({ const response = await apiService.fetchData<ListFormImportLogDto>({
url: `/api/app/list-form-import/execute`, url: `/api/app/list-form-import/execute`,
method: 'POST', method: 'POST',
data: { data: {
@ -249,8 +249,8 @@ ${headers
return response.data return response.data
} }
async getListFormImportExecutes(sessionId: string): Promise<ListFormImportExecuteDto[]> { async getListFormImportLogs(sessionId: string): Promise<ListFormImportLogDto[]> {
const response = await apiService.fetchData<ListFormImportExecuteDto[]>({ const response = await apiService.fetchData<ListFormImportLogDto[]>({
url: `/api/app/list-form-import/executes/${sessionId}`, url: `/api/app/list-form-import/executes/${sessionId}`,
method: 'GET', method: 'GET',
}) })