Inventory -> Definitions Menüsü
This commit is contained in:
parent
3af82ecf94
commit
dea283e7cf
78 changed files with 42237 additions and 28 deletions
22
.github/instructions/lowcode.instructions.md
vendored
22
.github/instructions/lowcode.instructions.md
vendored
|
|
@ -1529,7 +1529,7 @@ Adres zincirinin hazır örneği Kiracılar ekranıdır: Ülke › İl › İlç
|
|||
|
||||
| Tip | Biçim | Not |
|
||||
| --- | --- | --- |
|
||||
| `1` StaticData | `[{"key":1,"name":"Taslak"},{"key":2,"name":"Onayda"}]` | Kolon **sayı** tipindeyse `key` sayı, **metin** tipindeyse `key` metin olmalıdır; aksi hâlde seçim eşleşmez. Cascade gerekiyorsa her öğeye `group` eklenir. |
|
||||
| `1` StaticData | `[{"key":"Wares","name":"App.StaticLookup.Wares"},{"key":"Service","name":"App.StaticLookup.Service"}]` | `name` **her zaman dil anahtarıdır** (§4.3.4.1), düz metin yazılmaz. Kolon **sayı** tipindeyse `key` sayı, **metin** tipindeyse `key` metin olmalıdır; aksi hâlde seçim eşleşmez. Cascade gerekiyorsa her öğeye `group` eklenir. |
|
||||
| `2` Query | `SELECT Id AS [Key], Name AS [Name] FROM ... WHERE IsDeleted = 0` | Cascade'de ebeveyn değerleri `@param0…` ile gelir; boş ebeveyn tüm listeyi göstersin diye `(Kolon = @param0 OR @param0 IS NULL)` kalıbı kullanılır. Sorgu ekranın veri kaynağında/tenant bağlamında çalışır, `@USERID` gibi token'lar çözülür. |
|
||||
| `3` WebService | `METHOD;url;bodyJson;keySelector;nameSelector;groupSelector` | Noktalı virgülle **altı parça**. Selector'lar her satır `a` üzerinde çalışan JS ifadeleridir (`a.id`, `a.name`, `null`). Gövdedeki `@param0`, `@param1`… cascade filtre değerleriyle doldurulur. Örnek: `GET;notification-rule/notification-types;{};a.id;a.name;null` |
|
||||
|
||||
|
|
@ -1580,6 +1580,26 @@ Bağımlı liste `grouped` ile değil cascade ile kurulur.
|
|||
> Lookup verisi önbelleklenir; aynı sorgu aynı filtrelerle bir kez yüklenir. Grid, Tree, Card ve
|
||||
> Form aynı veri kaynağını kullanır (`views/form/useLookupDataSource.ts`); cascade kuralı tek yerdedir.
|
||||
|
||||
#### 4.3.4.1 Sabit seçenekler dil anahtarıyla — zorunlu
|
||||
|
||||
RadioGroup, SelectBox, TagBox, Autocomplete gibi `StaticData` lookup'ının seçenek metni (`name`) ekran
|
||||
diline göre çevrilir; bu yüzden düz metin değil `App.StaticLookup.*` dil anahtarıdır ve anahtarın EN + TR
|
||||
satırları `data/App.Languages.LanguageText.json`'a yazılır (örnek: `ListFormSeeder_Administration`
|
||||
iş tipleri, `App.StaticLookup.MailQueueWorker`).
|
||||
|
||||
Wizard ve MCP deploy'u bunu kendisi yapar (`ListFormWizardAppService.LocalizeStaticLookupsAsync`):
|
||||
`name` var olan bir dil anahtarı değilse
|
||||
|
||||
1. aynı TR metnini taşıyan bir `App.StaticLookup.*` anahtarı varsa o kullanılır (yeni satır açılmaz);
|
||||
2. yoksa anahtar `App.StaticLookup.{Key}` olur — `key` kelime/sayı değilse (`0 Rh+`, `Ziyaretçi`)
|
||||
`App.StaticLookup.{Alan}{Sıra}`, sayısal `key`'de `App.StaticLookup.{Alan}{Key}`; ad başka bir metinle
|
||||
alınmışsa `App.StaticLookup.{Alan}.{Key}`;
|
||||
3. TR satırı verilen metin, EN satırı anahtarın kelimeleridir (`BySerialNumber` → `By Serial Number`;
|
||||
kelime olmayan anahtarda TR metni). Yeni anahtar wizard'ın `InsertedRecords.LanguageKeys`'ine girer.
|
||||
|
||||
MCP'de EN metni bilinen seçenekte en doğrusu anahtarı ve EN + TR metnini wizard'ın `Language.Texts`
|
||||
alanında vermektir; o anahtara deploy dokunmaz.
|
||||
|
||||
### 4.3.5 Varsayılan değerler — `*FieldsDefaultValueJson`
|
||||
|
||||
Kullanıcının doldurmayacağı alanlar (audit, tenant, durum, **belge numarası**) script ile değil,
|
||||
|
|
|
|||
|
|
@ -1563,7 +1563,7 @@ liste süzgeci ve çağrı kapısı aynı kuralı kullanır.
|
|||
| `save_sql_object` | View/procedure/function scriptini `sql/object/{Ad}.sql` ve `postgres/object/{Ad}.sql` dosyalarına yazar (`McpSqlObjectWriter`); veritabanında çalıştırılmaz, nesneyi DB Migrate kurar. Gövde diyalektler arasında güvenle çevrilemediği için iki script de istemciden gelir ve aynı nesneyi tanımlamalıdır (`SqlObjectInvalid`); ad scriptten okunur, başlık `CREATE OR ALTER` / `CREATE OR REPLACE`'e çevrilir. Tablo scriptinin üstüne yazmaz. `.Write` + `App.SqlQueryManager` ister. |
|
||||
| `generate_crud_endpoints` | SQL Query Manager CRUD diyaloğuyla aynı endpoint kümesini (`CrudEndpointSeedFileDto.Generate` — diyaloğun servisi de bunu kullanır) yalnızca `crud/{Entity}.json` dosyasına yazar; kayıtları DB Migrate ekler (`CrudEndpointSeedApplier`). `.Write` + `App.SqlQueryManager.CrudEndpoints` ister. |
|
||||
| `list_wizards` / `get_wizard` | Wizard File Manager dosyaları; `get_wizard` seed dosyasını diskteki biçimiyle döndürür. |
|
||||
| `deploy_wizard` | Wizard'ı Wizard ekranıyla aynı yoldan (`IListFormWizardAppService.Create`) deploy eder. Girdi seed dosyası biçimi (`{"Wizard": …, "ListForm": …, "Fields": […]}`) ya da düz cevaplardır; ikisi de `WizardSeedFileDto.FromDeployJson`'dan geçer: Wizard bölümünde yazılan cevap korunur, yazılmayan ekran alanı `ListForm`/`Fields`'tan tamamlanır, iki bölüm de ekrana katman olarak uygulanır (`WizardScreenOverlay`, üç yönlü: bölümdeki değer wizard'ın kendi ürettiğiyle aynıysa cevap kazanır, farklıysa editör ayarıdır ve korunur; kimlik alanları wizard'dan gelir, tanınmayan/hesaplanan anahtar reddedilir). Böylece MCP, ListForm editörünün yapabildiği her ayarı wizard dosyasına yazar ve `replaceFileName` ile güncelleme editör ayarlarını silmez. Yeni kaydın form varsayılanı kolonun tablodaki sabit `DEFAULT`'udur (katalog ya da seed scripti, `SqlSeedColumn.ConstantValue`; IsActive → true, UomId → Adet, para birimi → TRY tablonun `DEFAULT`'larından gelir); alana özel değer öğenin `DefaultValue`'su ile verilir (`lowcode.instructions.md` §4.3.5.1). Girdide sözleşmede olmayan anahtar adıyla reddedilir, sessizce yok sayılmaz. Dosyaya kullanıcının etkin talebi `DevRequest` olarak yazılır (sunucu doldurur). Wizard ekranı gibi yalnızca seed dosyalarını yazar; ekran DB Migrate ile kurulur ve çıkıştaki `isPending` o zamana kadar `true` kalır (model migrate'i beklemez; `verify_wizard` bekleyen dosyada `install` kontrolünde durur). `replaceFileName` doluysa güncellemedir (dosyalar yeniden yazılır, önceki kayıtları migrate kaldırır). İstek demo veri taşıyorsa (prompt'taki satırlar, ekran görüntüsü) wizard `SeedData: true` ile deploy edilir — ekranın `SeedFilePath`'i `data/{ListFormCode}.json` olur ve `SeedSync*` bayrakları açılır — satırlar aynı çağrıda `seedRows` ile bu dosyaya yazılır (alan adları doğrulanır, `Guid` anahtarı sunucu üretir); migrate ekranı kurduktan sonra satırları ekler (`lowcode.instructions.md` §0.10.1). Widget sorgularındaki her dil anahtarı tanımlı olmalı ya da wizard'ın `Language.Texts` alanında EN + TR verilmeli, yoksa deploy adlarıyla reddeder (`ValidateWidgetLanguageKeysAsync`). `uploadUrl`'süz `dxImageUpload` alanı base64 sakladığı için kolonu sınırlı boyluysa (katalogdaki karakter sınırı) deploy reddedilir; tablo kolonuna bağlı `dxImageViewer` alanı da reddedilir — görsel kolonunun editörü her zaman `dxImageUpload`'dır (`ValidateImageColumnLengths`). `MenuOrder` yok sayılır: yeni ekran kardeşlerinin sonuna, güncelleme mevcut yerine yazılır — lookup kaynağı ekran önce deploy edildiği için onu kullanan ekranın üstünde kalır. |
|
||||
| `deploy_wizard` | Wizard'ı Wizard ekranıyla aynı yoldan (`IListFormWizardAppService.Create`) deploy eder. Girdi seed dosyası biçimi (`{"Wizard": …, "ListForm": …, "Fields": […]}`) ya da düz cevaplardır; ikisi de `WizardSeedFileDto.FromDeployJson`'dan geçer: Wizard bölümünde yazılan cevap korunur, yazılmayan ekran alanı `ListForm`/`Fields`'tan tamamlanır, iki bölüm de ekrana katman olarak uygulanır (`WizardScreenOverlay`, üç yönlü: bölümdeki değer wizard'ın kendi ürettiğiyle aynıysa cevap kazanır, farklıysa editör ayarıdır ve korunur; kimlik alanları wizard'dan gelir, tanınmayan/hesaplanan anahtar reddedilir). Böylece MCP, ListForm editörünün yapabildiği her ayarı wizard dosyasına yazar ve `replaceFileName` ile güncelleme editör ayarlarını silmez. Yeni kaydın form varsayılanı kolonun tablodaki sabit `DEFAULT`'udur (katalog ya da seed scripti, `SqlSeedColumn.ConstantValue`; IsActive → true, UomId → Adet, para birimi → TRY tablonun `DEFAULT`'larından gelir); alana özel değer öğenin `DefaultValue`'su ile verilir (`lowcode.instructions.md` §4.3.5.1). Girdide sözleşmede olmayan anahtar adıyla reddedilir, sessizce yok sayılmaz. `StaticData` lookup seçeneklerinin düz metni `App.StaticLookup.*` dil anahtarına çevrilir ve EN + TR satırı yazılır (`LocalizeStaticLookupsAsync`, `lowcode.instructions.md` §4.3.4.1). Dosyaya kullanıcının etkin talebi `DevRequest` olarak yazılır (sunucu doldurur). Wizard ekranı gibi yalnızca seed dosyalarını yazar; ekran DB Migrate ile kurulur ve çıkıştaki `isPending` o zamana kadar `true` kalır (model migrate'i beklemez; `verify_wizard` bekleyen dosyada `install` kontrolünde durur). `replaceFileName` doluysa güncellemedir (dosyalar yeniden yazılır, önceki kayıtları migrate kaldırır). İstek demo veri taşıyorsa (prompt'taki satırlar, ekran görüntüsü) wizard `SeedData: true` ile deploy edilir — ekranın `SeedFilePath`'i `data/{ListFormCode}.json` olur ve `SeedSync*` bayrakları açılır — satırlar aynı çağrıda `seedRows` ile bu dosyaya yazılır (alan adları doğrulanır, `Guid` anahtarı sunucu üretir); migrate ekranı kurduktan sonra satırları ekler (`lowcode.instructions.md` §0.10.1). Widget sorgularındaki her dil anahtarı tanımlı olmalı ya da wizard'ın `Language.Texts` alanında EN + TR verilmeli, yoksa deploy adlarıyla reddeder (`ValidateWidgetLanguageKeysAsync`). `uploadUrl`'süz `dxImageUpload` alanı base64 sakladığı için kolonu sınırlı boyluysa (katalogdaki karakter sınırı) deploy reddedilir; tablo kolonuna bağlı `dxImageViewer` alanı da reddedilir — görsel kolonunun editörü her zaman `dxImageUpload`'dır (`ValidateImageColumnLengths`). `MenuOrder` yok sayılır: yeni ekran kardeşlerinin sonuna, güncelleme mevcut yerine yazılır — lookup kaynağı ekran önce deploy edildiği için onu kullanan ekranın üstünde kalır. |
|
||||
| `delete_wizard` | Wizard Manager'daki silmeyle aynı: `InsertedRecords` + ekranın veri aynası, bağımlı wizard varsa reddedilir. `dropTables: true` ekranın tablosunu (yalnızca tasarımcı/`create_table` ile kurulmuş ve başka yerde kullanılmayan) CRUD endpoint'leri, `sql/object` ve `crud` dosyalarıyla düşürür; model bunu kullanıcı onayı olmadan göndermez (`WizardTableCleaner`, `lowcode.instructions.md` §4.5). |
|
||||
| `verify_wizard` | Deploy edilmiş ekranı veri yazmadan doğrular: menü kaydı ve URL'si, menünün istediği yetki tanımı (`AbpPermissions`), List yolunda ekran sorgusu (`GetSelectAsync`, tek satır, çağıranın yetkisiyle), Custom yolunda bileşen (etkin, rota = menü URL'si) ve seed kapanışı (`ExportAnalysis` uyarıları; engellemez). İsteğe bağlıdır, migrate sonrasında kullanılır; `App.DevRequests` döngüsünün adımı değildir — döngü `Testing`'de biter, kullanıcı elle test edip `Staging`'e alır (`lowcode.instructions.md` §0.11). |
|
||||
| `start_dev_request` | Geliştirme talebini Id ya da tam başlıkla üstlenir: yalnızca `Ready to Start` durumundakini `In Progress` durumuna alır, diğerlerini reddeder; talebin metnini döndürür. Açıklamaya yapıştırılmış base64 görseller (`data:image/png|jpeg|gif|webp`) metinden ayıklanır (`McpDevRequestImages`), yerlerinde `[image-N]` kalır ve her biri ayrı MCP resim içeriği (`ImageContentBlock`) olarak döner — model görseli resim olarak görür, görsel hiçbir yere yüklenmez. Sonuç istemcinin 1 MB sınırına sığdırılır: büyük görseller küçültülüp JPEG'e çevrilir (`IMcpImageShrinker`), sığmayan gönderilmez ve metinde bildirilir. `.Write` + `App.DevRequests.Update` ister. |
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ public sealed class McpDevelopTools(IMcpDevelopAppService developAppService, IMc
|
|||
=> await developAppService.GetWizardAsync(fileName);
|
||||
|
||||
[McpServerTool(Name = McpToolNames.DeployWizard, Destructive = true, Idempotent = false)]
|
||||
[Description("Wizard'i deploy eder: ListForm ekrani (ComponentKind 0) ya da bir custom component'i menuye baglayan kayit (ComponentKind 1), yetkileri, dil anahtarlari ve menusu seed dosyalarina yazilir. Deploy veritabanina yazmaz: ekran, menu ve yetkiler kullanici Wizard Manager'da DB Migrate calistirinca olusur; cikistaki isPending true iken ekran henuz yoktur; migrate'i bekleme, isini bitir ve kullaniciya yalnizca DB Migrate calistirmasini soyle. Eksik modul, ust menu, izin grubu, yetki ve dil satirlari da deploy'da dosyalara yazilir ve migrate onlari dogru sirayla ekler; bunlarin veritabaninda olmamasi beklenen durumdur, uyari olarak raporlama ve kullanicidan elle eklemesini isteme. Ust menu zinciri istenen derinlikte kurulur: MenuParentCode ekranin dogrudan ust menusu, Menu.MenuParentPath onun ustundeki seviyeler (kokten asagi, her biri {Code, Icon, En, Tr}); eksik her seviye bir ustunun altina kurulur, var olana baglanilir. Liste ekraninda Grid, Card, Pivot ve Chart gorunumleri varsayilan aciktir (DefaultLayout grid); kullanici bir gorunumu istemedigini soylemedikce bu bayraklari false yazma. Hedef tablo onceden var olmalidir; yoksa once create_table ile olustur. Istek ornek/demo veri tasiyorsa (prompt'taki tablo/liste ya da ekran goruntusunde gorunen satirlar) SeedData true yaz ve satirlarin hepsini ayni cagrida seedRows ile gonder: satirlar ekranin data/{ListFormCode}.json dosyasina yazilir, migrate ekrani kurduktan sonra ekler. Satirlar icin migrate'i bekleyip insert_row kullanma. replaceFileName verilirse o wizard'in dosyalari yeniden yazilir, onceki kayitlarin yerini migrate'te yenileri alir. Wizard cevaplarinin uretmedigi ekran ayarlari (FormFieldsDefaultValueDto/InsertFieldsDefaultValueDto gibi varsayilan degerler, ValidationRuleDto, Format, Alignment, Width, Visible, BandName, ozet/gruplama, ExtraFilter, Insert/Update/Delete komutlari, PageSize, CommandColumnDto …) ayni JSON'un ListForm ve Fields bolumlerine get_wizard ciktisindaki adlarla yazilir. Yeni kaydin form degeri (Aktif = true, Birim = Adet, Kur = TRY, Sure = 60) ayri yazilmaz: deploy kolonun tablodaki sabit DEFAULT degerini okur; tablodan farkli deger gerekiyorsa alan ogesinde DefaultValue yaz (Groups[].Items[].DefaultValue). Wizard girdisinde taninmayan anahtar adiyla reddedilir, baska adla tekrar deneme; bolumler kismi olabilir (yalnizca degisen anahtarlar), Fields ogeleri FieldName ile eslesir, *Json adlari (FormFieldsDefaultValueJson) *Dto karsiligina cevrilir. Guncellemede get_wizard ciktisini butunuyle degistirip gonder: tasarimci ayarlari korunur; Wizard bolumunde yazdigin cevap ayni ayarin ListForm'daki eski degerine ustun gelir. Kimlik alanlari (ListFormCode, Name, Title, Description, PermissionDto, FieldName) wizard'dan gelir. Fields'taki her alan Wizard Groups'ta da bulunmalidir; tanınmayan ya da hesaplanan bir anahtar reddedilir. Liste ekraninda DescTr ve DescEn ayrintili olmali (en az 3 satir, 150 karakter): ekran basligindaki bilgi simgesinde gosterilir; ne ise yaradigi, menude nerede ya da hangi ekranin sekmesi oldugu, ana alanlar, otomatik hesaplar ve iliskili ekranlar yazilir (get_dev_guide 4.4.2); kisa aciklama reddedilir. Deploy modulun dokumanini (docs/modules) acar ya da envanterini yeniler; elle yazilan bolumleri save_module_doc ile doldur. Ne yazacagini get_dev_guide 4. bolumunden ogren.")]
|
||||
[Description("Wizard'i deploy eder: ListForm ekrani (ComponentKind 0) ya da bir custom component'i menuye baglayan kayit (ComponentKind 1), yetkileri, dil anahtarlari ve menusu seed dosyalarina yazilir. Deploy veritabanina yazmaz: ekran, menu ve yetkiler kullanici Wizard Manager'da DB Migrate calistirinca olusur; cikistaki isPending true iken ekran henuz yoktur; migrate'i bekleme, isini bitir ve kullaniciya yalnizca DB Migrate calistirmasini soyle. Eksik modul, ust menu, izin grubu, yetki ve dil satirlari da deploy'da dosyalara yazilir ve migrate onlari dogru sirayla ekler; bunlarin veritabaninda olmamasi beklenen durumdur, uyari olarak raporlama ve kullanicidan elle eklemesini isteme. Ust menu zinciri istenen derinlikte kurulur: MenuParentCode ekranin dogrudan ust menusu, Menu.MenuParentPath onun ustundeki seviyeler (kokten asagi, her biri {Code, Icon, En, Tr}); eksik her seviye bir ustunun altina kurulur, var olana baglanilir. Liste ekraninda Grid, Card, Pivot ve Chart gorunumleri varsayilan aciktir (DefaultLayout grid); kullanici bir gorunumu istemedigini soylemedikce bu bayraklari false yazma. Hedef tablo onceden var olmalidir; yoksa once create_table ile olustur. Istek ornek/demo veri tasiyorsa (prompt'taki tablo/liste ya da ekran goruntusunde gorunen satirlar) SeedData true yaz ve satirlarin hepsini ayni cagrida seedRows ile gonder: satirlar ekranin data/{ListFormCode}.json dosyasina yazilir, migrate ekrani kurduktan sonra ekler. Satirlar icin migrate'i bekleyip insert_row kullanma. replaceFileName verilirse o wizard'in dosyalari yeniden yazilir, onceki kayitlarin yerini migrate'te yenileri alir. Wizard cevaplarinin uretmedigi ekran ayarlari (FormFieldsDefaultValueDto/InsertFieldsDefaultValueDto gibi varsayilan degerler, ValidationRuleDto, Format, Alignment, Width, Visible, BandName, ozet/gruplama, ExtraFilter, Insert/Update/Delete komutlari, PageSize, CommandColumnDto …) ayni JSON'un ListForm ve Fields bolumlerine get_wizard ciktisindaki adlarla yazilir. Yeni kaydin form degeri (Aktif = true, Birim = Adet, Kur = TRY, Sure = 60) ayri yazilmaz: deploy kolonun tablodaki sabit DEFAULT degerini okur; tablodan farkli deger gerekiyorsa alan ogesinde DefaultValue yaz (Groups[].Items[].DefaultValue). StaticData lookup seceneklerinde (RadioGroup, SelectBox, TagBox) name dil anahtaridir (App.StaticLookup.{Key}); EN + TR metni bilinen secenegi Language.Texts'te ver, duz metin yazilirsa deploy onu anahtara cevirip TR'yi metinden yazar (get_dev_guide 4.3.4.1). Wizard girdisinde taninmayan anahtar adiyla reddedilir, baska adla tekrar deneme; bolumler kismi olabilir (yalnizca degisen anahtarlar), Fields ogeleri FieldName ile eslesir, *Json adlari (FormFieldsDefaultValueJson) *Dto karsiligina cevrilir. Guncellemede get_wizard ciktisini butunuyle degistirip gonder: tasarimci ayarlari korunur; Wizard bolumunde yazdigin cevap ayni ayarin ListForm'daki eski degerine ustun gelir. Kimlik alanlari (ListFormCode, Name, Title, Description, PermissionDto, FieldName) wizard'dan gelir. Fields'taki her alan Wizard Groups'ta da bulunmalidir; tanınmayan ya da hesaplanan bir anahtar reddedilir. Liste ekraninda DescTr ve DescEn ayrintili olmali (en az 3 satir, 150 karakter): ekran basligindaki bilgi simgesinde gosterilir; ne ise yaradigi, menude nerede ya da hangi ekranin sekmesi oldugu, ana alanlar, otomatik hesaplar ve iliskili ekranlar yazilir (get_dev_guide 4.4.2); kisa aciklama reddedilir. Deploy modulun dokumanini (docs/modules) acar ya da envanterini yeniler; elle yazilan bolumleri save_module_doc ile doldur. Ne yazacagini get_dev_guide 4. bolumunden ogren.")]
|
||||
public async Task<WizardFileInfoDto?> DeployWizardAsync(
|
||||
[Description("Wizard JSON'u: seed dosyasi bicimi ({\"Wizard\": {...}, \"ListForm\": {...}, \"Fields\": [...]}, get_wizard cikisi gibi) ya da duz wizard cevaplari. ListForm/Fields istege baglidir ve kismi olabilir. Enum alanlari sayi olarak yazilir.")]
|
||||
string wizard,
|
||||
|
|
|
|||
|
|
@ -346,6 +346,7 @@ public class ListFormWizardAppService(
|
|||
(listFormDto, fieldDtos) = await ApplyScreenOverlayAsync(input, listFormDto, fieldDtos, isDeleted, isCreated, rows);
|
||||
|
||||
ValidateImageColumnLengths(input, tableColumns);
|
||||
await LocalizeStaticLookupsAsync(input, fieldDtos, rows, owned, inserted);
|
||||
|
||||
foreach (var item in input.Groups.SelectMany(g => g.Items))
|
||||
await WriteLanguageRowsAsync(rows, item.CaptionName, item.EnglishCaption, item.TurkishCaption, owned, inserted);
|
||||
|
|
@ -366,6 +367,118 @@ public class ListFormWizardAppService(
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sabit lookup (RadioGroup, SelectBox, TagBox …) secenek metinleri dil anahtariyla tasinir; ekran
|
||||
/// diline gore cevrilir. Metin olarak yazilmis secenek (<c>{"key":"Wares","name":"Mallar"}</c>)
|
||||
/// <c>App.StaticLookup.{Key}</c> anahtarina cevrilir ve EN + TR satirlari dil dosyasina yazilir:
|
||||
/// TR verilen metindir, EN anahtarin kelimeleridir (sayisal anahtarda TR metni). Ayni TR metnini
|
||||
/// tasiyan bir StaticLookup anahtari varsa o kullanilir; ayni ad baska metinle varsa anahtar alanla
|
||||
/// ayrilir. Dil anahtari olan ya da <c>LanguageTexts</c>'te tanimlanan secenege dokunulmaz.
|
||||
/// </summary>
|
||||
private async Task LocalizeStaticLookupsAsync(
|
||||
ListFormWizardDto input,
|
||||
List<ColumnFormatEditDto> fields,
|
||||
WizardSeedRowStore rows,
|
||||
WizardInsertedRecordsDto owned,
|
||||
WizardInsertedRecordsDto inserted)
|
||||
{
|
||||
var res = PlatformConsts.AppName;
|
||||
var prefix = WizardConsts.StaticLookupKeyPrefix;
|
||||
var declared = (input.LanguageTexts ?? [])
|
||||
.Select(t => t.Key?.Trim())
|
||||
.OfType<string>()
|
||||
.ToHashSet(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
async Task<bool> IsLanguageKeyAsync(string text) =>
|
||||
declared.Contains(text) ||
|
||||
rows.Contains(WizardSeedRowStore.LanguageTextFile, nameof(LanguageText.Key), text) ||
|
||||
await repoLangKey.AnyAsync(a => a.ResourceName == res && a.Key == text);
|
||||
|
||||
foreach (var field in fields)
|
||||
{
|
||||
var lookup = field.LookupDto;
|
||||
if (lookup.DataSourceType != UiLookupDataSourceTypeEnum.StaticData || string.IsNullOrWhiteSpace(lookup.LookupQuery))
|
||||
continue;
|
||||
|
||||
JsonArray? options;
|
||||
try
|
||||
{
|
||||
options = JsonNode.Parse(lookup.LookupQuery) as JsonArray;
|
||||
}
|
||||
catch (JsonException)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var changed = false;
|
||||
var position = 0;
|
||||
foreach (var option in (options ?? []).OfType<JsonObject>())
|
||||
{
|
||||
position++;
|
||||
var nameKey = option.FirstOrDefault(x => string.Equals(x.Key, "name", StringComparison.OrdinalIgnoreCase)).Key;
|
||||
var keyKey = option.FirstOrDefault(x => string.Equals(x.Key, "key", StringComparison.OrdinalIgnoreCase)).Key;
|
||||
var text = nameKey == null ? null : option[nameKey]?.ToString().Trim();
|
||||
if (string.IsNullOrWhiteSpace(text) || await IsLanguageKeyAsync(text))
|
||||
continue;
|
||||
|
||||
var value = keyKey == null ? string.Empty : option[keyKey]?.ToString().Trim() ?? string.Empty;
|
||||
var isWord = StaticLookupWordRegex.IsMatch(value);
|
||||
// Anahtar dil anahtarinda gecebilecek bir kelime/sayi degilse ("0 Rh+", "Ziyaretçi") sira kullanilir.
|
||||
var suffix = StaticLookupSuffixRegex.IsMatch(value) ? value : position.ToString(System.Globalization.CultureInfo.InvariantCulture);
|
||||
var langKey = await FindStaticLookupKeyAsync(rows, prefix, text)
|
||||
?? await NewStaticLookupKeyAsync(rows, prefix, field.FieldName, suffix, isWord, text);
|
||||
|
||||
await WriteLanguageRowsAsync(rows, langKey, isWord ? SplitWords(value) : text, text, owned, inserted);
|
||||
option[nameKey!] = langKey;
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
{
|
||||
lookup.LookupQuery = options!.ToJsonString();
|
||||
field.LookupDto = lookup;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>TR metni ayni olan mevcut StaticLookup anahtari (veritabani ya da bekleyen dil satirlari).</summary>
|
||||
private async Task<string?> FindStaticLookupKeyAsync(WizardSeedRowStore rows, string prefix, string text)
|
||||
{
|
||||
var res = PlatformConsts.AppName;
|
||||
var keyPrefix = prefix + ".";
|
||||
var fromDb = (await repoLangText.GetListAsync(a =>
|
||||
a.ResourceName == res && a.CultureName == LanguageCodes.Tr && a.Value == text && a.Key!.StartsWith(keyPrefix)))
|
||||
.Select(a => a.Key)
|
||||
.FirstOrDefault();
|
||||
|
||||
return fromDb ?? rows.Rows(WizardSeedRowStore.LanguageTextFile)
|
||||
.Where(r => string.Equals(WizardSeedRowStore.Text(r, nameof(LanguageText.CultureName)), LanguageCodes.Tr, StringComparison.OrdinalIgnoreCase) &&
|
||||
string.Equals(WizardSeedRowStore.Text(r, nameof(LanguageText.Value)), text, StringComparison.Ordinal))
|
||||
.Select(r => WizardSeedRowStore.Text(r, nameof(LanguageText.Key)))
|
||||
.FirstOrDefault(k => k != null && k.StartsWith(keyPrefix, StringComparison.Ordinal));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Yeni anahtar: kelime anahtarda <c>{onek}.{Key}</c>, sayisal anahtarda <c>{onek}.{Alan}{Key}</c>. Ad baska
|
||||
/// bir metinle aliniysa alan adiyla ayrilir.
|
||||
/// </summary>
|
||||
private async Task<string> NewStaticLookupKeyAsync(WizardSeedRowStore rows, string prefix, string? fieldName, string value, bool isWord, string text)
|
||||
{
|
||||
var candidate = isWord ? $"{prefix}.{value}" : $"{prefix}.{fieldName}{value}";
|
||||
var (_, tr) = await GetLangTextsAsync(rows, candidate);
|
||||
|
||||
return tr == null || string.Equals(tr, text, StringComparison.Ordinal)
|
||||
? candidate
|
||||
: $"{prefix}.{fieldName}.{value}";
|
||||
}
|
||||
|
||||
/// <summary><c>BySerialNumber</c> → <c>By Serial Number</c>; Ingilizce metin anahtarin kendisidir.</summary>
|
||||
private static string SplitWords(string value) =>
|
||||
Regex.Replace(value, "(?<=[a-z0-9])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])", " ");
|
||||
|
||||
private static readonly Regex StaticLookupWordRegex = new(@"^[A-Za-z][A-Za-z0-9]*$", RegexOptions.Compiled);
|
||||
private static readonly Regex StaticLookupSuffixRegex = new(@"^[A-Za-z0-9]+$", RegexOptions.Compiled);
|
||||
|
||||
/// <summary>
|
||||
/// Deploy girdisindeki ListForm/Fields bolumlerini uretilen ekrana uygular
|
||||
/// (<see cref="WizardScreenOverlay"/>) ve wizard cevaplarini son sozlesmeyle esitler; sonraki
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@ public static class WizardConsts
|
|||
/// <summary>Ekranin varsayilan veri seed dosyasi, seed klasorune gore goreli.</summary>
|
||||
public static string SeedDataFilePath(string listFormCode) => $"{SeedDataFolder}/{listFormCode}.json";
|
||||
|
||||
/// <summary>Sabit lookup (StaticData) seceneklerinin dil anahtari oneki; anahtar <c>{onek}.{Key}</c>.</summary>
|
||||
public static string StaticLookupKeyPrefix => $"{Prefix.App}.StaticLookup";
|
||||
|
||||
public static string MenuUrl(string code) => $"/admin/list/{code}";
|
||||
public static string MenuIcon => "FcList";
|
||||
|
||||
|
|
|
|||
|
|
@ -228,6 +228,10 @@ Bir çelişki varsa sıra: `ai.instructions.md` → `dotnet.instructions.md` →
|
|||
(`*CurrencyId`/`*Currency`) → `'TRY'` (lookup'ın anahtarı neyse); talepte başka sabit varsayılan
|
||||
varsa (Süre = 60) o da kolonun `DEFAULT`'udur. Alana özel değer wizard öğesinin `DefaultValue`'su ile
|
||||
verilir. Ayrıntı: `lowcode.instructions.md` §4.3.5.1.
|
||||
19. **Sabit lookup seçenekleri** → RadioGroup/SelectBox/TagBox/Autocomplete'in `StaticData` seçeneklerinde
|
||||
`name` düz metin değil `App.StaticLookup.*` dil anahtarıdır; EN + TR satırı dil dosyasına yazılır.
|
||||
Deploy düz metni kendisi anahtara çevirir (aynı TR metinli anahtar varsa onu kullanır) —
|
||||
`ListFormWizardAppService.LocalizeStaticLookupsAsync`, `lowcode.instructions.md` §4.3.4.1.
|
||||
|
||||
### Cross-cutting: touching one thing means touching these too
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,11 @@
|
|||
"Name": "App.Prc",
|
||||
"DisplayName": "App.Prc",
|
||||
"Order": 4
|
||||
},
|
||||
{
|
||||
"Name": "App.Inventory",
|
||||
"DisplayName": "App.Inventory",
|
||||
"Order": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
29
configs/seeds/data/App.Inventory.Attribute.json
Normal file
29
configs/seeds/data/App.Inventory.Attribute.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"ListFormCode": "App.Inventory.Attribute",
|
||||
"KeyFieldName": "Id",
|
||||
"GeneratedAt": "2026-10-07T18:50:26.7579148Z",
|
||||
"Order": 0,
|
||||
"Rows": [
|
||||
{
|
||||
"Name": "renk",
|
||||
"DisplayType": "Radio",
|
||||
"VariantCreation": "Always",
|
||||
"IsActive": true,
|
||||
"Id": "03475830-5dac-8eda-492e-3a2429e0b845"
|
||||
},
|
||||
{
|
||||
"Name": "malzeme",
|
||||
"DisplayType": "Radio",
|
||||
"VariantCreation": "Always",
|
||||
"IsActive": true,
|
||||
"Id": "951b3f94-cf17-5881-d58d-3a2429e0b845"
|
||||
},
|
||||
{
|
||||
"Name": "boyut",
|
||||
"DisplayType": "Radio",
|
||||
"VariantCreation": "Always",
|
||||
"IsActive": true,
|
||||
"Id": "50c303c8-5dc8-fb22-6e39-3a2429e0b845"
|
||||
}
|
||||
]
|
||||
}
|
||||
58
configs/seeds/data/App.Inventory.Product.json
Normal file
58
configs/seeds/data/App.Inventory.Product.json
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"ListFormCode": "App.Inventory.Product",
|
||||
"KeyFieldName": "Id",
|
||||
"GeneratedAt": "2026-10-07T19:07:17.0558424Z",
|
||||
"Order": 0,
|
||||
"Rows": [
|
||||
{
|
||||
"Name": "(40X40mm) Mamül Sepeti Üst Geçme Kepi",
|
||||
"IsFavorite": true,
|
||||
"CanBeSold": true,
|
||||
"CanBeExpensed": false,
|
||||
"CanBePurchased": false,
|
||||
"ProductType": "Wares",
|
||||
"TrackInventory": true,
|
||||
"TrackingMethod": "Quantity",
|
||||
"UomId": "Adet",
|
||||
"PurchaseUomId": "Adet",
|
||||
"SalesPrice": 1,
|
||||
"Cost": 0,
|
||||
"IsActive": true,
|
||||
"Id": "c2afde78-e0ff-31e7-12ec-3a2429f022bf"
|
||||
},
|
||||
{
|
||||
"Name": "(K.M.G) AUTONİCS PR12-4DN Sensör",
|
||||
"InternalReference": "060104763",
|
||||
"IsFavorite": false,
|
||||
"CanBeSold": false,
|
||||
"CanBeExpensed": false,
|
||||
"CanBePurchased": true,
|
||||
"ProductType": "Wares",
|
||||
"TrackInventory": true,
|
||||
"TrackingMethod": "Quantity",
|
||||
"UomId": "Adet",
|
||||
"PurchaseUomId": "Adet",
|
||||
"SalesPrice": 1,
|
||||
"Cost": 0,
|
||||
"IsActive": true,
|
||||
"Id": "9df0e297-3601-2d31-1b1e-3a2429f022bf"
|
||||
},
|
||||
{
|
||||
"Name": "(K.M.G) 2A Cam Sigorta (5*20)",
|
||||
"InternalReference": "060104796",
|
||||
"IsFavorite": false,
|
||||
"CanBeSold": false,
|
||||
"CanBeExpensed": false,
|
||||
"CanBePurchased": true,
|
||||
"ProductType": "Wares",
|
||||
"TrackInventory": true,
|
||||
"TrackingMethod": "Serial",
|
||||
"UomId": "Adet",
|
||||
"PurchaseUomId": "Adet",
|
||||
"SalesPrice": 1,
|
||||
"Cost": 0,
|
||||
"IsActive": true,
|
||||
"Id": "4de8b328-a0bf-3b36-96d9-3a2429f022bf"
|
||||
}
|
||||
]
|
||||
}
|
||||
23
configs/seeds/data/App.Inventory.ProductCategory.json
Normal file
23
configs/seeds/data/App.Inventory.ProductCategory.json
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"ListFormCode": "App.Inventory.ProductCategory",
|
||||
"KeyFieldName": "Id",
|
||||
"GeneratedAt": "2026-10-07T18:49:31.9220403Z",
|
||||
"Order": 0,
|
||||
"Rows": [
|
||||
{
|
||||
"Name": "Elektrik ve Elektronik Malzemeler",
|
||||
"IsActive": true,
|
||||
"Id": "cbb5c03f-e9f0-f916-7574-3a2429dfe211"
|
||||
},
|
||||
{
|
||||
"Name": "Mamuller",
|
||||
"IsActive": true,
|
||||
"Id": "ac5ef4ce-aa21-0bcd-db9d-3a2429dfe211"
|
||||
},
|
||||
{
|
||||
"Name": "Hammaddeler",
|
||||
"IsActive": true,
|
||||
"Id": "eb9eed73-a7e1-5b5b-c31b-3a2429dfe211"
|
||||
}
|
||||
]
|
||||
}
|
||||
15
configs/seeds/data/App.Inventory.WorkCenter.json
Normal file
15
configs/seeds/data/App.Inventory.WorkCenter.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"ListFormCode": "App.Inventory.WorkCenter",
|
||||
"KeyFieldName": "Id",
|
||||
"GeneratedAt": "2026-10-07T18:52:50.5777632Z",
|
||||
"Order": 0,
|
||||
"Rows": [
|
||||
{
|
||||
"Name": "ram makinası",
|
||||
"Code": "RAM-01",
|
||||
"WeeklyWorkingHours": 40,
|
||||
"IsActive": true,
|
||||
"Id": "f7be4192-3006-1d5a-1744-3a2429e2ea11"
|
||||
}
|
||||
]
|
||||
}
|
||||
26
configs/seeds/data/App.Inventory.WorkCenterTag.json
Normal file
26
configs/seeds/data/App.Inventory.WorkCenterTag.json
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"ListFormCode": "App.Inventory.WorkCenterTag",
|
||||
"KeyFieldName": "Id",
|
||||
"GeneratedAt": "2026-10-07T18:50:53.8612727Z",
|
||||
"Order": 0,
|
||||
"Rows": [
|
||||
{
|
||||
"Name": "Boyahane",
|
||||
"Color": "#3B82F6",
|
||||
"IsActive": true,
|
||||
"Id": "8f8d57ee-0eef-a5c4-21e9-3a2429e12225"
|
||||
},
|
||||
{
|
||||
"Name": "Apre",
|
||||
"Color": "#10B981",
|
||||
"IsActive": true,
|
||||
"Id": "500d2007-779a-c07b-16dc-3a2429e12225"
|
||||
},
|
||||
{
|
||||
"Name": "Montaj",
|
||||
"Color": "#F59E0B",
|
||||
"IsActive": true,
|
||||
"Id": "9dcfbb38-b8ca-5c1e-ef93-3a2429e12225"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -2403,6 +2403,171 @@
|
|||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Prc"
|
||||
},
|
||||
{
|
||||
"Id": "368baecf-9d36-481a-b262-75b76fa047b5",
|
||||
"Code": "App.Inventory",
|
||||
"DisplayName": "App.Inventory",
|
||||
"Order": 6,
|
||||
"Url": null,
|
||||
"Icon": "FcPackage",
|
||||
"ParentCode": null,
|
||||
"RequiredPermissionName": null,
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "2a4977b2-e669-427a-90f6-ec4cf7676a8d",
|
||||
"Code": "App.Inventory.Definitions",
|
||||
"DisplayName": "App.Inventory.Definitions",
|
||||
"Order": 1,
|
||||
"Url": null,
|
||||
"Icon": "FcSettings",
|
||||
"ParentCode": "App.Inventory",
|
||||
"RequiredPermissionName": null,
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "a8b039c3-0d45-47e2-b853-cddfe582ee62",
|
||||
"Code": "App.Inventory.ProductCategory",
|
||||
"DisplayName": "App.Inventory.ProductCategory",
|
||||
"Order": 1,
|
||||
"Url": "/admin/list/App.Inventory.ProductCategory",
|
||||
"Icon": "FcFolder",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.ProductCategory",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "82049459-1bbb-457e-bdbe-b3a3031af284",
|
||||
"Code": "App.Inventory.Attribute",
|
||||
"DisplayName": "App.Inventory.Attribute",
|
||||
"Order": 2,
|
||||
"Url": "/admin/list/App.Inventory.Attribute",
|
||||
"Icon": "FcList",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.Attribute",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "a5f6fb2f-798b-4368-8a4c-29a5ff57d7b5",
|
||||
"Code": "App.Inventory.WorkCenterTag",
|
||||
"DisplayName": "App.Inventory.WorkCenterTag",
|
||||
"Order": 3,
|
||||
"Url": "/admin/list/App.Inventory.WorkCenterTag",
|
||||
"Icon": "FcBookmark",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.WorkCenterTag",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "f7d77dcb-7e31-4417-89f0-ac2cf925f374",
|
||||
"Code": "App.Inventory.WorkCenter",
|
||||
"DisplayName": "App.Inventory.WorkCenter",
|
||||
"Order": 4,
|
||||
"Url": "/admin/list/App.Inventory.WorkCenter",
|
||||
"Icon": "FcFactory",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.WorkCenter",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "037872c0-b06f-42b5-ac71-b9b5c35b2ffb",
|
||||
"Code": "App.Inventory.Operation",
|
||||
"DisplayName": "App.Inventory.Operation",
|
||||
"Order": 5,
|
||||
"Url": "/admin/list/App.Inventory.Operation",
|
||||
"Icon": "FcProcess",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.Operation",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "f44c0adc-c5d7-46b2-b272-4b8fe6695359",
|
||||
"Code": "App.Inventory.ProductVariant",
|
||||
"DisplayName": "App.Inventory.ProductVariant",
|
||||
"Order": 7,
|
||||
"Url": "/admin/list/App.Inventory.ProductVariant",
|
||||
"Icon": "FcGrid",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.ProductVariant",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "098fe488-799c-4d37-81f4-a3b32e4b7871",
|
||||
"Code": "App.Inventory.BomOverview",
|
||||
"DisplayName": "App.Inventory.BomOverview",
|
||||
"Order": 9,
|
||||
"Url": "/admin/list/App.Inventory.BomOverview",
|
||||
"Icon": "FcTreeStructure",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.BomOverview",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "8d122546-5d4b-44ad-9a76-d1a348e59b38",
|
||||
"Code": "App.Inventory.Bom",
|
||||
"DisplayName": "App.Inventory.Bom",
|
||||
"Order": 8,
|
||||
"Url": "/admin/list/App.Inventory.Bom",
|
||||
"Icon": "FcDocument",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.Bom",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
},
|
||||
{
|
||||
"Id": "0d6d7172-6046-4be7-a144-2d57128fc80d",
|
||||
"Code": "App.Inventory.Product",
|
||||
"DisplayName": "App.Inventory.Product",
|
||||
"Order": 6,
|
||||
"Url": "/admin/list/App.Inventory.Product",
|
||||
"Icon": "FcShop",
|
||||
"ParentCode": "App.Inventory.Definitions",
|
||||
"RequiredPermissionName": "App.Inventory.Product",
|
||||
"CssClass": null,
|
||||
"Target": null,
|
||||
"IsDisabled": false,
|
||||
"ElementId": null,
|
||||
"ModuleId": "Inventory"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@
|
|||
{
|
||||
"Id": "Prc",
|
||||
"Name": "Prc"
|
||||
},
|
||||
{
|
||||
"Id": "Inventory",
|
||||
"Name": "Inventory"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
644
configs/seeds/docs/modules/App.Inventory.md
Normal file
644
configs/seeds/docs/modules/App.Inventory.md
Normal file
File diff suppressed because one or more lines are too long
17
configs/seeds/postgres/object/Inv_T_Attribute.sql
Normal file
17
configs/seeds/postgres/object/Inv_T_Attribute.sql
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_Attribute"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"Name" varchar(128) NOT NULL,
|
||||
"DisplayType" varchar(16) NOT NULL DEFAULT 'Radio',
|
||||
"VariantCreation" varchar(16) NOT NULL DEFAULT 'Always',
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_Attribute" PRIMARY KEY ("Id")
|
||||
);
|
||||
20
configs/seeds/postgres/object/Inv_T_AttributeValue.sql
Normal file
20
configs/seeds/postgres/object/Inv_T_AttributeValue.sql
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_AttributeValue"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"AttributeId" uuid NOT NULL,
|
||||
"Name" varchar(128) NOT NULL,
|
||||
"IsCustom" boolean NOT NULL DEFAULT FALSE,
|
||||
"ExtraPrice" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"ColorCode" varchar(16) NULL,
|
||||
"SortOrder" integer NOT NULL DEFAULT 0,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_AttributeValue" PRIMARY KEY ("Id")
|
||||
);
|
||||
24
configs/seeds/postgres/object/Inv_T_Bom.sql
Normal file
24
configs/seeds/postgres/object/Inv_T_Bom.sql
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_Bom"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"ProductId" uuid NOT NULL,
|
||||
"VariantKey" varchar(450) NULL,
|
||||
"Quantity" numeric(18, 4) NOT NULL DEFAULT 1,
|
||||
"UomId" varchar(64) NOT NULL,
|
||||
"Reference" varchar(64) NULL,
|
||||
"ReadyToProduce" varchar(16) NOT NULL DEFAULT 'AllAvailable',
|
||||
"FlexibleConsumption" varchar(16) NOT NULL DEFAULT 'Warning',
|
||||
"ProductionLeadDays" integer NOT NULL DEFAULT 0,
|
||||
"PreparationDays" integer NOT NULL DEFAULT 0,
|
||||
"BatchSize" numeric(18, 4) NULL,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_Bom" PRIMARY KEY ("Id")
|
||||
);
|
||||
20
configs/seeds/postgres/object/Inv_T_BomComponent.sql
Normal file
20
configs/seeds/postgres/object/Inv_T_BomComponent.sql
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_BomComponent"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"BomId" uuid NOT NULL,
|
||||
"ProductId" uuid NOT NULL,
|
||||
"VariantKey" varchar(450) NULL,
|
||||
"Quantity" numeric(18, 4) NOT NULL DEFAULT 1,
|
||||
"UomId" varchar(64) NOT NULL,
|
||||
"BomOperationId" uuid NULL,
|
||||
"SortOrder" integer NOT NULL DEFAULT 0,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_BomComponent" PRIMARY KEY ("Id")
|
||||
);
|
||||
18
configs/seeds/postgres/object/Inv_T_BomOperation.sql
Normal file
18
configs/seeds/postgres/object/Inv_T_BomOperation.sql
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_BomOperation"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"BomId" uuid NOT NULL,
|
||||
"OperationId" uuid NOT NULL,
|
||||
"WorkCenterId" uuid NOT NULL,
|
||||
"DurationMin" numeric(18, 4) NOT NULL DEFAULT 60,
|
||||
"SortOrder" integer NOT NULL DEFAULT 0,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_BomOperation" PRIMARY KEY ("Id")
|
||||
);
|
||||
20
configs/seeds/postgres/object/Inv_T_Operation.sql
Normal file
20
configs/seeds/postgres/object/Inv_T_Operation.sql
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_Operation"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"Name" varchar(128) NOT NULL,
|
||||
"WorkCenterId" uuid NOT NULL,
|
||||
"ApplyOnVariants" varchar(4000) NULL,
|
||||
"CostBasis" varchar(16) NOT NULL DEFAULT 'Actual',
|
||||
"DurationMode" varchar(16) NOT NULL DEFAULT 'Fixed',
|
||||
"DefaultDurationMin" numeric(18, 4) NOT NULL DEFAULT 60,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_Operation" PRIMARY KEY ("Id")
|
||||
);
|
||||
19
configs/seeds/postgres/object/Inv_T_OperationInstruction.sql
Normal file
19
configs/seeds/postgres/object/Inv_T_OperationInstruction.sql
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_OperationInstruction"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"OperationId" uuid NOT NULL,
|
||||
"Title" varchar(256) NOT NULL,
|
||||
"InstructionType" varchar(16) NOT NULL DEFAULT 'Text',
|
||||
"Reference" varchar(1000) NULL,
|
||||
"Note" text NULL,
|
||||
"SortOrder" integer NOT NULL DEFAULT 0,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_OperationInstruction" PRIMARY KEY ("Id")
|
||||
);
|
||||
47
configs/seeds/postgres/object/Inv_T_Product.sql
Normal file
47
configs/seeds/postgres/object/Inv_T_Product.sql
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_Product"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"Name" varchar(256) NOT NULL,
|
||||
"Image" text NULL,
|
||||
"IsFavorite" boolean NOT NULL DEFAULT FALSE,
|
||||
"CanBeSold" boolean NOT NULL DEFAULT TRUE,
|
||||
"CanBeExpensed" boolean NOT NULL DEFAULT FALSE,
|
||||
"CanBePurchased" boolean NOT NULL DEFAULT TRUE,
|
||||
"ProductType" varchar(16) NOT NULL DEFAULT 'Wares',
|
||||
"TrackInventory" boolean NOT NULL DEFAULT FALSE,
|
||||
"TrackingMethod" varchar(16) NULL,
|
||||
"InternalReference" varchar(64) NULL,
|
||||
"Barcode" varchar(64) NULL,
|
||||
"GtipCode" varchar(32) NULL,
|
||||
"CategoryId" uuid NULL,
|
||||
"UomId" varchar(64) NOT NULL,
|
||||
"PurchaseUomId" varchar(64) NULL,
|
||||
"SalesPrice" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"Cost" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"SalesTaxRate" numeric(18, 4) NOT NULL DEFAULT 20,
|
||||
"PurchaseTaxRate" numeric(18, 4) NOT NULL DEFAULT 20,
|
||||
"InternalNotes" text NULL,
|
||||
"ResponsibleUserId" uuid NULL,
|
||||
"Weight" numeric(18, 4) NULL,
|
||||
"Volume" numeric(18, 4) NULL,
|
||||
"OriginCountryId" varchar(64) NULL,
|
||||
"LotValuation" boolean NOT NULL DEFAULT FALSE,
|
||||
"CustomLotSerial" varchar(64) NULL,
|
||||
"ReceiptNote" text NULL,
|
||||
"DeliveryNote" text NULL,
|
||||
"InternalTransferNote" text NULL,
|
||||
"PurchaseControlPolicy" varchar(16) NOT NULL DEFAULT 'Received',
|
||||
"PurchaseDescription" text NULL,
|
||||
"IncomeAccount" varchar(64) NULL,
|
||||
"ExpenseAccount" varchar(64) NULL,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_Product" PRIMARY KEY ("Id")
|
||||
);
|
||||
16
configs/seeds/postgres/object/Inv_T_ProductAttributeLine.sql
Normal file
16
configs/seeds/postgres/object/Inv_T_ProductAttributeLine.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_ProductAttributeLine"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"ProductId" uuid NOT NULL,
|
||||
"AttributeId" uuid NOT NULL,
|
||||
"ValueIds" varchar(4000) NOT NULL,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_ProductAttributeLine" PRIMARY KEY ("Id")
|
||||
);
|
||||
16
configs/seeds/postgres/object/Inv_T_ProductCategory.sql
Normal file
16
configs/seeds/postgres/object/Inv_T_ProductCategory.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_ProductCategory"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"Name" varchar(128) NOT NULL,
|
||||
"ParentId" uuid NULL,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_ProductCategory" PRIMARY KEY ("Id")
|
||||
);
|
||||
21
configs/seeds/postgres/object/Inv_T_ProductSupplier.sql
Normal file
21
configs/seeds/postgres/object/Inv_T_ProductSupplier.sql
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_ProductSupplier"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"ProductId" uuid NOT NULL,
|
||||
"ContactId" uuid NOT NULL,
|
||||
"MinQuantity" numeric(18, 4) NOT NULL DEFAULT 1,
|
||||
"UomId" varchar(64) NULL,
|
||||
"Price" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"CurrencyId" varchar(64) NULL,
|
||||
"LeadTimeDays" integer NOT NULL DEFAULT 0,
|
||||
"VariantKey" varchar(450) NULL,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_ProductSupplier" PRIMARY KEY ("Id")
|
||||
);
|
||||
26
configs/seeds/postgres/object/Inv_T_WorkCenter.sql
Normal file
26
configs/seeds/postgres/object/Inv_T_WorkCenter.sql
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_WorkCenter"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"Name" varchar(128) NOT NULL,
|
||||
"Code" varchar(32) NULL,
|
||||
"Tags" varchar(1000) NULL,
|
||||
"AlternativeWorkCenterIds" varchar(2000) NULL,
|
||||
"WeeklyWorkingHours" numeric(18, 4) NOT NULL DEFAULT 40,
|
||||
"TimeEfficiency" numeric(18, 4) NOT NULL DEFAULT 100,
|
||||
"OeeTarget" numeric(18, 4) NOT NULL DEFAULT 90,
|
||||
"SetupTimeMin" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"CleanupTimeMin" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"CostPerHour" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"EmployeeCostPerHour" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"Description" text NULL,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_WorkCenter" PRIMARY KEY ("Id")
|
||||
);
|
||||
19
configs/seeds/postgres/object/Inv_T_WorkCenterCapacity.sql
Normal file
19
configs/seeds/postgres/object/Inv_T_WorkCenterCapacity.sql
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_WorkCenterCapacity"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"WorkCenterId" uuid NOT NULL,
|
||||
"ProductId" uuid NOT NULL,
|
||||
"UomId" varchar(64) NULL,
|
||||
"Capacity" numeric(18, 4) NOT NULL DEFAULT 1,
|
||||
"SetupTimeMin" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"CleanupTimeMin" numeric(18, 4) NOT NULL DEFAULT 0,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_WorkCenterCapacity" PRIMARY KEY ("Id")
|
||||
);
|
||||
16
configs/seeds/postgres/object/Inv_T_WorkCenterTag.sql
Normal file
16
configs/seeds/postgres/object/Inv_T_WorkCenterTag.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
CREATE TABLE IF NOT EXISTS public."Inv_T_WorkCenterTag"
|
||||
(
|
||||
"Id" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||
"TenantId" uuid NULL,
|
||||
"Name" varchar(64) NOT NULL,
|
||||
"Color" varchar(16) NULL,
|
||||
"IsActive" boolean NOT NULL DEFAULT TRUE,
|
||||
"CreationTime" timestamp NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
||||
"CreatorId" uuid NULL,
|
||||
"LastModificationTime" timestamp NULL,
|
||||
"LastModifierId" uuid NULL,
|
||||
"IsDeleted" boolean NOT NULL DEFAULT FALSE,
|
||||
"DeletionTime" timestamp NULL,
|
||||
"DeleterId" uuid NULL,
|
||||
CONSTRAINT "PK_Inv_T_WorkCenterTag" PRIMARY KEY ("Id")
|
||||
);
|
||||
24
configs/seeds/sql/object/Inv_T_Attribute.sql
Normal file
24
configs/seeds/sql/object/Inv_T_Attribute.sql
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_Attribute]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_Attribute]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[Name] nvarchar(128) NOT NULL,
|
||||
[DisplayType] nvarchar(16) NOT NULL DEFAULT 'Radio',
|
||||
[VariantCreation] nvarchar(16) NOT NULL DEFAULT 'Always',
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_Attribute] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
27
configs/seeds/sql/object/Inv_T_AttributeValue.sql
Normal file
27
configs/seeds/sql/object/Inv_T_AttributeValue.sql
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_AttributeValue]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_AttributeValue]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[AttributeId] uniqueidentifier NOT NULL,
|
||||
[Name] nvarchar(128) NOT NULL,
|
||||
[IsCustom] bit NOT NULL DEFAULT 0,
|
||||
[ExtraPrice] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[ColorCode] nvarchar(16) NULL,
|
||||
[SortOrder] int NOT NULL DEFAULT 0,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_AttributeValue] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
31
configs/seeds/sql/object/Inv_T_Bom.sql
Normal file
31
configs/seeds/sql/object/Inv_T_Bom.sql
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_Bom]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_Bom]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[ProductId] uniqueidentifier NOT NULL,
|
||||
[VariantKey] nvarchar(450) NULL,
|
||||
[Quantity] decimal(18, 4) NOT NULL DEFAULT 1,
|
||||
[UomId] nvarchar(64) NOT NULL,
|
||||
[Reference] nvarchar(64) NULL,
|
||||
[ReadyToProduce] nvarchar(16) NOT NULL DEFAULT 'AllAvailable',
|
||||
[FlexibleConsumption] nvarchar(16) NOT NULL DEFAULT 'Warning',
|
||||
[ProductionLeadDays] int NOT NULL DEFAULT 0,
|
||||
[PreparationDays] int NOT NULL DEFAULT 0,
|
||||
[BatchSize] decimal(18, 4) NULL,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_Bom] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
27
configs/seeds/sql/object/Inv_T_BomComponent.sql
Normal file
27
configs/seeds/sql/object/Inv_T_BomComponent.sql
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_BomComponent]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_BomComponent]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[BomId] uniqueidentifier NOT NULL,
|
||||
[ProductId] uniqueidentifier NOT NULL,
|
||||
[VariantKey] nvarchar(450) NULL,
|
||||
[Quantity] decimal(18, 4) NOT NULL DEFAULT 1,
|
||||
[UomId] nvarchar(64) NOT NULL,
|
||||
[BomOperationId] uniqueidentifier NULL,
|
||||
[SortOrder] int NOT NULL DEFAULT 0,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_BomComponent] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
25
configs/seeds/sql/object/Inv_T_BomOperation.sql
Normal file
25
configs/seeds/sql/object/Inv_T_BomOperation.sql
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_BomOperation]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_BomOperation]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[BomId] uniqueidentifier NOT NULL,
|
||||
[OperationId] uniqueidentifier NOT NULL,
|
||||
[WorkCenterId] uniqueidentifier NOT NULL,
|
||||
[DurationMin] decimal(18, 4) NOT NULL DEFAULT 60,
|
||||
[SortOrder] int NOT NULL DEFAULT 0,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_BomOperation] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
27
configs/seeds/sql/object/Inv_T_Operation.sql
Normal file
27
configs/seeds/sql/object/Inv_T_Operation.sql
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_Operation]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_Operation]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[Name] nvarchar(128) NOT NULL,
|
||||
[WorkCenterId] uniqueidentifier NOT NULL,
|
||||
[ApplyOnVariants] nvarchar(4000) NULL,
|
||||
[CostBasis] nvarchar(16) NOT NULL DEFAULT 'Actual',
|
||||
[DurationMode] nvarchar(16) NOT NULL DEFAULT 'Fixed',
|
||||
[DefaultDurationMin] decimal(18, 4) NOT NULL DEFAULT 60,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_Operation] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
26
configs/seeds/sql/object/Inv_T_OperationInstruction.sql
Normal file
26
configs/seeds/sql/object/Inv_T_OperationInstruction.sql
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_OperationInstruction]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_OperationInstruction]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[OperationId] uniqueidentifier NOT NULL,
|
||||
[Title] nvarchar(256) NOT NULL,
|
||||
[InstructionType] nvarchar(16) NOT NULL DEFAULT 'Text',
|
||||
[Reference] nvarchar(1000) NULL,
|
||||
[Note] nvarchar(MAX) NULL,
|
||||
[SortOrder] int NOT NULL DEFAULT 0,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_OperationInstruction] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
54
configs/seeds/sql/object/Inv_T_Product.sql
Normal file
54
configs/seeds/sql/object/Inv_T_Product.sql
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_Product]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_Product]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[Name] nvarchar(256) NOT NULL,
|
||||
[Image] nvarchar(MAX) NULL,
|
||||
[IsFavorite] bit NOT NULL DEFAULT 0,
|
||||
[CanBeSold] bit NOT NULL DEFAULT 1,
|
||||
[CanBeExpensed] bit NOT NULL DEFAULT 0,
|
||||
[CanBePurchased] bit NOT NULL DEFAULT 1,
|
||||
[ProductType] nvarchar(16) NOT NULL DEFAULT 'Wares',
|
||||
[TrackInventory] bit NOT NULL DEFAULT 0,
|
||||
[TrackingMethod] nvarchar(16) NULL,
|
||||
[InternalReference] nvarchar(64) NULL,
|
||||
[Barcode] nvarchar(64) NULL,
|
||||
[GtipCode] nvarchar(32) NULL,
|
||||
[CategoryId] uniqueidentifier NULL,
|
||||
[UomId] nvarchar(64) NOT NULL,
|
||||
[PurchaseUomId] nvarchar(64) NULL,
|
||||
[SalesPrice] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[Cost] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[SalesTaxRate] decimal(18, 4) NOT NULL DEFAULT 20,
|
||||
[PurchaseTaxRate] decimal(18, 4) NOT NULL DEFAULT 20,
|
||||
[InternalNotes] nvarchar(MAX) NULL,
|
||||
[ResponsibleUserId] uniqueidentifier NULL,
|
||||
[Weight] decimal(18, 4) NULL,
|
||||
[Volume] decimal(18, 4) NULL,
|
||||
[OriginCountryId] nvarchar(64) NULL,
|
||||
[LotValuation] bit NOT NULL DEFAULT 0,
|
||||
[CustomLotSerial] nvarchar(64) NULL,
|
||||
[ReceiptNote] nvarchar(MAX) NULL,
|
||||
[DeliveryNote] nvarchar(MAX) NULL,
|
||||
[InternalTransferNote] nvarchar(MAX) NULL,
|
||||
[PurchaseControlPolicy] nvarchar(16) NOT NULL DEFAULT 'Received',
|
||||
[PurchaseDescription] nvarchar(MAX) NULL,
|
||||
[IncomeAccount] nvarchar(64) NULL,
|
||||
[ExpenseAccount] nvarchar(64) NULL,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_Product] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
23
configs/seeds/sql/object/Inv_T_ProductAttributeLine.sql
Normal file
23
configs/seeds/sql/object/Inv_T_ProductAttributeLine.sql
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_ProductAttributeLine]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_ProductAttributeLine]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[ProductId] uniqueidentifier NOT NULL,
|
||||
[AttributeId] uniqueidentifier NOT NULL,
|
||||
[ValueIds] nvarchar(4000) NOT NULL,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_ProductAttributeLine] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
23
configs/seeds/sql/object/Inv_T_ProductCategory.sql
Normal file
23
configs/seeds/sql/object/Inv_T_ProductCategory.sql
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_ProductCategory]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_ProductCategory]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[Name] nvarchar(128) NOT NULL,
|
||||
[ParentId] uniqueidentifier NULL,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_ProductCategory] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
28
configs/seeds/sql/object/Inv_T_ProductSupplier.sql
Normal file
28
configs/seeds/sql/object/Inv_T_ProductSupplier.sql
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_ProductSupplier]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_ProductSupplier]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[ProductId] uniqueidentifier NOT NULL,
|
||||
[ContactId] uniqueidentifier NOT NULL,
|
||||
[MinQuantity] decimal(18, 4) NOT NULL DEFAULT 1,
|
||||
[UomId] nvarchar(64) NULL,
|
||||
[Price] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[CurrencyId] nvarchar(64) NULL,
|
||||
[LeadTimeDays] int NOT NULL DEFAULT 0,
|
||||
[VariantKey] nvarchar(450) NULL,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_ProductSupplier] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
33
configs/seeds/sql/object/Inv_T_WorkCenter.sql
Normal file
33
configs/seeds/sql/object/Inv_T_WorkCenter.sql
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_WorkCenter]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_WorkCenter]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[Name] nvarchar(128) NOT NULL,
|
||||
[Code] nvarchar(32) NULL,
|
||||
[Tags] nvarchar(1000) NULL,
|
||||
[AlternativeWorkCenterIds] nvarchar(2000) NULL,
|
||||
[WeeklyWorkingHours] decimal(18, 4) NOT NULL DEFAULT 40,
|
||||
[TimeEfficiency] decimal(18, 4) NOT NULL DEFAULT 100,
|
||||
[OeeTarget] decimal(18, 4) NOT NULL DEFAULT 90,
|
||||
[SetupTimeMin] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[CleanupTimeMin] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[CostPerHour] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[EmployeeCostPerHour] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[Description] nvarchar(MAX) NULL,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_WorkCenter] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
26
configs/seeds/sql/object/Inv_T_WorkCenterCapacity.sql
Normal file
26
configs/seeds/sql/object/Inv_T_WorkCenterCapacity.sql
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_WorkCenterCapacity]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_WorkCenterCapacity]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[WorkCenterId] uniqueidentifier NOT NULL,
|
||||
[ProductId] uniqueidentifier NOT NULL,
|
||||
[UomId] nvarchar(64) NULL,
|
||||
[Capacity] decimal(18, 4) NOT NULL DEFAULT 1,
|
||||
[SetupTimeMin] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[CleanupTimeMin] decimal(18, 4) NOT NULL DEFAULT 0,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_WorkCenterCapacity] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
23
configs/seeds/sql/object/Inv_T_WorkCenterTag.sql
Normal file
23
configs/seeds/sql/object/Inv_T_WorkCenterTag.sql
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
IF OBJECT_ID(N'[dbo].[Inv_T_WorkCenterTag]', 'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE [dbo].[Inv_T_WorkCenterTag]
|
||||
(
|
||||
[Id] uniqueidentifier NOT NULL DEFAULT NEWID(),
|
||||
[TenantId] uniqueidentifier NULL,
|
||||
[Name] nvarchar(64) NOT NULL,
|
||||
[Color] nvarchar(16) NULL,
|
||||
[IsActive] bit NOT NULL DEFAULT 1,
|
||||
[CreationTime] datetime2 NOT NULL DEFAULT GETUTCDATE(),
|
||||
[CreatorId] uniqueidentifier NULL,
|
||||
[LastModificationTime] datetime2 NULL,
|
||||
[LastModifierId] uniqueidentifier NULL,
|
||||
[IsDeleted] bit NOT NULL DEFAULT 0,
|
||||
[DeletionTime] datetime2 NULL,
|
||||
[DeleterId] uniqueidentifier NULL,
|
||||
CONSTRAINT [PK_Inv_T_WorkCenterTag] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[Id] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
END
|
||||
GO
|
||||
1408
configs/seeds/wizard/Attribute.json
Normal file
1408
configs/seeds/wizard/Attribute.json
Normal file
File diff suppressed because it is too large
Load diff
1759
configs/seeds/wizard/AttributeValue.json
Normal file
1759
configs/seeds/wizard/AttributeValue.json
Normal file
File diff suppressed because it is too large
Load diff
1732
configs/seeds/wizard/Bom.json
Normal file
1732
configs/seeds/wizard/Bom.json
Normal file
File diff suppressed because it is too large
Load diff
1756
configs/seeds/wizard/BomComponent.json
Normal file
1756
configs/seeds/wizard/BomComponent.json
Normal file
File diff suppressed because it is too large
Load diff
1489
configs/seeds/wizard/BomOperation.json
Normal file
1489
configs/seeds/wizard/BomOperation.json
Normal file
File diff suppressed because it is too large
Load diff
1486
configs/seeds/wizard/BomOther.json
Normal file
1486
configs/seeds/wizard/BomOther.json
Normal file
File diff suppressed because it is too large
Load diff
1968
configs/seeds/wizard/BomOverview.json
Normal file
1968
configs/seeds/wizard/BomOverview.json
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -1344,7 +1344,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Company\",\"name\":\"Şirket\"},{\"key\":\"Individual\",\"name\":\"Bireysel\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Company\",\"name\":\"App.StaticLookup.Company\"},{\"key\":\"Individual\",\"name\":\"App.StaticLookup.Individual\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -3349,7 +3349,9 @@
|
|||
"App.Definitions.Contact.Desc",
|
||||
"App.Listform.ListformField.CompanyType",
|
||||
"App.Listform.ListformField.Latitude",
|
||||
"App.Listform.ListformField.Longitude"
|
||||
"App.Listform.ListformField.Longitude",
|
||||
"App.StaticLookup.Company",
|
||||
"App.StaticLookup.Individual"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -1119,7 +1119,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Never\",\"name\":\"Asla\"},{\"key\":\"AfterThree\",\"name\":\"Düzenleme olmadan 3 doğrulamadan sonra sor\"},{\"key\":\"Always\",\"name\":\"Her Zaman\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Never\",\"name\":\"App.StaticLookup.Never\"},{\"key\":\"AfterThree\",\"name\":\"App.StaticLookup.AfterThree\"},{\"key\":\"Always\",\"name\":\"App.StaticLookup.InvoiceAutoApprove.Always\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [],
|
||||
"ColumnStylingDto": [],
|
||||
|
|
@ -1245,7 +1245,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"None\",\"name\":\"Yok\"},{\"key\":\"Sepa\",\"name\":\"SEPA\"},{\"key\":\"Emv\",\"name\":\"EMV\"}]"
|
||||
"LookupQuery": "[{\"key\":\"None\",\"name\":\"App.StaticLookup.None\"},{\"key\":\"Sepa\",\"name\":\"App.StaticLookup.Sepa\"},{\"key\":\"Emv\",\"name\":\"App.StaticLookup.Emv\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [],
|
||||
"ColumnStylingDto": [],
|
||||
|
|
@ -1301,7 +1301,11 @@
|
|||
"App.Listform.ListformField.ReceivableAccount",
|
||||
"App.Listform.ListformField.PayableAccount",
|
||||
"App.Listform.ListformField.InvoiceAutoApprove",
|
||||
"App.Listform.ListformField.PaymentQrType"
|
||||
"App.Listform.ListformField.PaymentQrType",
|
||||
"App.StaticLookup.AfterThree",
|
||||
"App.StaticLookup.InvoiceAutoApprove.Always",
|
||||
"App.StaticLookup.Sepa",
|
||||
"App.StaticLookup.Emv"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -861,7 +861,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Good\",\"name\":\"İyi\"},{\"key\":\"Watch\",\"name\":\"İzlemede\"},{\"key\":\"Risky\",\"name\":\"Riskli\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Good\",\"name\":\"App.StaticLookup.Good\"},{\"key\":\"Watch\",\"name\":\"App.StaticLookup.Watch\"},{\"key\":\"Risky\",\"name\":\"App.StaticLookup.Risky\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [],
|
||||
"ColumnStylingDto": [],
|
||||
|
|
@ -1167,7 +1167,10 @@
|
|||
"App.Definitions.ContactFinancial.Title",
|
||||
"App.Definitions.ContactFinancial.Desc",
|
||||
"App.Listform.ListformField.FinancialStatus",
|
||||
"App.Listform.ListformField.Reference"
|
||||
"App.Listform.ListformField.Reference",
|
||||
"App.StaticLookup.Good",
|
||||
"App.StaticLookup.Watch",
|
||||
"App.StaticLookup.Risky"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -897,7 +897,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"OnOrder\",\"name\":\"Sipariş Üzerine\"},{\"key\":\"Weekly\",\"name\":\"Haftalık\"},{\"key\":\"Always\",\"name\":\"Her Zaman\"}]"
|
||||
"LookupQuery": "[{\"key\":\"OnOrder\",\"name\":\"App.StaticLookup.OnOrder\"},{\"key\":\"Weekly\",\"name\":\"App.StaticLookup.Weekly\"},{\"key\":\"Always\",\"name\":\"App.StaticLookup.InvoiceAutoApprove.Always\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -1978,7 +1978,9 @@
|
|||
"App.Listform.ListformField.ReminderDaysBefore",
|
||||
"App.Listform.ListformField.SupplierCurrency",
|
||||
"App.Listform.ListformField.PurchaseIncotermId",
|
||||
"App.Listform.ListformField.PurchaseIncotermLocation"
|
||||
"App.Listform.ListformField.PurchaseIncotermLocation",
|
||||
"App.StaticLookup.OnOrder",
|
||||
"App.StaticLookup.Weekly"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -904,7 +904,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"ShiftSupervisor\",\"name\":\"Vardiya Amiri\"},{\"key\":\"SecurityRoom\",\"name\":\"Güvenlik Odası\"},{\"key\":\"ObservationRoom\",\"name\":\"Gözlem Odası\"}]"
|
||||
"LookupQuery": "[{\"key\":\"ShiftSupervisor\",\"name\":\"App.StaticLookup.ShiftSupervisor\"},{\"key\":\"SecurityRoom\",\"name\":\"App.StaticLookup.SecurityRoom\"},{\"key\":\"ObservationRoom\",\"name\":\"App.StaticLookup.ObservationRoom\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -1582,7 +1582,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":1,\"name\":\"★ Rutin\"},{\"key\":2,\"name\":\"★★ Düşük\"},{\"key\":3,\"name\":\"★★★ Önemli\"},{\"key\":4,\"name\":\"★★★★ Çok Önemli\"},{\"key\":5,\"name\":\"★★★★★ Kritik\"}]"
|
||||
"LookupQuery": "[{\"key\":1,\"name\":\"App.StaticLookup.Importance1\"},{\"key\":2,\"name\":\"App.StaticLookup.Importance2\"},{\"key\":3,\"name\":\"App.StaticLookup.Importance3\"},{\"key\":4,\"name\":\"App.StaticLookup.Importance4\"},{\"key\":5,\"name\":\"App.StaticLookup.Importance5\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -1905,7 +1905,15 @@
|
|||
"App.Listform.ListformField.EventDate",
|
||||
"App.Listform.ListformField.EventTime",
|
||||
"App.Listform.ListformField.ShiftId",
|
||||
"App.Listform.ListformField.CreatorId"
|
||||
"App.Listform.ListformField.CreatorId",
|
||||
"App.StaticLookup.ShiftSupervisor",
|
||||
"App.StaticLookup.SecurityRoom",
|
||||
"App.StaticLookup.ObservationRoom",
|
||||
"App.StaticLookup.Importance1",
|
||||
"App.StaticLookup.Importance2",
|
||||
"App.StaticLookup.Importance3",
|
||||
"App.StaticLookup.Importance4",
|
||||
"App.StaticLookup.Importance5"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -1943,7 +1943,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"0 Rh+\",\"name\":\"0 Rh+\",\"group\":null},{\"key\":\"0 Rh-\",\"name\":\"0 Rh-\",\"group\":null},{\"key\":\"A Rh+\",\"name\":\"A Rh+\",\"group\":null},{\"key\":\"A Rh-\",\"name\":\"A Rh-\",\"group\":null},{\"key\":\"B Rh+\",\"name\":\"B Rh+\",\"group\":null},{\"key\":\"B Rh-\",\"name\":\"B Rh-\",\"group\":null},{\"key\":\"AB Rh+\",\"name\":\"AB Rh+\",\"group\":null},{\"key\":\"AB Rh-\",\"name\":\"AB Rh-\",\"group\":null}]"
|
||||
"LookupQuery": "[{\"key\":\"0 Rh+\",\"name\":\"App.StaticLookup.BloodType1\",\"group\":null},{\"key\":\"0 Rh-\",\"name\":\"App.StaticLookup.BloodType2\",\"group\":null},{\"key\":\"A Rh+\",\"name\":\"App.StaticLookup.BloodType3\",\"group\":null},{\"key\":\"A Rh-\",\"name\":\"App.StaticLookup.BloodType4\",\"group\":null},{\"key\":\"B Rh+\",\"name\":\"App.StaticLookup.BloodType5\",\"group\":null},{\"key\":\"B Rh-\",\"name\":\"App.StaticLookup.BloodType6\",\"group\":null},{\"key\":\"AB Rh+\",\"name\":\"App.StaticLookup.BloodType7\",\"group\":null},{\"key\":\"AB Rh-\",\"name\":\"App.StaticLookup.BloodType8\",\"group\":null}]"
|
||||
},
|
||||
"ValidationRuleDto": [],
|
||||
"ColumnStylingDto": [],
|
||||
|
|
@ -2499,7 +2499,15 @@
|
|||
"LanguageKeys": [
|
||||
"App.Hr.HealthCardHistory",
|
||||
"App.Hr.HealthCardHistory.Title",
|
||||
"App.Hr.HealthCardHistory.Desc"
|
||||
"App.Hr.HealthCardHistory.Desc",
|
||||
"App.StaticLookup.BloodType1",
|
||||
"App.StaticLookup.BloodType2",
|
||||
"App.StaticLookup.BloodType3",
|
||||
"App.StaticLookup.BloodType4",
|
||||
"App.StaticLookup.BloodType5",
|
||||
"App.StaticLookup.BloodType6",
|
||||
"App.StaticLookup.BloodType7",
|
||||
"App.StaticLookup.BloodType8"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
1835
configs/seeds/wizard/Operation.json
Normal file
1835
configs/seeds/wizard/Operation.json
Normal file
File diff suppressed because it is too large
Load diff
1612
configs/seeds/wizard/OperationInstruction.json
Normal file
1612
configs/seeds/wizard/OperationInstruction.json
Normal file
File diff suppressed because it is too large
Load diff
3181
configs/seeds/wizard/Product.json
Normal file
3181
configs/seeds/wizard/Product.json
Normal file
File diff suppressed because it is too large
Load diff
1057
configs/seeds/wizard/ProductAccounting.json
Normal file
1057
configs/seeds/wizard/ProductAccounting.json
Normal file
File diff suppressed because it is too large
Load diff
1213
configs/seeds/wizard/ProductAttributeLine.json
Normal file
1213
configs/seeds/wizard/ProductAttributeLine.json
Normal file
File diff suppressed because it is too large
Load diff
1238
configs/seeds/wizard/ProductCategory.json
Normal file
1238
configs/seeds/wizard/ProductCategory.json
Normal file
File diff suppressed because it is too large
Load diff
1627
configs/seeds/wizard/ProductGeneral.json
Normal file
1627
configs/seeds/wizard/ProductGeneral.json
Normal file
File diff suppressed because it is too large
Load diff
2122
configs/seeds/wizard/ProductStock.json
Normal file
2122
configs/seeds/wizard/ProductStock.json
Normal file
File diff suppressed because it is too large
Load diff
1886
configs/seeds/wizard/ProductSupplier.json
Normal file
1886
configs/seeds/wizard/ProductSupplier.json
Normal file
File diff suppressed because it is too large
Load diff
2228
configs/seeds/wizard/ProductVariant.json
Normal file
2228
configs/seeds/wizard/ProductVariant.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1552,7 +1552,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Attended\",\"name\":\"Katıldı\"},{\"key\":\"NotAttended\",\"name\":\"Katılmadı\"},{\"key\":\"Excused\",\"name\":\"Mazeretli\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Attended\",\"name\":\"App.StaticLookup.Attended\"},{\"key\":\"NotAttended\",\"name\":\"App.StaticLookup.NotAttended\"},{\"key\":\"Excused\",\"name\":\"App.StaticLookup.Excused\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -2127,7 +2127,10 @@
|
|||
"App.Listform.ListformField.AttendanceStatus",
|
||||
"App.Listform.ListformField.ExamScore",
|
||||
"App.Listform.ListformField.LeaveDate",
|
||||
"App.Listform.ListformField.Note"
|
||||
"App.Listform.ListformField.Note",
|
||||
"App.StaticLookup.Attended",
|
||||
"App.StaticLookup.NotAttended",
|
||||
"App.StaticLookup.Excused"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -2065,7 +2065,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Arrived\",\"name\":\"Geldi\"},{\"key\":\"Left\",\"name\":\"Gitti\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Arrived\",\"name\":\"App.StaticLookup.Arrived\"},{\"key\":\"Left\",\"name\":\"App.StaticLookup.Status.Left\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [],
|
||||
"ColumnStylingDto": [],
|
||||
|
|
@ -3407,7 +3407,9 @@
|
|||
"App.Listform.ListformField.EmissionStart",
|
||||
"App.Listform.ListformField.EmissionEnd",
|
||||
"App.Listform.ListformField.TachographStart",
|
||||
"App.Listform.ListformField.TachographEnd"
|
||||
"App.Listform.ListformField.TachographEnd",
|
||||
"App.StaticLookup.Arrived",
|
||||
"App.StaticLookup.Status.Left"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -889,7 +889,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Vehicle\",\"name\":\"ARAÇ\"},{\"key\":\"Driver\",\"name\":\"ŞOFÖR\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Vehicle\",\"name\":\"App.StaticLookup.Vehicle\"},{\"key\":\"Driver\",\"name\":\"App.StaticLookup.Driver\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -1027,7 +1027,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Insurance\",\"name\":\"SİGORTA\"},{\"key\":\"Document\",\"name\":\"BELGE\"},{\"key\":\"Tax\",\"name\":\"VERGİ\"},{\"key\":\"Toll\",\"name\":\"GEÇİŞ\"},{\"key\":\"Inspection\",\"name\":\"MUAYENE\"},{\"key\":\"Maintenance\",\"name\":\"BAKIM\"},{\"key\":\"Penalty\",\"name\":\"CEZA\"},{\"key\":\"Accident\",\"name\":\"KAZA\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Insurance\",\"name\":\"App.StaticLookup.Insurance\"},{\"key\":\"Document\",\"name\":\"App.StaticLookup.Document\"},{\"key\":\"Tax\",\"name\":\"App.StaticLookup.Tax\"},{\"key\":\"Toll\",\"name\":\"App.StaticLookup.Toll\"},{\"key\":\"Inspection\",\"name\":\"App.StaticLookup.Inspection\"},{\"key\":\"Maintenance\",\"name\":\"App.StaticLookup.Maintenance\"},{\"key\":\"Penalty\",\"name\":\"App.StaticLookup.Penalty\"},{\"key\":\"Accident\",\"name\":\"App.StaticLookup.Accident\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -1370,7 +1370,17 @@
|
|||
"App.Hr.VehicleDocument.Desc",
|
||||
"App.Hr.Vehicles",
|
||||
"App.Listform.ListformField.DocumentGroup",
|
||||
"App.Listform.ListformField.DocumentType"
|
||||
"App.Listform.ListformField.DocumentType",
|
||||
"App.StaticLookup.Vehicle",
|
||||
"App.StaticLookup.Driver",
|
||||
"App.StaticLookup.Insurance",
|
||||
"App.StaticLookup.Document",
|
||||
"App.StaticLookup.Tax",
|
||||
"App.StaticLookup.Toll",
|
||||
"App.StaticLookup.Inspection",
|
||||
"App.StaticLookup.Maintenance",
|
||||
"App.StaticLookup.Penalty",
|
||||
"App.StaticLookup.Accident"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
|
|
@ -3347,7 +3347,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\":\"Arrived\",\"name\":\"Geldi\"},{\"key\":\"Left\",\"name\":\"Gitti\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Arrived\",\"name\":\"App.StaticLookup.Arrived\"},{\"key\":\"Left\",\"name\":\"App.StaticLookup.Status.Left\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [],
|
||||
"ColumnStylingDto": [],
|
||||
|
|
|
|||
|
|
@ -1064,7 +1064,7 @@
|
|||
"CascadeFilterOperator": "=",
|
||||
"CascadeParentFields": null,
|
||||
"CascadeEmptyFields": null,
|
||||
"LookupQuery": "[{\"key\": \"Ziyaretçi\", \"name\": \"Ziyaretçi\"}, {\"key\": \"Müşteri\", \"name\": \"Müşteri\"}, {\"key\": \"Tedarikçi\", \"name\": \"Tedarikçi\"}, {\"key\": \"Taşeron\", \"name\": \"Taşeron\"}, {\"key\": \"Kurye\", \"name\": \"Kurye\"}]"
|
||||
"LookupQuery": "[{\"key\":\"Ziyaretçi\",\"name\":\"App.StaticLookup.VisitorType1\"},{\"key\":\"Müşteri\",\"name\":\"App.StaticLookup.VisitorType2\"},{\"key\":\"Tedarikçi\",\"name\":\"App.StaticLookup.VisitorType3\"},{\"key\":\"Taşeron\",\"name\":\"App.StaticLookup.VisitorType4\"},{\"key\":\"Kurye\",\"name\":\"App.StaticLookup.Kurye\"}]"
|
||||
},
|
||||
"ValidationRuleDto": [
|
||||
{
|
||||
|
|
@ -2195,7 +2195,12 @@
|
|||
"App.Listform.ListformField.VisitedUserId",
|
||||
"App.Listform.ListformField.VisitorFullName",
|
||||
"App.Listform.ListformField.CompanyName",
|
||||
"App.Listform.ListformField.VisitReason"
|
||||
"App.Listform.ListformField.VisitReason",
|
||||
"App.StaticLookup.VisitorType1",
|
||||
"App.StaticLookup.VisitorType2",
|
||||
"App.StaticLookup.VisitorType3",
|
||||
"App.StaticLookup.VisitorType4",
|
||||
"App.StaticLookup.Kurye"
|
||||
],
|
||||
"PermissionGroupNames": [],
|
||||
"PermissionNames": [
|
||||
|
|
|
|||
1674
configs/seeds/wizard/WorkCenter.json
Normal file
1674
configs/seeds/wizard/WorkCenter.json
Normal file
File diff suppressed because it is too large
Load diff
1611
configs/seeds/wizard/WorkCenterCapacity.json
Normal file
1611
configs/seeds/wizard/WorkCenterCapacity.json
Normal file
File diff suppressed because it is too large
Load diff
1743
configs/seeds/wizard/WorkCenterGeneral.json
Normal file
1743
configs/seeds/wizard/WorkCenterGeneral.json
Normal file
File diff suppressed because it is too large
Load diff
1228
configs/seeds/wizard/WorkCenterTag.json
Normal file
1228
configs/seeds/wizard/WorkCenterTag.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue