From a3245a6e82dba965779383adecaa82b5fca65ac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sun, 7 Dec 2025 22:15:16 +0300 Subject: [PATCH] Store Stock Entry --- .../Seeds/LanguagesData.json | 24 +- .../Seeds/ListFormSeeder_Store.cs | 479 +++++++++++++++++- .../Seeds/MenusData.json | 14 +- .../Seeds/PermissionsData.json | 182 ++++++- .../Erp.Platform.Domain/Data/SeedConsts.cs | 6 + .../Entities/Tenant/Store/Movement.cs | 6 +- .../EntityFrameworkCore/PlatformDbContext.cs | 2 +- ....cs => 20251207184859_Initial.Designer.cs} | 20 +- ...8_Initial.cs => 20251207184859_Initial.cs} | 67 ++- .../PlatformDbContextModelSnapshot.cs | 18 +- .../Tenants/Seeds/TenantData.json | 6 +- .../Tenants/TenantDataSeeder.cs | 4 +- .../Tenants/TenantDatabaseViewCreator.cs | 2 +- 13 files changed, 744 insertions(+), 86 deletions(-) rename api/src/Erp.Platform.EntityFrameworkCore/Migrations/{20251206210148_Initial.Designer.cs => 20251207184859_Initial.Designer.cs} (99%) rename api/src/Erp.Platform.EntityFrameworkCore/Migrations/{20251206210148_Initial.cs => 20251207184859_Initial.cs} (99%) diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index e5edaaf6..367a5a58 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -9747,15 +9747,15 @@ }, { "resourceName": "Platform", - "key": "App.Store.Receipt", - "tr": "Stok Girişi", - "en": "Stock Receipt" + "key": "App.Store.Exit", + "tr": "Stok Çıkışı", + "en": "Stock Exit" }, { "resourceName": "Platform", - "key": "App.Store.Issue", - "tr": "Stok Çıkışı", - "en": "Stock Issue" + "key": "App.Store.ExitItem", + "tr": "Stok Çıkışı Ürünleri", + "en": "Stock Exit Items" }, { "resourceName": "Platform", @@ -9787,6 +9787,18 @@ "tr": "Stok Hareket Ürünleri", "en": "Stock Movement Items" }, + { + "resourceName": "Platform", + "key": "App.Store.Entry", + "tr": "Stok Girişi", + "en": "Stock Entry" + }, + { + "resourceName": "Platform", + "key": "App.Store.EntryItem", + "tr": "Stok Girişi Ürünleri", + "en": "Stock Entry Items" + }, { "resourceName": "Platform", "key": "App.Project.Definitions", diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Store.cs b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Store.cs index ea3ce733..4fba4f6f 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Store.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Store.cs @@ -2328,7 +2328,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen } #endregion - #region Movement Item + #region Movement Items listFormName = AppCodes.Store.MovementItem; if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) { @@ -2431,6 +2431,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen IsActive = true, IsDeleted = false, AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.MovementType), "Name", "Name"), ColumnCustomizationJson = DefaultColumnCustomizationJson, PermissionJson = DefaultFieldPermissionJson(listForm.Name), PivotSettingsJson = DefaultPivotSettingsJson @@ -2438,14 +2439,15 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen new() { ListFormCode = listForm.ListFormCode, CultureName = LanguageCodes.En, - SourceDbType = DbType.String, - FieldName = "ReferenceType", + SourceDbType = DbType.Guid, + FieldName = "ReferenceTypeId", Width = 100, ListOrderNo = 5, Visible = true, IsActive = true, IsDeleted = false, AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.ReferenceType), "Id", "Name"), ColumnCustomizationJson = DefaultColumnCustomizationJson, PermissionJson = DefaultFieldPermissionJson(listForm.Name), PivotSettingsJson = DefaultPivotSettingsJson @@ -2626,5 +2628,476 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen #endregion } #endregion + + #region Movement Entry + listFormName = AppCodes.Store.Entry; + if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) + { + var listForm = await _listFormRepository.InsertAsync( + new ListForm() + { + ListFormType = ListFormTypeEnum.List, + ExportJson = DefaultExportJson, + IsSubForm = false, + ShowNote = true, + LayoutJson = DefaultLayoutJson(), + CultureName = LanguageCodes.En, + ListFormCode = listFormName, + Name = listFormName, + Title = listFormName, + DataSourceCode = SeedConsts.DataSources.DefaultCode, + IsTenant = true, + IsBranch = false, + IsOrganizationUnit = false, + Description = listFormName, + SelectCommandType = SelectCommandTypeEnum.Table, + SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Movement)), + KeyFieldName = "Id", + KeyFieldDbSourceType = DbType.Guid, + DefaultFilter = "\"IsDeleted\" = 'false' AND \"MovementType\" = 'Giriş'", + SortMode = GridOptions.SortModeSingle, + FilterRowJson = DefaultFilterRowJson, + HeaderFilterJson = DefaultHeaderFilterJson, + SearchPanelJson = DefaultSearchPanelJson, + GroupPanelJson = DefaultGroupPanelJson, + SelectionJson = DefaultSelectionSingleJson, + ColumnOptionJson = DefaultColumnOptionJson, + PermissionJson = DefaultPermissionJson(listFormName), + DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Movement)), + DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson, + PagerOptionJson = DefaultPagerOptionJson, + InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson, + EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false), + EditingFormJson = JsonSerializer.Serialize(new List() { + new() { + Order=1, ColCount=2, ColSpan=1, ItemType="group", Items= [ + new EditingFormItemDto { Order = 1, DataField = "MovementNumber", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox, EditorOptions = EditorOptionValues.Disabled }, + new EditingFormItemDto { Order = 2, DataField = "MovementType", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox, EditorOptions = EditorOptionValues.Disabled }, + new EditingFormItemDto { Order = 3, DataField = "MovementDate", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxDateBox }, + new EditingFormItemDto { Order = 4, DataField = "ReferenceTypeId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 5, DataField = "ReferenceDocument", ColSpan = 1, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 6, DataField = "Description", ColSpan = 2, EditorType2=EditorTypes.dxTextArea }, + ]} + }), + FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { FieldName = "MovementNumber", FieldDbType = DbType.String, Value = "@AUTONUMBER", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { FieldName = "MovementType", FieldDbType = DbType.String, Value = "Giriş", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "MovementDate", FieldDbType = DbType.Date, Value = "@DATE", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + }), + CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] { + new() { + Hint = "Items", + Text ="Items", + UrlTarget="_blank", + AuthName = listFormName, + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", + IsVisible = true, + }, + }), + }, autoSave: true + ); + + #region Movement Entry Fields + await _listFormFieldRepository.InsertManyAsync([ + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "Id", + Width = 100, + ListOrderNo = 1, + Visible = false, + IsActive = true, + IsDeleted = false, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "MovementNumber", + Width = 150, + ListOrderNo = 2, + Visible = true, + IsActive = true, + IsDeleted = false, + SortIndex = 1, + SortDirection = GridColumnOptions.SortOrderDesc, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "MovementType", + Width = 100, + ListOrderNo = 3, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.MovementType), "Name", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Date, + FieldName = "MovementDate", + Width = 100, + ListOrderNo = 4, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "ReferenceTypeId", + Width = 200, + ListOrderNo = 5, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.ReferenceType), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "ReferenceDocument", + Width = 150, + ListOrderNo = 6, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Description", + Width = 400, + ListOrderNo = 7, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + ], autoSave: true); + #endregion + } + #endregion + + #region Movement Entry Items + listFormName = AppCodes.Store.EntryItem; + if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) + { + var listForm = await _listFormRepository.InsertAsync( + new ListForm() + { + ListFormType = ListFormTypeEnum.List, + ExportJson = DefaultExportJson, + IsSubForm = false, + ShowNote = true, + LayoutJson = DefaultLayoutJson(), + CultureName = LanguageCodes.En, + ListFormCode = listFormName, + Name = listFormName, + Title = listFormName, + DataSourceCode = SeedConsts.DataSources.DefaultCode, + IsTenant = true, + IsBranch = false, + IsOrganizationUnit = false, + Description = listFormName, + SelectCommandType = SelectCommandTypeEnum.Table, + SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.MovementItem)), + KeyFieldName = "Id", + KeyFieldDbSourceType = DbType.Guid, + DefaultFilter = DefaultFilterJson, + SortMode = GridOptions.SortModeSingle, + FilterRowJson = DefaultFilterRowJson, + HeaderFilterJson = DefaultHeaderFilterJson, + SearchPanelJson = DefaultSearchPanelJson, + GroupPanelJson = DefaultGroupPanelJson, + SelectionJson = DefaultSelectionSingleJson, + ColumnOptionJson = DefaultColumnOptionJson, + PermissionJson = DefaultPermissionJson(listFormName), + DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.MovementItem)), + DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson, + PagerOptionJson = DefaultPagerOptionJson, + InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson, + EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false), + EditingFormJson = JsonSerializer.Serialize(new List() { + new() { + Order=1, ColCount=1, ColSpan=1, ItemType="group", Items= [ + new EditingFormItemDto { Order = 1, DataField = "WarehouseId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 2, DataField = "ZoneId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 3, DataField = "LocationId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 4, DataField = "MaterialId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 5, DataField = "Quantity", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, + new EditingFormItemDto { Order = 6, DataField = "Uom", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 7, DataField = "LotNumber", ColSpan = 1, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 8, DataField = "SerialNumber", ColSpan = 1, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 9, DataField = "Description", ColSpan = 1, EditorType2=EditorTypes.dxTextArea }, + ]} + }), + FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { FieldName = "Quantity", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "Uom", FieldDbType = DbType.String, Value = "Adet", CustomValueType = FieldCustomValueTypeEnum.Value }, + }), + CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] { + new() { + Hint = "Items", + Text ="Items", + UrlTarget="_blank", + AuthName = listFormName, + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", + IsVisible = true, + }, + }), + }, autoSave: true + ); + + #region Movement Entry Items Fields + await _listFormFieldRepository.InsertManyAsync([ + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "Id", + Width = 100, + ListOrderNo = 1, + Visible = false, + IsActive = true, + IsDeleted = false, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "WarehouseId", + Width = 150, + ListOrderNo = 2, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + LookupJson = JsonSerializer.Serialize(new LookupDto + { + DataSourceType = UiLookupDataSourceTypeEnum.Query, + DisplayExpr = "Name", + ValueExpr = "Key", + LookupQuery = LookupQueryValues.WarehouseValues, + CascadeEmptyFields = "ZoneId,LocationId" + }), + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "ZoneId", + Width = 150, + ListOrderNo = 3, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = JsonSerializer.Serialize(new LookupDto + { + DataSourceType = UiLookupDataSourceTypeEnum.Query, + DisplayExpr = "Name", + ValueExpr = "Key", + LookupQuery = LookupQueryValues.ZoneValues, + CascadeRelationField = "WarehouseId", + CascadeFilterOperator="=", + CascadeParentFields = "WarehouseId", + CascadeEmptyFields = "LocationId" + }), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "LocationId", + Width = 150, + ListOrderNo = 4, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + LookupJson = JsonSerializer.Serialize(new LookupDto + { + DataSourceType = UiLookupDataSourceTypeEnum.Query, + DisplayExpr = "Name", + ValueExpr = "Key", + LookupQuery = LookupQueryValues.LocationValues, + CascadeRelationField = "WarehouseId,ZoneId", + CascadeFilterOperator="=", + CascadeParentFields = "WarehouseId,ZoneId", + }), + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "MaterialId", + Width = 200, + ListOrderNo = 5, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Material), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Decimal, + FieldName = "Quantity", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 6, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Uom", + Width = 100, + ListOrderNo = 7, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Uom), "Name", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "LotNumber", + Width = 150, + ListOrderNo = 8, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "SerialNumber", + Width = 150, + ListOrderNo = 9, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Description", + Width = 400, + ListOrderNo = 10, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + ], autoSave: true); + #endregion + } + #endregion + + // Putaway ve Putaway Condition Sub Forms ilişkisinin kurulması + await utils.CloneFormLayoutAsync( + AppCodes.Store.Entry, + JsonSerializer.Serialize(new List() { + new { + TabType = ListFormTabTypeEnum.List, + TabTitle = AppCodes.Store.EntryItem, + Code = AppCodes.Store.EntryItem, + Relation = new List() { + new { + ParentFieldName = "Id", + DbType = DbType.Guid, + ChildFieldName = "MovementId" + } + } + } + }) + ); + } } diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json b/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json index be403211..a6fa458d 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json @@ -2699,22 +2699,22 @@ }, { "ParentCode": "App.Store", - "Code": "App.Store.Receipt", - "DisplayName": "App.Store.Receipt", + "Code": "App.Store.Entry", + "DisplayName": "App.Store.Entry", "Order": 10, - "Url": "/admin/warehouse/receipt", + "Url": "/admin/list/App.Store.Entry", "Icon": "FcImport", - "RequiredPermissionName": "App.Store.Receipt", + "RequiredPermissionName": "App.Store.Entry", "IsDisabled": false }, { "ParentCode": "App.Store", - "Code": "App.Store.Issue", - "DisplayName": "App.Store.Issue", + "Code": "App.Store.Exit", + "DisplayName": "App.Store.Exit", "Order": 11, "Url": "/admin/warehouse/issue", "Icon": "FcExport", - "RequiredPermissionName": "App.Store.Issue", + "RequiredPermissionName": "App.Store.Exit", "IsDisabled": false }, { diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json b/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json index 678c1ed4..f61cddaf 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json @@ -8331,17 +8331,17 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt", + "Name": "App.Store.Entry", "ParentName": null, - "DisplayName": "App.Store.Receipt", + "DisplayName": "App.Store.Entry", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt.Create", - "ParentName": "App.Store.Receipt", + "Name": "App.Store.Entry.Create", + "ParentName": "App.Store.Entry", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -8349,8 +8349,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt.Update", - "ParentName": "App.Store.Receipt", + "Name": "App.Store.Entry.Update", + "ParentName": "App.Store.Entry", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -8358,8 +8358,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt.Delete", - "ParentName": "App.Store.Receipt", + "Name": "App.Store.Entry.Delete", + "ParentName": "App.Store.Entry", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -8367,8 +8367,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt.Export", - "ParentName": "App.Store.Receipt", + "Name": "App.Store.Entry.Export", + "ParentName": "App.Store.Entry", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -8376,8 +8376,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt.Import", - "ParentName": "App.Store.Receipt", + "Name": "App.Store.Entry.Import", + "ParentName": "App.Store.Entry", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -8385,8 +8385,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Receipt.Note", - "ParentName": "App.Store.Receipt", + "Name": "App.Store.Entry.Note", + "ParentName": "App.Store.Entry", "DisplayName": "Note", "IsEnabled": true, "MultiTenancySide": 3, @@ -8394,17 +8394,17 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Issue", + "Name": "App.Store.EntryItem", "ParentName": null, - "DisplayName": "App.Store.Issue", + "DisplayName": "App.Store.Entry", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.Store", - "Name": "App.Store.Issue.Create", - "ParentName": "App.Store.Issue", + "Name": "App.Store.EntryItem.Create", + "ParentName": "App.Store.EntryItem", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -8412,8 +8412,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Issue.Update", - "ParentName": "App.Store.Issue", + "Name": "App.Store.EntryItem.Update", + "ParentName": "App.Store.EntryItem", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -8421,8 +8421,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Issue.Delete", - "ParentName": "App.Store.Issue", + "Name": "App.Store.EntryItem.Delete", + "ParentName": "App.Store.EntryItem", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -8430,8 +8430,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Issue.Export", - "ParentName": "App.Store.Issue", + "Name": "App.Store.EntryItem.Export", + "ParentName": "App.Store.EntryItem", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -8439,8 +8439,8 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Issue.Import", - "ParentName": "App.Store.Issue", + "Name": "App.Store.EntryItem.Import", + "ParentName": "App.Store.EntryItem", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -8448,8 +8448,134 @@ }, { "GroupName": "App.Store", - "Name": "App.Store.Issue.Note", - "ParentName": "App.Store.Issue", + "Name": "App.Store.EntryItem.Note", + "ParentName": "App.Store.EntryItem", + "DisplayName": "Note", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit", + "ParentName": null, + "DisplayName": "App.Store.Exit", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit.Create", + "ParentName": "App.Store.Exit", + "DisplayName": "Create", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit.Update", + "ParentName": "App.Store.Exit", + "DisplayName": "Update", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit.Delete", + "ParentName": "App.Store.Exit", + "DisplayName": "Delete", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit.Export", + "ParentName": "App.Store.Exit", + "DisplayName": "Export", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit.Import", + "ParentName": "App.Store.Exit", + "DisplayName": "Import", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.Exit.Note", + "ParentName": "App.Store.Exit", + "DisplayName": "Note", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem", + "ParentName": null, + "DisplayName": "App.Store.ExitItem", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem.Create", + "ParentName": "App.Store.ExitItem", + "DisplayName": "Create", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem.Update", + "ParentName": "App.Store.ExitItem", + "DisplayName": "Update", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem.Delete", + "ParentName": "App.Store.ExitItem", + "DisplayName": "Delete", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem.Export", + "ParentName": "App.Store.ExitItem", + "DisplayName": "Export", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem.Import", + "ParentName": "App.Store.ExitItem", + "DisplayName": "Import", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Store", + "Name": "App.Store.ExitItem.Note", + "ParentName": "App.Store.ExitItem", "DisplayName": "Note", "IsEnabled": true, "MultiTenancySide": 3, diff --git a/api/src/Erp.Platform.Domain/Data/SeedConsts.cs b/api/src/Erp.Platform.Domain/Data/SeedConsts.cs index 9a646567..cc2ecf4b 100644 --- a/api/src/Erp.Platform.Domain/Data/SeedConsts.cs +++ b/api/src/Erp.Platform.Domain/Data/SeedConsts.cs @@ -585,6 +585,12 @@ public static class SeedConsts public const string MovementType = Default + ".MovementType"; public const string Movement = Default + ".Movement"; public const string MovementItem = Default + ".MovementItem"; + public const string Entry = Default + ".Entry"; + public const string EntryItem = Default + ".EntryItem"; + public const string Exit = Default + ".Exit"; + public const string ExitItem = Default + ".ExitItem"; + public const string Transfer = Default + ".Transfer"; + public const string TransferItem = Default + ".TransferItem"; } public static class Project diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Store/Movement.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Store/Movement.cs index 4ca72ebe..00cdf0ed 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Store/Movement.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Store/Movement.cs @@ -11,8 +11,12 @@ public class Movement : FullAuditedEntity, IMultiTenant public string MovementNumber { get; set; } public DateTime MovementDate { get; set; } + public string MovementType { get; set; } // e.g., Inbound, Outbound, Transfer - public string ReferenceType { get; set; } // e.g., Sales Order, Purchase Order + + public Guid? ReferenceTypeId { get; set; } // e.g., Sales Order, Purchase Order + public ReferenceType? ReferenceType { get; set; } + public string ReferenceDocument { get; set; } public string Description { get; set; } diff --git a/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs b/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs index 980bed66..7ee3c066 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs @@ -3819,7 +3819,7 @@ public class PlatformDbContext : b.Property(x => x.MovementNumber).IsRequired().HasMaxLength(50); b.Property(x => x.MovementDate).IsRequired(); b.Property(x => x.MovementType).IsRequired().HasMaxLength(50); - b.Property(x => x.ReferenceType).HasMaxLength(100); + b.Property(x => x.ReferenceTypeId).IsRequired(); b.Property(x => x.ReferenceDocument).HasMaxLength(100); b.Property(x => x.Description).HasMaxLength(1000); }); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251206210148_Initial.Designer.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251207184859_Initial.Designer.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251206210148_Initial.Designer.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251207184859_Initial.Designer.cs index 6b8856b9..26d71398 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251206210148_Initial.Designer.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251207184859_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Erp.Platform.Migrations { [DbContext(typeof(PlatformDbContext))] - [Migration("20251206210148_Initial")] + [Migration("20251207184859_Initial")] partial class Initial { /// @@ -7741,9 +7741,8 @@ namespace Erp.Platform.Migrations .HasMaxLength(100) .HasColumnType("nvarchar(100)"); - b.Property("ReferenceType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); + b.Property("ReferenceTypeId") + .HasColumnType("uniqueidentifier"); b.Property("TenantId") .HasColumnType("uniqueidentifier") @@ -7751,6 +7750,8 @@ namespace Erp.Platform.Migrations b.HasKey("Id"); + b.HasIndex("ReferenceTypeId"); + b.ToTable("Str_T_Movement", (string)null); }); @@ -19237,6 +19238,17 @@ namespace Erp.Platform.Migrations b.Navigation("Branch"); }); + modelBuilder.Entity("Erp.Platform.Entities.Movement", b => + { + b.HasOne("Erp.Platform.Entities.ReferenceType", "ReferenceType") + .WithMany() + .HasForeignKey("ReferenceTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ReferenceType"); + }); + modelBuilder.Entity("Erp.Platform.Entities.MovementItem", b => { b.HasOne("Erp.Platform.Entities.Location", "Location") diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251206210148_Initial.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251207184859_Initial.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251206210148_Initial.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251207184859_Initial.cs index ca2c5848..f722355f 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251206210148_Initial.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251207184859_Initial.cs @@ -3048,31 +3048,6 @@ namespace Erp.Platform.Migrations table.PrimaryKey("PK_Str_T_LocationType", x => x.Id); }); - migrationBuilder.CreateTable( - name: "Str_T_Movement", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - MovementNumber = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - MovementDate = table.Column(type: "datetime2", nullable: false), - MovementType = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - ReferenceType = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ReferenceDocument = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Str_T_Movement", x => x.Id); - }); - migrationBuilder.CreateTable( name: "Str_T_MovementType", columns: table => new @@ -4474,6 +4449,37 @@ namespace Erp.Platform.Migrations onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "Str_T_Movement", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + MovementNumber = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + MovementDate = table.Column(type: "datetime2", nullable: false), + MovementType = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + ReferenceTypeId = table.Column(type: "uniqueidentifier", nullable: false), + ReferenceDocument = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Str_T_Movement", x => x.Id); + table.ForeignKey( + name: "FK_Str_T_Movement_Str_T_ReferenceType_ReferenceTypeId", + column: x => x.ReferenceTypeId, + principalTable: "Str_T_ReferenceType", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "AbpEntityPropertyChanges", columns: table => new @@ -9270,6 +9276,11 @@ namespace Erp.Platform.Migrations table: "Str_T_Location", column: "ZoneId"); + migrationBuilder.CreateIndex( + name: "IX_Str_T_Movement_ReferenceTypeId", + table: "Str_T_Movement", + column: "ReferenceTypeId"); + migrationBuilder.CreateIndex( name: "IX_Str_T_MovementItem_LocationId", table: "Str_T_MovementItem", @@ -9870,9 +9881,6 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Str_T_PutawayCondition"); - migrationBuilder.DropTable( - name: "Str_T_ReferenceType"); - migrationBuilder.DropTable( name: "AbpEntityChanges"); @@ -10083,6 +10091,9 @@ namespace Erp.Platform.Migrations migrationBuilder.DropTable( name: "Str_T_Zone"); + migrationBuilder.DropTable( + name: "Str_T_ReferenceType"); + migrationBuilder.DropTable( name: "Sas_T_Branch"); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs index 8a313149..9a77b0c4 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs @@ -7738,9 +7738,8 @@ namespace Erp.Platform.Migrations .HasMaxLength(100) .HasColumnType("nvarchar(100)"); - b.Property("ReferenceType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); + b.Property("ReferenceTypeId") + .HasColumnType("uniqueidentifier"); b.Property("TenantId") .HasColumnType("uniqueidentifier") @@ -7748,6 +7747,8 @@ namespace Erp.Platform.Migrations b.HasKey("Id"); + b.HasIndex("ReferenceTypeId"); + b.ToTable("Str_T_Movement", (string)null); }); @@ -19234,6 +19235,17 @@ namespace Erp.Platform.Migrations b.Navigation("Branch"); }); + modelBuilder.Entity("Erp.Platform.Entities.Movement", b => + { + b.HasOne("Erp.Platform.Entities.ReferenceType", "ReferenceType") + .WithMany() + .HasForeignKey("ReferenceTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ReferenceType"); + }); + modelBuilder.Entity("Erp.Platform.Entities.MovementItem", b => { b.HasOne("Erp.Platform.Entities.Location", "Location") diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json index ce6a3893..9008b4cf 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json +++ b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json @@ -6623,7 +6623,7 @@ "zoneCode": "Z001", "locationCode": "A01-01-01", "quantity": 100, - "uom": "adet", + "uom": "Adet", "lotNumber": "LOT2024006", "serialNumber": null, "description": "2024 yılı son çeyrek 360° derece performans değerlendirmesi" @@ -6635,7 +6635,7 @@ "zoneCode": "Z002", "locationCode": "A01-01-02", "quantity": 20, - "uom": "adet", + "uom": "Adet", "lotNumber": "LOT2024001", "serialNumber": null, "description": "Satış siparişi için malzeme çıkışı" @@ -6647,7 +6647,7 @@ "zoneCode": "Z003", "locationCode": "B02-02-01", "quantity": 10, - "uom": "metre", + "uom": "m", "lotNumber": "LOT2024002", "serialNumber": null, "description": "Depo transferi" diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs index 18a53b53..3bb8691d 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs @@ -2801,12 +2801,14 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency if (exists) continue; + var referenceType = await _referenceTypeRepository.FirstOrDefaultAsync(x => x.Name == item.ReferenceType); + await _movementRepository.InsertAsync(new Movement { MovementNumber = item.MovementNumber, MovementDate = item.MovementDate, MovementType = item.MovementType, - ReferenceType = item.ReferenceType, + ReferenceTypeId = referenceType?.Id, ReferenceDocument = item.ReferenceDocument, Description = item.Description }, autoSave: true); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDatabaseViewCreator.cs b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDatabaseViewCreator.cs index bf4e295a..d3c417b7 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDatabaseViewCreator.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Tenants/TenantDatabaseViewCreator.cs @@ -197,7 +197,7 @@ public class DatabaseViewSeeder : IDataSeedContributor, ITransientDependency m.MovementNumber, m.MovementDate, m.MovementType, - m.ReferenceType, + m.ReferenceTypeId, m.ReferenceDocument, m.Description AS MainDescription,