Store Stock Entry ve Stock Exit

This commit is contained in:
Sedat Öztürk 2025-12-07 23:54:24 +03:00
parent a3245a6e82
commit 214fd91b66
15 changed files with 682 additions and 123 deletions

View file

@ -265,4 +265,14 @@ public static class LookupQueryValues
$"AND (\"ZoneId\" = @param1 OR @param1 IS NULL) " + $"AND (\"ZoneId\" = @param1 OR @param1 IS NULL) " +
$"AND \"IsDeleted\" = 'false' " + $"AND \"IsDeleted\" = 'false' " +
$"ORDER BY \"Name\";"; $"ORDER BY \"Name\";";
public static string ReferenceTypeValues(string movementTypeName) =>
$"SELECT " +
$"\"Id\" AS \"Key\", " +
$"\"Name\" AS \"Name\" " +
$"FROM \"{FullNameTable(TableNameEnum.ReferenceType)}\" " +
$"WHERE " +
$"(\"MovementTypeName\" = '{movementTypeName}') " +
$"AND \"IsDeleted\" = 'false' " +
$"ORDER BY \"Name\";";
} }

View file

@ -45,6 +45,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
{ {
var utils = new SeederUtils(_listFormRepository, _listFormFieldRepository); var utils = new SeederUtils(_listFormRepository, _listFormFieldRepository);
var listFormName = String.Empty; var listFormName = String.Empty;
var movementType = String.Empty;
#region Warehouse Type #region Warehouse Type
listFormName = AppCodes.Store.WarehouseType; listFormName = AppCodes.Store.WarehouseType;
@ -2246,12 +2247,14 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() { EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() {
new() { new() {
Order=1, ColCount=1, ColSpan=1, ItemType="group", Items= [ Order=1, ColCount=1, ColSpan=1, ItemType="group", Items= [
new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 1, DataField = "MovementTypeName", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
new EditingFormItemDto { Order = 2, DataField = "Description", ColSpan = 1, EditorType2=EditorTypes.dxTextArea }, new EditingFormItemDto { Order = 2, DataField = "Name", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 3, DataField = "IsActive", ColSpan = 1, EditorType2=EditorTypes.dxCheckBox }, new EditingFormItemDto { Order = 3, DataField = "Description", ColSpan = 1, EditorType2=EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 4, DataField = "IsActive", ColSpan = 1, EditorType2=EditorTypes.dxCheckBox },
]} ]}
}), }),
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
new() { FieldName = "MovementTypeName", FieldDbType = DbType.String, Value = "Giriş", CustomValueType = FieldCustomValueTypeEnum.Value },
new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value } new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
}), }),
} }
@ -2274,13 +2277,30 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson PivotSettingsJson = DefaultPivotSettingsJson
}, },
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "MovementTypeName",
Width = 150,
ListOrderNo = 2,
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() { new() {
ListFormCode = listForm.ListFormCode, ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
SourceDbType = DbType.String, SourceDbType = DbType.String,
FieldName = "Name", FieldName = "Name",
Width = 350, Width = 350,
ListOrderNo = 2, ListOrderNo = 3,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2298,7 +2318,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.String, SourceDbType = DbType.String,
FieldName = "Description", FieldName = "Description",
Width = 500, Width = 500,
ListOrderNo = 3, ListOrderNo = 4,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2314,7 +2334,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.Boolean, SourceDbType = DbType.Boolean,
FieldName = "IsActive", FieldName = "IsActive",
Width = 100, Width = 100,
ListOrderNo = 4, ListOrderNo = 5,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2440,13 +2460,29 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
ListFormCode = listForm.ListFormCode, ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid, SourceDbType = DbType.Guid,
FieldName = "ReferenceTypeId", FieldName = "PartnerId",
Width = 100, Width = 200,
ListOrderNo = 5, ListOrderNo = 5,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Partner), "Id", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
},
new() {
ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "ReferenceTypeId",
Width = 150,
ListOrderNo = 6,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.ReferenceType), "Id", "Name"), LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.ReferenceType), "Id", "Name"),
ColumnCustomizationJson = DefaultColumnCustomizationJson, ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
@ -2458,7 +2494,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.String, SourceDbType = DbType.String,
FieldName = "ReferenceDocument", FieldName = "ReferenceDocument",
Width = 150, Width = 150,
ListOrderNo = 6, ListOrderNo = 7,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2473,7 +2509,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.Guid, SourceDbType = DbType.Guid,
FieldName = "WarehouseId", FieldName = "WarehouseId",
Width = 150, Width = 150,
ListOrderNo = 7, ListOrderNo = 8,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2489,7 +2525,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.Guid, SourceDbType = DbType.Guid,
FieldName = "ZoneId", FieldName = "ZoneId",
Width = 200, Width = 200,
ListOrderNo = 8, ListOrderNo = 9,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2505,7 +2541,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.Guid, SourceDbType = DbType.Guid,
FieldName = "LocationId", FieldName = "LocationId",
Width = 200, Width = 200,
ListOrderNo = 9, ListOrderNo = 10,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2521,7 +2557,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.Guid, SourceDbType = DbType.Guid,
FieldName = "MaterialId", FieldName = "MaterialId",
Width = 200, Width = 200,
ListOrderNo = 10, ListOrderNo = 11,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2539,7 +2575,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
Format = "fixedPoint", Format = "fixedPoint",
Alignment = "right", Alignment = "right",
Width = 200, Width = 200,
ListOrderNo = 11, ListOrderNo = 12,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2554,7 +2590,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.String, SourceDbType = DbType.String,
FieldName = "Uom", FieldName = "Uom",
Width = 100, Width = 100,
ListOrderNo = 12, ListOrderNo = 13,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -2570,21 +2606,6 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SourceDbType = DbType.String, SourceDbType = DbType.String,
FieldName = "LotNumber", FieldName = "LotNumber",
Width = 100, Width = 100,
ListOrderNo = 13,
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 = 100,
ListOrderNo = 14, ListOrderNo = 14,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
@ -2629,8 +2650,9 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
} }
#endregion #endregion
#region Movement Entry #region Stock Entry
listFormName = AppCodes.Store.Entry; listFormName = AppCodes.Store.Entry;
movementType = "Giriş";
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
{ {
var listForm = await _listFormRepository.InsertAsync( var listForm = await _listFormRepository.InsertAsync(
@ -2654,7 +2676,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Movement)), SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Movement)),
KeyFieldName = "Id", KeyFieldName = "Id",
KeyFieldDbSourceType = DbType.Guid, KeyFieldDbSourceType = DbType.Guid,
DefaultFilter = "\"IsDeleted\" = 'false' AND \"MovementType\" = 'Giriş'", DefaultFilter = $"\"IsDeleted\" = 'false' AND \"MovementType\" = '{movementType}'",
SortMode = GridOptions.SortModeSingle, SortMode = GridOptions.SortModeSingle,
FilterRowJson = DefaultFilterRowJson, FilterRowJson = DefaultFilterRowJson,
HeaderFilterJson = DefaultHeaderFilterJson, HeaderFilterJson = DefaultHeaderFilterJson,
@ -2667,13 +2689,14 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson, DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson,
PagerOptionJson = DefaultPagerOptionJson, PagerOptionJson = DefaultPagerOptionJson,
InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson, InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson,
EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false), InsertAfterCommand = $"UPDATE {TableNameResolver.GetFullTableName(nameof(TableNameEnum.Movement))} SET \"MovementType\" = '{movementType}' WHERE \"Id\" = @Id;",
EditingOptionJson = DefaultEditingOptionJson(listFormName, 600, 300, true, true, true, true, false),
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() { EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() {
new() { new() {
Order=1, ColCount=2, ColSpan=1, ItemType="group", Items= [ 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 = 1, DataField = "MovementNumber", ColSpan = 1, 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 = 2, DataField = "MovementDate", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxDateBox },
new EditingFormItemDto { Order = 3, DataField = "MovementDate", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxDateBox }, new EditingFormItemDto { Order = 3, DataField = "PartnerId", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
new EditingFormItemDto { Order = 4, DataField = "ReferenceTypeId", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox }, 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 = 5, DataField = "ReferenceDocument", ColSpan = 1, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 6, DataField = "Description", ColSpan = 2, EditorType2=EditorTypes.dxTextArea }, new EditingFormItemDto { Order = 6, DataField = "Description", ColSpan = 2, EditorType2=EditorTypes.dxTextArea },
@ -2681,7 +2704,6 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
}), }),
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
new() { FieldName = "MovementNumber", FieldDbType = DbType.String, Value = "@AUTONUMBER", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, 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 }, new() { FieldName = "MovementDate", FieldDbType = DbType.Date, Value = "@DATE", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
}), }),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] { CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
@ -2735,15 +2757,14 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
new() { new() {
ListFormCode = listForm.ListFormCode, ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
SourceDbType = DbType.String, SourceDbType = DbType.Date,
FieldName = "MovementType", FieldName = "MovementDate",
Width = 100, Width = 100,
ListOrderNo = 3, ListOrderNo = 3,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.MovementType), "Name", "Name"),
ValidationRuleJson = DefaultValidationRuleRequiredJson, ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson, ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
@ -2752,14 +2773,21 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
new() { new() {
ListFormCode = listForm.ListFormCode, ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
SourceDbType = DbType.Date, SourceDbType = DbType.Guid,
FieldName = "MovementDate", FieldName = "PartnerId",
Width = 100, Width = 300,
ListOrderNo = 4, ListOrderNo = 4,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = LookupQueryValues.SupplierValues
}),
ValidationRuleJson = DefaultValidationRuleRequiredJson, ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson, ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
@ -2776,7 +2804,13 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.ReferenceType), "Id", "Name"), LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = LookupQueryValues.ReferenceTypeValues(movementType),
}),
ValidationRuleJson = DefaultValidationRuleRequiredJson, ValidationRuleJson = DefaultValidationRuleRequiredJson,
ColumnCustomizationJson = DefaultColumnCustomizationJson, ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
@ -2817,7 +2851,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
} }
#endregion #endregion
#region Movement Entry Items #region Stock Entry Items
listFormName = AppCodes.Store.EntryItem; listFormName = AppCodes.Store.EntryItem;
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
{ {
@ -2826,7 +2860,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
{ {
ListFormType = ListFormTypeEnum.List, ListFormType = ListFormTypeEnum.List,
ExportJson = DefaultExportJson, ExportJson = DefaultExportJson,
IsSubForm = false, IsSubForm = true,
ShowNote = true, ShowNote = true,
LayoutJson = DefaultLayoutJson(), LayoutJson = DefaultLayoutJson(),
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
@ -2866,8 +2900,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
new EditingFormItemDto { Order = 5, DataField = "Quantity", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, 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 = 6, DataField = "Uom", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
new EditingFormItemDto { Order = 7, DataField = "LotNumber", ColSpan = 1, EditorType2=EditorTypes.dxTextBox }, 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 = 8, DataField = "Description", ColSpan = 1, EditorType2=EditorTypes.dxTextArea },
new EditingFormItemDto { Order = 9, DataField = "Description", ColSpan = 1, EditorType2=EditorTypes.dxTextArea },
]} ]}
}), }),
FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
@ -3045,28 +3078,13 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
PermissionJson = DefaultFieldPermissionJson(listForm.Name), PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson 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() { new() {
ListFormCode = listForm.ListFormCode, ListFormCode = listForm.ListFormCode,
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
SourceDbType = DbType.String, SourceDbType = DbType.String,
FieldName = "Description", FieldName = "Description",
Width = 400, Width = 400,
ListOrderNo = 10, ListOrderNo = 9,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
@ -3080,7 +3098,7 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
} }
#endregion #endregion
// Putaway ve Putaway Condition Sub Forms ilişkisinin kurulması // Movement Entry ve Movement Entry Items Sub Forms ilişkisinin kurulması
await utils.CloneFormLayoutAsync( await utils.CloneFormLayoutAsync(
AppCodes.Store.Entry, AppCodes.Store.Entry,
JsonSerializer.Serialize(new List<dynamic>() { JsonSerializer.Serialize(new List<dynamic>() {
@ -3099,5 +3117,473 @@ public class ListFormSeeder_Warehouse : IDataSeedContributor, ITransientDependen
}) })
); );
#region Stock Exit
listFormName = AppCodes.Store.Exit;
movementType = ıkış";
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\" = '{movementType}'",
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,
InsertAfterCommand = $"UPDATE {TableNameResolver.GetFullTableName(nameof(TableNameEnum.Movement))} SET \"MovementType\" = '{movementType}' WHERE \"Id\" = @Id;",
EditingOptionJson = DefaultEditingOptionJson(listFormName, 600, 300, true, true, true, true, false),
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() {
new() {
Order=1, ColCount=2, ColSpan=1, ItemType="group", Items= [
new EditingFormItemDto { Order = 1, DataField = "MovementNumber", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxTextBox, EditorOptions = EditorOptionValues.Disabled },
new EditingFormItemDto { Order = 2, DataField = "MovementDate", ColSpan = 1, IsRequired = true, EditorType2=EditorTypes.dxDateBox },
new EditingFormItemDto { Order = 3, DataField = "PartnerId", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
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 = "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 Exit 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.Date,
FieldName = "MovementDate",
Width = 100,
ListOrderNo = 3,
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 = "PartnerId",
Width = 300,
ListOrderNo = 4,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = LookupQueryValues.CustomerValues
}),
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 = JsonSerializer.Serialize(new LookupDto
{
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = LookupQueryValues.ReferenceTypeValues(movementType),
}),
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 Stock Exit Items
listFormName = AppCodes.Store.ExitItem;
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
{
var listForm = await _listFormRepository.InsertAsync(
new ListForm()
{
ListFormType = ListFormTypeEnum.List,
ExportJson = DefaultExportJson,
IsSubForm = true,
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, false, false, true, false),
EditingFormJson = JsonSerializer.Serialize(new List<EditingFormDto>() {
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 = "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() {
ButtonPosition = UiCommandButtonPositionTypeEnum.Toolbar,
Hint = "Malzeme Depodan Seç",
Text ="Malzeme Depodan Seç",
AuthName = listFormName,
DialogName = "RolesPermission",
DialogParameters = JsonSerializer.Serialize(new { name = "@Name" }),
IsVisible = true,
},
}),
}, autoSave: true
);
#region Movement Exit 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 = "Description",
Width = 400,
ListOrderNo = 9,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
ColumnCustomizationJson = DefaultColumnCustomizationJson,
PermissionJson = DefaultFieldPermissionJson(listForm.Name),
PivotSettingsJson = DefaultPivotSettingsJson
},
], autoSave: true);
#endregion
}
#endregion
// Movement Entry ve Movement Entry Items Sub Forms ilişkisinin kurulması
await utils.CloneFormLayoutAsync(
AppCodes.Store.Exit,
JsonSerializer.Serialize(new List<dynamic>() {
new {
TabType = ListFormTabTypeEnum.List,
TabTitle = AppCodes.Store.ExitItem,
Code = AppCodes.Store.ExitItem,
Relation = new List<dynamic>() {
new {
ParentFieldName = "Id",
DbType = DbType.Guid,
ChildFieldName = "MovementId"
}
}
}
})
);
} }
} }

View file

@ -2712,7 +2712,7 @@
"Code": "App.Store.Exit", "Code": "App.Store.Exit",
"DisplayName": "App.Store.Exit", "DisplayName": "App.Store.Exit",
"Order": 11, "Order": 11,
"Url": "/admin/warehouse/issue", "Url": "/admin/list/App.Store.Exit",
"Icon": "FcExport", "Icon": "FcExport",
"RequiredPermissionName": "App.Store.Exit", "RequiredPermissionName": "App.Store.Exit",
"IsDisabled": false "IsDisabled": false

View file

@ -14,6 +14,9 @@ public class Movement : FullAuditedEntity<Guid>, IMultiTenant
public string MovementType { get; set; } // e.g., Inbound, Outbound, Transfer public string MovementType { get; set; } // e.g., Inbound, Outbound, Transfer
public Guid? PartnerId { get; set; }
public Partner? Partner { get; set; }
public Guid? ReferenceTypeId { 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 ReferenceType? ReferenceType { get; set; }

View file

@ -27,7 +27,6 @@ public class MovementItem : FullAuditedEntity<Guid>, IMultiTenant
public string Uom { get; set; } public string Uom { get; set; }
public string LotNumber { get; set; } public string LotNumber { get; set; }
public string SerialNumber { get; set; }
public string Description { get; set; } public string Description { get; set; }
} }

View file

@ -9,6 +9,7 @@ public class ReferenceType : FullAuditedEntity<Guid>, IMultiTenant
public Guid? TenantId { get; set; } public Guid? TenantId { get; set; }
public string Name { get; set; } public string Name { get; set; }
public string MovementTypeName { get; set; }
public string Description { get; set; } public string Description { get; set; }
public bool IsActive { get; set; } public bool IsActive { get; set; }
} }

View file

@ -49,6 +49,7 @@ public class Partner : FullAuditedEntity<Guid>, IMultiTenant
public ICollection<PartnerCertificate> Certificates { get; set; } public ICollection<PartnerCertificate> Certificates { get; set; }
public ICollection<PartnerContact> Contacts { get; set; } public ICollection<PartnerContact> Contacts { get; set; }
public ICollection<PurchaseOrder> PurchaseOrders { get; set; } public ICollection<PurchaseOrder> PurchaseOrders { get; set; }
public ICollection<Movement> Movements { get; set; }
//Customer ile ilgil bilgiler //Customer ile ilgil bilgiler
public Guid? CustomerTypeId { get; set; } public Guid? CustomerTypeId { get; set; }

View file

@ -3791,9 +3791,9 @@ public class PlatformDbContext :
b.Property(x => x.IsActive).HasDefaultValue(true); b.Property(x => x.IsActive).HasDefaultValue(true);
}); });
builder.Entity<ReferenceType>(b => builder.Entity<MovementType>(b =>
{ {
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.ReferenceType)), Prefix.DbSchema); b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.MovementType)), Prefix.DbSchema);
b.ConfigureByConvention(); b.ConfigureByConvention();
b.Property(x => x.Name).IsRequired().HasMaxLength(50); b.Property(x => x.Name).IsRequired().HasMaxLength(50);
@ -3801,12 +3801,13 @@ public class PlatformDbContext :
b.Property(x => x.IsActive).HasDefaultValue(true); b.Property(x => x.IsActive).HasDefaultValue(true);
}); });
builder.Entity<MovementType>(b => builder.Entity<ReferenceType>(b =>
{ {
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.MovementType)), Prefix.DbSchema); b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.ReferenceType)), Prefix.DbSchema);
b.ConfigureByConvention(); b.ConfigureByConvention();
b.Property(x => x.Name).IsRequired().HasMaxLength(50); b.Property(x => x.Name).IsRequired().HasMaxLength(50);
b.Property(x => x.MovementTypeName).IsRequired().HasMaxLength(50);
b.Property(x => x.Description).HasMaxLength(500); b.Property(x => x.Description).HasMaxLength(500);
b.Property(x => x.IsActive).HasDefaultValue(true); b.Property(x => x.IsActive).HasDefaultValue(true);
}); });
@ -3818,10 +3819,16 @@ public class PlatformDbContext :
b.Property(x => x.MovementNumber).IsRequired().HasMaxLength(50); b.Property(x => x.MovementNumber).IsRequired().HasMaxLength(50);
b.Property(x => x.MovementDate).IsRequired(); b.Property(x => x.MovementDate).IsRequired();
b.Property(x => x.MovementType).IsRequired().HasMaxLength(50); b.Property(x => x.MovementType).HasMaxLength(50);
b.Property(x => x.ReferenceTypeId).IsRequired(); b.Property(x => x.ReferenceTypeId).IsRequired();
b.Property(x => x.ReferenceDocument).HasMaxLength(100); b.Property(x => x.ReferenceDocument).HasMaxLength(100);
b.Property(x => x.Description).HasMaxLength(1000); b.Property(x => x.Description).HasMaxLength(1000);
b.HasOne(x => x.Partner)
.WithMany(x => x.Movements)
.HasForeignKey(x => x.PartnerId)
.OnDelete(DeleteBehavior.Restrict)
.IsRequired(false);
}); });
builder.Entity<MovementItem>(b => builder.Entity<MovementItem>(b =>
@ -3837,7 +3844,6 @@ public class PlatformDbContext :
b.Property(x => x.Quantity).HasPrecision(18, 2).HasDefaultValue(0); b.Property(x => x.Quantity).HasPrecision(18, 2).HasDefaultValue(0);
b.Property(x => x.Uom).IsRequired().HasMaxLength(64); b.Property(x => x.Uom).IsRequired().HasMaxLength(64);
b.Property(x => x.LotNumber).HasMaxLength(100); b.Property(x => x.LotNumber).HasMaxLength(100);
b.Property(x => x.SerialNumber).HasMaxLength(100);
b.Property(x => x.Description).HasMaxLength(1000); b.Property(x => x.Description).HasMaxLength(1000);
b.HasOne(x => x.Warehouse) b.HasOne(x => x.Warehouse)

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Erp.Platform.Migrations namespace Erp.Platform.Migrations
{ {
[DbContext(typeof(PlatformDbContext))] [DbContext(typeof(PlatformDbContext))]
[Migration("20251207184859_Initial")] [Migration("20251207201503_Initial")]
partial class Initial partial class Initial
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -7733,10 +7733,12 @@ namespace Erp.Platform.Migrations
.HasColumnType("nvarchar(50)"); .HasColumnType("nvarchar(50)");
b.Property<string>("MovementType") b.Property<string>("MovementType")
.IsRequired()
.HasMaxLength(50) .HasMaxLength(50)
.HasColumnType("nvarchar(50)"); .HasColumnType("nvarchar(50)");
b.Property<Guid?>("PartnerId")
.HasColumnType("uniqueidentifier");
b.Property<string>("ReferenceDocument") b.Property<string>("ReferenceDocument")
.HasMaxLength(100) .HasMaxLength(100)
.HasColumnType("nvarchar(100)"); .HasColumnType("nvarchar(100)");
@ -7750,6 +7752,8 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.HasIndex("PartnerId");
b.HasIndex("ReferenceTypeId"); b.HasIndex("ReferenceTypeId");
b.ToTable("Str_T_Movement", (string)null); b.ToTable("Str_T_Movement", (string)null);
@ -7813,10 +7817,6 @@ namespace Erp.Platform.Migrations
.HasColumnType("decimal(18,2)") .HasColumnType("decimal(18,2)")
.HasDefaultValue(0m); .HasDefaultValue(0m);
b.Property<string>("SerialNumber")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("TenantId") b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier") .HasColumnType("uniqueidentifier")
.HasColumnName("TenantId"); .HasColumnName("TenantId");
@ -11497,6 +11497,11 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier") .HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId"); .HasColumnName("LastModifierId");
b.Property<string>("MovementTypeName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("Name") b.Property<string>("Name")
.IsRequired() .IsRequired()
.HasMaxLength(50) .HasMaxLength(50)
@ -19240,12 +19245,19 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Movement", b => modelBuilder.Entity("Erp.Platform.Entities.Movement", b =>
{ {
b.HasOne("Erp.Platform.Entities.Partner", "Partner")
.WithMany("Movements")
.HasForeignKey("PartnerId")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("Erp.Platform.Entities.ReferenceType", "ReferenceType") b.HasOne("Erp.Platform.Entities.ReferenceType", "ReferenceType")
.WithMany() .WithMany()
.HasForeignKey("ReferenceTypeId") .HasForeignKey("ReferenceTypeId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.Navigation("Partner");
b.Navigation("ReferenceType"); b.Navigation("ReferenceType");
}); });
@ -20842,6 +20854,8 @@ namespace Erp.Platform.Migrations
b.Navigation("Contacts"); b.Navigation("Contacts");
b.Navigation("Movements");
b.Navigation("PurchaseOrders"); b.Navigation("PurchaseOrders");
}); });

View file

@ -3107,6 +3107,7 @@ namespace Erp.Platform.Migrations
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false), Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false), Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
MovementTypeName = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true), Description = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true), IsActive = table.Column<bool>(type: "bit", nullable: false, defaultValue: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
@ -4449,37 +4450,6 @@ namespace Erp.Platform.Migrations
onDelete: ReferentialAction.Cascade); onDelete: ReferentialAction.Cascade);
}); });
migrationBuilder.CreateTable(
name: "Str_T_Movement",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MovementNumber = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
MovementDate = table.Column<DateTime>(type: "datetime2", nullable: false),
MovementType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
ReferenceTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ReferenceDocument = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, 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_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( migrationBuilder.CreateTable(
name: "AbpEntityPropertyChanges", name: "AbpEntityPropertyChanges",
columns: table => new columns: table => new
@ -5428,6 +5398,44 @@ namespace Erp.Platform.Migrations
onDelete: ReferentialAction.Restrict); onDelete: ReferentialAction.Restrict);
}); });
migrationBuilder.CreateTable(
name: "Str_T_Movement",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
MovementNumber = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
MovementDate = table.Column<DateTime>(type: "datetime2", nullable: false),
MovementType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
PartnerId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
ReferenceTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
ReferenceDocument = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, 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_Str_T_Movement", x => x.Id);
table.ForeignKey(
name: "FK_Str_T_Movement_Adm_T_Partner_PartnerId",
column: x => x.PartnerId,
principalTable: "Adm_T_Partner",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
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( migrationBuilder.CreateTable(
name: "Crm_T_SalesOrderItem", name: "Crm_T_SalesOrderItem",
columns: table => new columns: table => new
@ -7462,7 +7470,6 @@ namespace Erp.Platform.Migrations
Quantity = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m), Quantity = table.Column<decimal>(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false, defaultValue: 0m),
Uom = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false), Uom = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
LotNumber = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true), LotNumber = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
SerialNumber = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true), Description = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false), CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true), CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
@ -9276,6 +9283,11 @@ namespace Erp.Platform.Migrations
table: "Str_T_Location", table: "Str_T_Location",
column: "ZoneId"); column: "ZoneId");
migrationBuilder.CreateIndex(
name: "IX_Str_T_Movement_PartnerId",
table: "Str_T_Movement",
column: "PartnerId");
migrationBuilder.CreateIndex( migrationBuilder.CreateIndex(
name: "IX_Str_T_Movement_ReferenceTypeId", name: "IX_Str_T_Movement_ReferenceTypeId",
table: "Str_T_Movement", table: "Str_T_Movement",

View file

@ -7730,10 +7730,12 @@ namespace Erp.Platform.Migrations
.HasColumnType("nvarchar(50)"); .HasColumnType("nvarchar(50)");
b.Property<string>("MovementType") b.Property<string>("MovementType")
.IsRequired()
.HasMaxLength(50) .HasMaxLength(50)
.HasColumnType("nvarchar(50)"); .HasColumnType("nvarchar(50)");
b.Property<Guid?>("PartnerId")
.HasColumnType("uniqueidentifier");
b.Property<string>("ReferenceDocument") b.Property<string>("ReferenceDocument")
.HasMaxLength(100) .HasMaxLength(100)
.HasColumnType("nvarchar(100)"); .HasColumnType("nvarchar(100)");
@ -7747,6 +7749,8 @@ namespace Erp.Platform.Migrations
b.HasKey("Id"); b.HasKey("Id");
b.HasIndex("PartnerId");
b.HasIndex("ReferenceTypeId"); b.HasIndex("ReferenceTypeId");
b.ToTable("Str_T_Movement", (string)null); b.ToTable("Str_T_Movement", (string)null);
@ -7810,10 +7814,6 @@ namespace Erp.Platform.Migrations
.HasColumnType("decimal(18,2)") .HasColumnType("decimal(18,2)")
.HasDefaultValue(0m); .HasDefaultValue(0m);
b.Property<string>("SerialNumber")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<Guid?>("TenantId") b.Property<Guid?>("TenantId")
.HasColumnType("uniqueidentifier") .HasColumnType("uniqueidentifier")
.HasColumnName("TenantId"); .HasColumnName("TenantId");
@ -11494,6 +11494,11 @@ namespace Erp.Platform.Migrations
.HasColumnType("uniqueidentifier") .HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId"); .HasColumnName("LastModifierId");
b.Property<string>("MovementTypeName")
.IsRequired()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("Name") b.Property<string>("Name")
.IsRequired() .IsRequired()
.HasMaxLength(50) .HasMaxLength(50)
@ -19237,12 +19242,19 @@ namespace Erp.Platform.Migrations
modelBuilder.Entity("Erp.Platform.Entities.Movement", b => modelBuilder.Entity("Erp.Platform.Entities.Movement", b =>
{ {
b.HasOne("Erp.Platform.Entities.Partner", "Partner")
.WithMany("Movements")
.HasForeignKey("PartnerId")
.OnDelete(DeleteBehavior.Restrict);
b.HasOne("Erp.Platform.Entities.ReferenceType", "ReferenceType") b.HasOne("Erp.Platform.Entities.ReferenceType", "ReferenceType")
.WithMany() .WithMany()
.HasForeignKey("ReferenceTypeId") .HasForeignKey("ReferenceTypeId")
.OnDelete(DeleteBehavior.Cascade) .OnDelete(DeleteBehavior.Cascade)
.IsRequired(); .IsRequired();
b.Navigation("Partner");
b.Navigation("ReferenceType"); b.Navigation("ReferenceType");
}); });
@ -20839,6 +20851,8 @@ namespace Erp.Platform.Migrations
b.Navigation("Contacts"); b.Navigation("Contacts");
b.Navigation("Movements");
b.Navigation("PurchaseOrders"); b.Navigation("PurchaseOrders");
}); });

View file

@ -6555,36 +6555,43 @@
"ReferenceTypes": [ "ReferenceTypes": [
{ {
"name": "Satın Alma Siparişi", "name": "Satın Alma Siparişi",
"movementTypeName": "Giriş",
"description": "Satın alma siparişleri için kullanılan referans türü", "description": "Satın alma siparişleri için kullanılan referans türü",
"isActive": true "isActive": true
}, },
{ {
"name": "Satış Siparişi", "name": "Satış Siparişi",
"movementTypeName": ıkış",
"description": "Satış siparişleri için kullanılan referans türü", "description": "Satış siparişleri için kullanılan referans türü",
"isActive": true "isActive": true
}, },
{ {
"name": "Üretim Emri", "name": "Üretim Emri",
"movementTypeName": ıkış",
"description": "Üretim emirleri için kullanılan referans türü", "description": "Üretim emirleri için kullanılan referans türü",
"isActive": true "isActive": true
}, },
{ {
"name": "Transfer Emri", "name": "Transfer Emri",
"movementTypeName": "Transfer",
"description": "Transfer emirleri için kullanılan referans türü", "description": "Transfer emirleri için kullanılan referans türü",
"isActive": true "isActive": true
}, },
{ {
"name": "İade", "name": "İade",
"movementTypeName": "Giriş",
"description": "İade işlemleri için kullanılan referans türü", "description": "İade işlemleri için kullanılan referans türü",
"isActive": true "isActive": true
}, },
{ {
"name": "Diğer", "name": "Sayım Giriş",
"description": "Diğer işlemler için kullanılan referans türü", "movementTypeName": "Giriş",
"description": "Envanter sayımları için kullanılan referans türü",
"isActive": true "isActive": true
}, },
{ {
"name": "Sayım", "name": "Sayım Çıkış",
"movementTypeName": ıkış",
"description": "Envanter sayımları için kullanılan referans türü", "description": "Envanter sayımları için kullanılan referans türü",
"isActive": true "isActive": true
} }
@ -6593,14 +6600,16 @@
{ {
"movementNumber": "GR-2024-001", "movementNumber": "GR-2024-001",
"movementDate": "2024-01-05T10:30:00", "movementDate": "2024-01-05T10:30:00",
"partnerCode": "SUP001",
"movementType": "Giriş", "movementType": "Giriş",
"referenceType": "Satın Alma Siparişi", "referenceType": "Satın Alma Siparişi",
"referenceDocument": "PO-2024-001", "referenceDocument": "PO-2024-001",
"description": "Satın Alma Siparişi" "description": "Satın Alma Siparişi"
}, },
{ {
"movementNumber": "GI-2024-001", "movementNumber": "ÇI-2024-001",
"movementDate": "2024-01-10T10:30:00", "movementDate": "2024-01-10T10:30:00",
"partnerCode": "CUST-001",
"movementType": ıkış", "movementType": ıkış",
"referenceType": "Satış Siparişi", "referenceType": "Satış Siparişi",
"referenceDocument": "SO-2024-001", "referenceDocument": "SO-2024-001",
@ -6610,6 +6619,7 @@
"movementNumber": "TR-2024-001", "movementNumber": "TR-2024-001",
"movementDate": "2024-01-17T10:30:00", "movementDate": "2024-01-17T10:30:00",
"movementType": "Transfer", "movementType": "Transfer",
"partnerCode": null,
"referenceType": "Transfer Emri", "referenceType": "Transfer Emri",
"referenceDocument": "TR-2024-001", "referenceDocument": "TR-2024-001",
"description": "Depo transferi" "description": "Depo transferi"

View file

@ -2790,6 +2790,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
await _referenceTypeRepository.InsertAsync(new ReferenceType await _referenceTypeRepository.InsertAsync(new ReferenceType
{ {
Name = item.Name, Name = item.Name,
MovementTypeName = item.MovementTypeName,
Description = item.Description, Description = item.Description,
IsActive = item.IsActive IsActive = item.IsActive
}, autoSave: true); }, autoSave: true);
@ -2802,6 +2803,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
continue; continue;
var referenceType = await _referenceTypeRepository.FirstOrDefaultAsync(x => x.Name == item.ReferenceType); var referenceType = await _referenceTypeRepository.FirstOrDefaultAsync(x => x.Name == item.ReferenceType);
var partner = await _partnerRepository.FirstOrDefaultAsync(x => x.Code == item.PartnerCode);
await _movementRepository.InsertAsync(new Movement await _movementRepository.InsertAsync(new Movement
{ {
@ -2809,6 +2811,7 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
MovementDate = item.MovementDate, MovementDate = item.MovementDate,
MovementType = item.MovementType, MovementType = item.MovementType,
ReferenceTypeId = referenceType?.Id, ReferenceTypeId = referenceType?.Id,
PartnerId = partner?.Id,
ReferenceDocument = item.ReferenceDocument, ReferenceDocument = item.ReferenceDocument,
Description = item.Description Description = item.Description
}, autoSave: true); }, autoSave: true);
@ -2837,7 +2840,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency
Quantity = item.Quantity, Quantity = item.Quantity,
Uom = item.Uom, Uom = item.Uom,
LotNumber = item.LotNumber, LotNumber = item.LotNumber,
SerialNumber = item.SerialNumber,
Description = item.Description Description = item.Description
}, autoSave: true); }, autoSave: true);
} }

View file

@ -197,6 +197,7 @@ public class DatabaseViewSeeder : IDataSeedContributor, ITransientDependency
m.MovementNumber, m.MovementNumber,
m.MovementDate, m.MovementDate,
m.MovementType, m.MovementType,
m.PartnerId,
m.ReferenceTypeId, m.ReferenceTypeId,
m.ReferenceDocument, m.ReferenceDocument,
m.Description AS MainDescription, m.Description AS MainDescription,
@ -210,7 +211,6 @@ public class DatabaseViewSeeder : IDataSeedContributor, ITransientDependency
mi.Quantity, mi.Quantity,
mi.Uom, mi.Uom,
mi.LotNumber, mi.LotNumber,
mi.SerialNumber,
mi.Description, mi.Description,
mi.IsDeleted mi.IsDeleted
FROM dbo.Str_T_Movement AS m FROM dbo.Str_T_Movement AS m

View file

@ -154,6 +154,7 @@ public class MovementSeedDto
public string MovementNumber { get; set; } public string MovementNumber { get; set; }
public DateTime MovementDate { get; set; } public DateTime MovementDate { get; set; }
public string MovementType { get; set; } public string MovementType { get; set; }
public string PartnerCode { get; set; }
public string ReferenceType { get; set; } public string ReferenceType { get; set; }
public string ReferenceDocument { get; set; } public string ReferenceDocument { get; set; }
public string Description { get; set; } public string Description { get; set; }
@ -170,7 +171,6 @@ public class MovementItemSeedDto
public decimal Quantity { get; set; } public decimal Quantity { get; set; }
public string Uom { get; set; } public string Uom { get; set; }
public string LotNumber { get; set; } public string LotNumber { get; set; }
public string SerialNumber { get; set; }
public string Description { get; set; } public string Description { get; set; }
} }
@ -178,6 +178,7 @@ public class MovementItemSeedDto
public class ReferenceTypeSeedDto public class ReferenceTypeSeedDto
{ {
public string Name { get; set; } public string Name { get; set; }
public string MovementTypeName { get; set; }
public string Description { get; set; } public string Description { get; set; }
public bool IsActive { get; set; } public bool IsActive { get; set; }
} }