@hitsoft/uretim-yonetimi 1.0.29 → 1.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ import { Component, Injectable, ChangeDetectionStrategy, ViewChild, NgModule } f
3
3
  import * as i1 from '@abp/ng.core';
4
4
  import { ListService, AuthGuard, PermissionGuard, CoreModule, LazyModuleFactory } from '@abp/ng.core';
5
5
  import * as i3 from '@abp/ng.theme.shared';
6
- import { ThemeSharedModule } from '@abp/ng.theme.shared';
6
+ import { ThemeSharedModule, Confirmation } from '@abp/ng.theme.shared';
7
7
  import * as i1$1 from '@angular/router';
8
8
  import { RouterModule } from '@angular/router';
9
9
  import { NgbDateAdapter, NgbCollapseModule, NgbDatepickerModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
@@ -1493,6 +1493,7 @@ class HitFillingControlComponent {
1493
1493
  this.searchBasildiMi = false;
1494
1494
  this.isEmriBarkoduGecerliMi = false;
1495
1495
  this.isLoading = false;
1496
+ this.isSaving = false;
1496
1497
  this.hatBilgisi = '';
1497
1498
  this.qrCode = '';
1498
1499
  this.lines = [];
@@ -1514,6 +1515,17 @@ class HitFillingControlComponent {
1514
1515
  this.service.getFillingControlInfo(this.isEmriNo).subscribe({
1515
1516
  next: response => {
1516
1517
  if (response?.isSuccessful) {
1518
+ const status = (response.items?.status || '').toString().toUpperCase();
1519
+ if (status === 'P') {
1520
+ this.confirmation.warn('', 'Bu üretim siparişi onaylanmamıştır, kontrol yapılamaz.', {
1521
+ hideYesBtn: true,
1522
+ cancelText: 'Kapat',
1523
+ dismissible: false,
1524
+ });
1525
+ this.clearAll();
1526
+ this.isLoading = false;
1527
+ return;
1528
+ }
1517
1529
  this.hatBilgisi = response.items.u_Hat;
1518
1530
  this.lines = response.items.lines;
1519
1531
  this.isEmriBarkoduGecerliMi = true;
@@ -1671,7 +1683,7 @@ class HitFillingControlComponent {
1671
1683
  this.focusQRInput();
1672
1684
  }
1673
1685
  save() {
1674
- if (!this.isEmriNo || this.lines.length === 0) {
1686
+ if (!this.isEmriNo || this.lines.length === 0 || this.isSaving) {
1675
1687
  return;
1676
1688
  }
1677
1689
  // Tüm kontroller tamamlanmış mı kontrolü
@@ -1692,6 +1704,7 @@ class HitFillingControlComponent {
1692
1704
  batchNumber: line.batchNumber || ''
1693
1705
  }))
1694
1706
  };
1707
+ this.isSaving = true;
1695
1708
  this.isLoading = true;
1696
1709
  this.service.saveFillingControl(saveData).subscribe({
1697
1710
  next: response => {
@@ -1703,9 +1716,11 @@ class HitFillingControlComponent {
1703
1716
  });
1704
1717
  this.clearAll();
1705
1718
  }
1719
+ this.isSaving = false;
1706
1720
  this.isLoading = false;
1707
1721
  },
1708
1722
  error: e => {
1723
+ this.isSaving = false;
1709
1724
  this.isLoading = false;
1710
1725
  this.confirmation.status$.subscribe({
1711
1726
  next: () => {
@@ -1723,6 +1738,7 @@ class HitFillingControlComponent {
1723
1738
  this.qrCode = '';
1724
1739
  this.lines = [];
1725
1740
  this.isDataLoadedFromDb = false;
1741
+ this.isSaving = false;
1726
1742
  this.focusOnIsEmriNo();
1727
1743
  }
1728
1744
  get showKazanDegisimiButton() {
@@ -1733,27 +1749,50 @@ class HitFillingControlComponent {
1733
1749
  this.lines.every(x => x.isControlled);
1734
1750
  }
1735
1751
  get isSaveButtonDisabled() {
1736
- // İş emri yoksa veya satır yoksa veya tüm satırlar kontrol edilmemişse disable
1752
+ // İş emri yoksa veya satır yoksa veya tüm satırlar kontrol edilmemişse veya kaydetme işlemi devam ediyorsa disable
1737
1753
  return !this.isEmriNo ||
1738
1754
  this.lines.length === 0 ||
1739
- !this.lines.every(x => x.isControlled);
1755
+ !this.lines.every(x => x.isControlled) ||
1756
+ this.isSaving;
1740
1757
  }
1741
1758
  kazanDegisimi() {
1742
- this.confirmation.warn('', 'Kazan değişim işlemi için kontrol edilen ürünler sıfırlanacaktır. Devam etmek istiyor musunuz?', {
1759
+ // İlk soru: Bu kazana ait tüm üretimden girişleri tamamladınız mı?
1760
+ this.confirmation.warn('', 'Bu kazana ait tüm üretimden girişleri tamamladınız mı?', {
1743
1761
  yesText: 'Evet',
1744
1762
  cancelText: 'Hayır'
1745
1763
  }).subscribe(status => {
1746
1764
  if (status === 'confirm') {
1747
- // Tüm satırların IsControlled alanını false yap
1748
- this.lines.forEach(line => {
1749
- line.isControlled = false;
1750
- line.batchNumber = '';
1765
+ // İkinci soru: Kazan değişimi öncesinde kazan YM fire çıkışı gerçekleştirildi mi?
1766
+ this.confirmation.warn('', 'Kazan değişimi öncesinde kazan YM fire çıkışı gerçekleştirildi mi?', {
1767
+ yesText: 'Evet',
1768
+ cancelText: 'Hayır'
1769
+ }).subscribe(status2 => {
1770
+ if (status2 === 'confirm') {
1771
+ // Üçüncü soru: Bileşen fire çıkışı gerçekleştirildi mi?
1772
+ this.confirmation.warn('', 'Bileşen fire çıkışı gerçekleştirildi mi?', {
1773
+ yesText: 'Evet',
1774
+ cancelText: 'Hayır'
1775
+ }).subscribe(status3 => {
1776
+ if (status3 === 'confirm') {
1777
+ // Tüm onaylar verildi, kazan değişimi işlemini gerçekleştir
1778
+ // Tüm satırların IsControlled alanını false yap
1779
+ this.lines.forEach(line => {
1780
+ line.isControlled = false;
1781
+ line.batchNumber = '';
1782
+ });
1783
+ // Grid'i refresh et
1784
+ this.dataGrid.instance.refresh();
1785
+ this.isDataLoadedFromDb = false; // Artık yeni veri girilecek
1786
+ // QR input'a focus et
1787
+ this.focusOnQrCode();
1788
+ }
1789
+ // status3 !== 'confirm' ise üçüncü soruya hayır dendi, işlem iptal
1790
+ });
1791
+ }
1792
+ // status2 !== 'confirm' ise ikinci soruya hayır dendi, işlem iptal
1751
1793
  });
1752
- // Grid'i refresh et
1753
- this.dataGrid.instance.refresh();
1754
- // QR input'a focus et
1755
- this.focusOnQrCode();
1756
1794
  }
1795
+ // status !== 'confirm' ise ilk soruya hayır dendi, işlem iptal
1757
1796
  });
1758
1797
  }
1759
1798
  focusOnIsEmriNo() {
@@ -1899,6 +1938,7 @@ class HitFillingReceiptFromProductionComponent {
1899
1938
  this.confirmation = confirmation;
1900
1939
  this.ngZone = ngZone;
1901
1940
  this.isLoading = false;
1941
+ this.isSaving = false;
1902
1942
  this.isWorkOrderLoaded = false;
1903
1943
  this.workOrderInfo = null;
1904
1944
  // Pallet controls
@@ -1957,6 +1997,7 @@ class HitFillingReceiptFromProductionComponent {
1957
1997
  return;
1958
1998
  }
1959
1999
  const salPackUn = this.workOrderInfo.salPackUn || 0;
2000
+ debugger;
1960
2001
  if (this.paletTipi === 'TAM') {
1961
2002
  // Tam Palet: Pallet height × Pieces per box
1962
2003
  const paletYukseklik = this.workOrderInfo.u_DKpaletyuseklik || 0;
@@ -1965,16 +2006,38 @@ class HitFillingReceiptFromProductionComponent {
1965
2006
  else {
1966
2007
  // Kısmi Palet: Koli count × Pieces per box
1967
2008
  const koliAdet = this.koliAdet || 0;
1968
- this.toplamMiktar = koliAdet * salPackUn;
2009
+ const kismiMiktar = koliAdet * salPackUn;
2010
+ // Calculate TAM pallet quantity for comparison
2011
+ const paletYukseklik = this.workOrderInfo.u_DKpaletyuseklik || 0;
2012
+ const tamPaletMiktar = paletYukseklik * salPackUn;
2013
+ // KISMI quantity should not exceed TAM pallet quantity
2014
+ if (kismiMiktar > tamPaletMiktar) {
2015
+ this.toplamMiktar = tamPaletMiktar;
2016
+ // Reset to maximum allowed value asynchronously to avoid change detection loop
2017
+ setTimeout(() => {
2018
+ this.koliAdet = paletYukseklik;
2019
+ }, 0);
2020
+ this.confirmation.warn('', `Koli adedi ${paletYukseklik}'i geçemez! (TAM palet miktarı: ${tamPaletMiktar})`, {
2021
+ hideYesBtn: true,
2022
+ cancelText: 'Kapat',
2023
+ dismissible: false,
2024
+ });
2025
+ }
2026
+ else {
2027
+ this.toplamMiktar = kismiMiktar;
2028
+ }
1969
2029
  }
1970
2030
  }
1971
2031
  async save() {
1972
- if (!this.isEmriNo || !this.workOrderInfo || this.toplamMiktar <= 0) {
1973
- this.confirmation.warn('', 'Lütfen tüm alanları doldurun!', {
1974
- hideYesBtn: true,
1975
- cancelText: 'Kapat',
1976
- dismissible: false,
1977
- });
2032
+ debugger;
2033
+ if (!this.isEmriNo || !this.workOrderInfo || this.toplamMiktar <= 0 || this.isSaving) {
2034
+ if (!this.isSaving) {
2035
+ this.confirmation.warn('', 'Lütfen tüm alanları doldurun!', {
2036
+ hideYesBtn: true,
2037
+ cancelText: 'Kapat',
2038
+ dismissible: false,
2039
+ });
2040
+ }
1978
2041
  return;
1979
2042
  }
1980
2043
  // Check if completed quantity will exceed planned quantity
@@ -1996,6 +2059,7 @@ class HitFillingReceiptFromProductionComponent {
1996
2059
  batchNumber: '',
1997
2060
  componentsToConsume: this.prepareComponentsToConsume()
1998
2061
  };
2062
+ this.isSaving = true;
1999
2063
  this.isLoading = true;
2000
2064
  this.service.createReceipt(saveData).subscribe({
2001
2065
  next: response => {
@@ -2007,9 +2071,11 @@ class HitFillingReceiptFromProductionComponent {
2007
2071
  });
2008
2072
  this.clearAll();
2009
2073
  }
2074
+ this.isSaving = false;
2010
2075
  this.isLoading = false;
2011
2076
  },
2012
2077
  error: e => {
2078
+ this.isSaving = false;
2013
2079
  this.isLoading = false;
2014
2080
  },
2015
2081
  });
@@ -2027,16 +2093,13 @@ class HitFillingReceiptFromProductionComponent {
2027
2093
  const controlledLines = this.workOrderInfo.lines.filter(line => line.isControlled && line.batchNumber);
2028
2094
  // For YM/151* products, consume by lot from control screen
2029
2095
  for (const line of controlledLines) {
2030
- const remainingQty = line.plannedQty - line.issuedQty;
2031
- if (remainingQty > 0) {
2032
- components.push({
2033
- itemCode: line.itemCode,
2034
- quantity: remainingQty,
2035
- warehouseCode: line.warehouse,
2036
- batchNumber: line.batchNumber,
2037
- baseLine: line.lineNum
2038
- });
2039
- }
2096
+ components.push({
2097
+ itemCode: line.itemCode,
2098
+ quantity: line.issuedQty,
2099
+ warehouseCode: line.warehouse,
2100
+ batchNumber: line.batchNumber,
2101
+ baseLine: line.lineNum
2102
+ });
2040
2103
  }
2041
2104
  // For other components, use "Teyit sonrası otomatik çekme" logic
2042
2105
  // (This would be handled by the backend with FIFO for batch/serial items)
@@ -2049,13 +2112,15 @@ class HitFillingReceiptFromProductionComponent {
2049
2112
  this.paletTipi = 'TAM';
2050
2113
  this.koliAdet = null;
2051
2114
  this.toplamMiktar = 0;
2115
+ this.isSaving = false;
2052
2116
  this.focusOnIsEmriNo();
2053
2117
  }
2054
2118
  get isSaveButtonDisabled() {
2055
2119
  return !this.isEmriNo ||
2056
2120
  !this.workOrderInfo ||
2057
2121
  this.toplamMiktar <= 0 ||
2058
- (this.paletTipi === 'KISMI' && (!this.koliAdet || this.koliAdet <= 0));
2122
+ (this.paletTipi === 'KISMI' && (!this.koliAdet || this.koliAdet <= 0)) ||
2123
+ this.isSaving;
2059
2124
  }
2060
2125
  focusOnIsEmriNo() {
2061
2126
  this.ngZone.run(() => {
@@ -2173,6 +2238,14 @@ class HitBoilerYMProductWasteService {
2173
2238
  method: 'POST',
2174
2239
  url: `${this.resourceEndpoint}?docEntry=${input}`,
2175
2240
  }, { apiName: this.apiName });
2241
+ this.finishWorkOrderAndSaveWaste = (input) => this.restService.request({
2242
+ method: 'POST',
2243
+ url: `${this.resourceEndpoint}/finish-and-save-waste?docEntry=${input}`,
2244
+ }, { apiName: this.apiName });
2245
+ this.finishWorkOrderWithoutSavingWaste = (input) => this.restService.request({
2246
+ method: 'POST',
2247
+ url: `${this.resourceEndpoint}/finish-without-saving-waste?docEntry=${input}`,
2248
+ }, { apiName: this.apiName });
2176
2249
  this.resourceEndpoint = '/api/uretim-yonetimi/boiler-ym-product-waste';
2177
2250
  }
2178
2251
  }
@@ -2198,6 +2271,7 @@ class HitBoilerYMProductWasteComponent {
2198
2271
  dismissible: false,
2199
2272
  };
2200
2273
  this.isLoading = false;
2274
+ this.isSaving = false;
2201
2275
  this.isEmriBarkoduGecerliMi = false;
2202
2276
  this.searcheBasildiMi = false;
2203
2277
  this.boilerYMProductWastePostDto = new BoilerYMProductWastePostDto;
@@ -2261,34 +2335,46 @@ class HitBoilerYMProductWasteComponent {
2261
2335
  });
2262
2336
  }
2263
2337
  save() {
2264
- if (!this.isEmriBarkoduGecerliMi || !this.productionOrder) {
2338
+ if (!this.isEmriBarkoduGecerliMi || !this.productionOrder || this.isSaving) {
2265
2339
  this.focusWorkOrder();
2266
2340
  return;
2267
2341
  }
2268
- this.isLoading = true;
2269
- this.service.create(this.productionOrder.absoluteEntry).subscribe({
2270
- next: (response) => {
2271
- if (response?.isSuccessful) {
2272
- this.confirmation
2273
- .success('', 'İşlem başarıyla tamamlandı.', this.options)
2274
- .subscribe(() => this.clearAll());
2275
- }
2276
- else {
2277
- const message = response?.errors?.length
2278
- ? response.errors.join('\n')
2279
- : 'Fire işlemi sırasında bir hata oluştu.';
2280
- this.showError(message);
2281
- }
2282
- },
2283
- error: (error) => {
2284
- },
2285
- complete: () => {
2286
- this.clearAll();
2287
- },
2342
+ this.confirmation.warn('', 'Fire kaydını yapmak istediğinizden emin misiniz?', {
2343
+ yesText: 'Evet',
2344
+ cancelText: 'Hayır'
2345
+ }).subscribe((status) => {
2346
+ if (status !== Confirmation.Status.confirm) {
2347
+ return;
2348
+ }
2349
+ this.isSaving = true;
2350
+ this.isLoading = true;
2351
+ this.service.create(this.productionOrder.absoluteEntry).subscribe({
2352
+ next: (response) => {
2353
+ if (response?.isSuccessful) {
2354
+ this.confirmation
2355
+ .success('', 'İşlem başarıyla tamamlandı.', this.options)
2356
+ .subscribe(() => this.clearAll());
2357
+ }
2358
+ else {
2359
+ const message = response?.errors?.length
2360
+ ? response.errors.join('\n')
2361
+ : 'Fire işlemi sırasında bir hata oluştu.';
2362
+ this.showError(message);
2363
+ }
2364
+ },
2365
+ error: (error) => {
2366
+ this.isSaving = false;
2367
+ this.isLoading = false;
2368
+ },
2369
+ complete: () => {
2370
+ this.clearAll();
2371
+ },
2372
+ });
2288
2373
  });
2289
2374
  }
2290
2375
  clearAll() {
2291
2376
  this.isLoading = false;
2377
+ this.isSaving = false;
2292
2378
  this.isEmriBarkoduGecerliMi = false;
2293
2379
  this.searcheBasildiMi = false;
2294
2380
  this.isEmriBarkodu = null;
@@ -2312,12 +2398,99 @@ class HitBoilerYMProductWasteComponent {
2312
2398
  this.confirmation.error('', message, this.options);
2313
2399
  notify({ message, type: 'error' });
2314
2400
  }
2401
+ finishWorkOrderAndSaveWaste() {
2402
+ debugger;
2403
+ if (!this.isEmriBarkoduGecerliMi || !this.productionOrder || this.isSaving) {
2404
+ this.focusWorkOrder();
2405
+ return;
2406
+ }
2407
+ this.confirmation.warn('', 'İş emrini bitirmek ve fireyi kaydetmek istediğinizden emin misiniz?', {
2408
+ yesText: 'Evet',
2409
+ cancelText: 'Hayır'
2410
+ }).subscribe((status) => {
2411
+ if (status !== Confirmation.Status.confirm) {
2412
+ return;
2413
+ }
2414
+ this.isSaving = true;
2415
+ this.isLoading = true;
2416
+ this.service.finishWorkOrderAndSaveWaste(this.productionOrder.absoluteEntry).subscribe({
2417
+ next: (response) => {
2418
+ debugger;
2419
+ if (response?.isSuccessful) {
2420
+ this.confirmation
2421
+ .success('', 'İş emri bitirildi ve fire kaydedildi.', this.options)
2422
+ .subscribe(() => this.clearAll());
2423
+ }
2424
+ else {
2425
+ const message = response?.errors?.length
2426
+ ? response.errors.join('\n')
2427
+ : 'İş emri bitirme işlemi sırasında bir hata oluştu.';
2428
+ this.showError(message);
2429
+ this.isSaving = false;
2430
+ this.isLoading = false;
2431
+ }
2432
+ },
2433
+ error: (error) => {
2434
+ debugger;
2435
+ let message = error.error.error.message;
2436
+ message = message.length
2437
+ ? message
2438
+ : 'İş emri bitirme işlemi sırasında bir hata oluştu.';
2439
+ this.isSaving = false;
2440
+ this.isLoading = false;
2441
+ this.showError(message);
2442
+ },
2443
+ complete: () => {
2444
+ this.clearAll();
2445
+ },
2446
+ });
2447
+ });
2448
+ }
2449
+ finishWorkOrderWithoutSavingWaste() {
2450
+ if (!this.isEmriBarkoduGecerliMi || !this.productionOrder || this.isSaving) {
2451
+ this.focusWorkOrder();
2452
+ return;
2453
+ }
2454
+ this.confirmation.warn('', 'İş emrini bitirmek istediğinizden emin misiniz? (Fire kaydedilmeyecek)', {
2455
+ yesText: 'Evet',
2456
+ cancelText: 'Hayır'
2457
+ }).subscribe((status) => {
2458
+ if (status !== Confirmation.Status.confirm) {
2459
+ return;
2460
+ }
2461
+ this.isSaving = true;
2462
+ this.isLoading = true;
2463
+ this.service.finishWorkOrderWithoutSavingWaste(this.productionOrder.absoluteEntry).subscribe({
2464
+ next: (response) => {
2465
+ if (response?.isSuccessful) {
2466
+ this.confirmation
2467
+ .success('', 'İş emri bitirildi.', this.options)
2468
+ .subscribe(() => this.clearAll());
2469
+ }
2470
+ else {
2471
+ const message = response?.errors?.length
2472
+ ? response.errors.join('\n')
2473
+ : 'İş emri bitirme işlemi sırasında bir hata oluştu.';
2474
+ this.showError(message);
2475
+ }
2476
+ },
2477
+ error: (error) => {
2478
+ this.showError('İş emri bitirme işlemi sırasında bir hata oluştu.');
2479
+ this.isSaving = false;
2480
+ this.isLoading = false;
2481
+ },
2482
+ complete: () => {
2483
+ this.clearAll();
2484
+ },
2485
+ });
2486
+ });
2487
+ }
2315
2488
  }
2316
2489
  HitBoilerYMProductWasteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitBoilerYMProductWasteComponent, deps: [{ token: HitBoilerYMProductWasteService }, { token: i3.ConfirmationService }, { token: i0.NgZone }, { token: HitProductionOrdersService }, { token: HitFillingControlService }], target: i0.ɵɵFactoryTarget.Component });
2317
- HitBoilerYMProductWasteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitBoilerYMProductWasteComponent, selector: "lib-hit-boiler-ym-product-waste", viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Save' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.BatchNumber' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchNumber\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ItemCode' | abpLocalization\"\r\n [(value)]=\"ymProduct.itemCode\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2490
+ HitBoilerYMProductWasteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitBoilerYMProductWasteComponent, selector: "lib-hit-boiler-ym-product-waste", viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row pt-2 g-2\">\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-success btn-sm w-100\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi || isSaving\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n Kazan De\u011Fi\u015Fimi \u00D6ncesi Fire Giri\u015Fi\r\n </button>\r\n </div>\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-primary btn-sm w-100\" type=\"button\" (click)=\"finishWorkOrderAndSaveWaste()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi || isSaving\">\r\n <i class=\"fa fa-check-double me-1\"></i>\r\n \u0130\u015F Emrini Bitir ve Fireyi Kaydet\r\n </button>\r\n </div>\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-info btn-sm w-100\" type=\"button\" (click)=\"finishWorkOrderWithoutSavingWaste()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi || isSaving\">\r\n <i class=\"fa fa-check me-1\"></i>\r\n \u0130\u015F Emrini Bitir ve Fireyi Kaydetme\r\n </button>\r\n </div>\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-warning btn-sm w-100\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.BatchNumber' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchNumber\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ItemCode' | abpLocalization\"\r\n [(value)]=\"ymProduct.itemCode\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2318
2491
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitBoilerYMProductWasteComponent, decorators: [{
2319
2492
  type: Component,
2320
- args: [{ selector: 'lib-hit-boiler-ym-product-waste', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Save' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.BatchNumber' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchNumber\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ItemCode' | abpLocalization\"\r\n [(value)]=\"ymProduct.itemCode\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"] }]
2493
+ args: [{ selector: 'lib-hit-boiler-ym-product-waste', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row pt-2 g-2\">\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-success btn-sm w-100\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi || isSaving\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n Kazan De\u011Fi\u015Fimi \u00D6ncesi Fire Giri\u015Fi\r\n </button>\r\n </div>\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-primary btn-sm w-100\" type=\"button\" (click)=\"finishWorkOrderAndSaveWaste()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi || isSaving\">\r\n <i class=\"fa fa-check-double me-1\"></i>\r\n \u0130\u015F Emrini Bitir ve Fireyi Kaydet\r\n </button>\r\n </div>\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-info btn-sm w-100\" type=\"button\" (click)=\"finishWorkOrderWithoutSavingWaste()\"\r\n [disabled]=\"!isEmriBarkoduGecerliMi || isSaving\">\r\n <i class=\"fa fa-check me-1\"></i>\r\n \u0130\u015F Emrini Bitir ve Fireyi Kaydetme\r\n </button>\r\n </div>\r\n <div class=\"col-12 col-md-6 col-lg-3\">\r\n <button class=\"btn btn-warning btn-sm w-100\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::BoilerYMProductWaste.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"isEmriBarkodu\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isEmriBarkoduGecerliMi\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isEmriBarkoduGecerliMi\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.BatchNumber' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchNumber\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ItemCode' | abpLocalization\"\r\n [(value)]=\"ymProduct.itemCode\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::BoilerYMProductWaste.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"ymProduct.batchQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"] }]
2321
2494
  }], ctorParameters: function () { return [{ type: HitBoilerYMProductWasteService }, { type: i3.ConfirmationService }, { type: i0.NgZone }, { type: HitProductionOrdersService }, { type: HitFillingControlService }]; }, propDecorators: { nmbBoxBarkodNumarasi: [{
2322
2495
  type: ViewChild,
2323
2496
  args: ['barkodNumarasiRef', { static: false }]
@@ -2456,6 +2629,7 @@ class HitComponentWastageComponent {
2456
2629
  dismissible: false,
2457
2630
  };
2458
2631
  this.isLoading = false;
2632
+ this.isSaving = false;
2459
2633
  this.isWorkOrderNoValid = false;
2460
2634
  this.searcheBasildiMi = false;
2461
2635
  this.componentWastagePostDto = new ComponentWastagePostDto;
@@ -2599,10 +2773,11 @@ class HitComponentWastageComponent {
2599
2773
  });
2600
2774
  }
2601
2775
  save() {
2602
- if (!this.isWorkOrderNoValid || !this.componentWastagePostDto) {
2776
+ if (!this.isWorkOrderNoValid || !this.componentWastagePostDto || this.isSaving) {
2603
2777
  this.focusWorkOrder();
2604
2778
  return;
2605
2779
  }
2780
+ this.isSaving = true;
2606
2781
  this.isLoading = true;
2607
2782
  this.componentWastagePostDto.documentLines.forEach(line => {
2608
2783
  line.baseEntry = this.productionOrder.absoluteEntry;
@@ -2622,6 +2797,8 @@ class HitComponentWastageComponent {
2622
2797
  }
2623
2798
  },
2624
2799
  error: (error) => {
2800
+ this.isSaving = false;
2801
+ this.isLoading = false;
2625
2802
  },
2626
2803
  complete: () => {
2627
2804
  this.clearAll();
@@ -2634,6 +2811,7 @@ class HitComponentWastageComponent {
2634
2811
  this.workOrderNo = null;
2635
2812
  this.productionOrder = null;
2636
2813
  this.componentWastagePostDto = new ComponentWastagePostDto;
2814
+ this.isSaving = false;
2637
2815
  this.isLoading = false;
2638
2816
  this.lookupDataSourceItemCodes = {};
2639
2817
  this.ngZone.run(() => {
@@ -2655,10 +2833,10 @@ class HitComponentWastageComponent {
2655
2833
  }
2656
2834
  }
2657
2835
  HitComponentWastageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitComponentWastageComponent, deps: [{ token: HitComponentWastageService }, { token: i3.ConfirmationService }, { token: i0.NgZone }, { token: HitProductionOrdersService }], target: i0.ɵɵFactoryTarget.Component });
2658
- HitComponentWastageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitComponentWastageComponent, selector: "lib-hit-component-wastage", viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }, { propertyName: "componentWastageLinesGrid", first: true, predicate: ["getComponentWastageLinesGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ComponentWastage.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isWorkOrderNoValid\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Save' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"workOrderNo\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isWorkOrderNoValid\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n <div class=\"mt-3\">\r\n <dx-data-grid #getComponentWastageLinesGrid\r\n [dataSource]=\"componentWastagePostDto.documentLines\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\">\r\n <dxo-editing\r\n mode=\"row\"\r\n [newRowPosition]=\"'last'\"\r\n [allowDeleting]=\"true\"\r\n [allowUpdating]=\"true\"\r\n [useIcons]=\"true\">\r\n </dxo-editing>\r\n <dxi-column dataField=\"baseLine\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ItemCode' | abpLocalization}}\">\r\n <dxo-lookup style=\"width:100%;\"\r\n [dataSource]=\"lookupDataSourceItemCodes\"\r\n displayExpr=\"itemName\"\r\n valueExpr=\"lineNum\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNedeni\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.CauseOfWastage' | abpLocalization}}\">\r\n <dxo-lookup\r\n [dataSource]=\"lookupDataSourceCauseOfWastages\"\r\n displayExpr=\"name\"\r\n dataType=\"string\"\r\n valueExpr=\"id\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n dataType=\"string\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.QuantityOfWastage' | abpLocalization}}\">\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n <dxi-validation-rule\r\n type=\"numeric\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.DescOfWastage' | abpLocalization}}\">\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"componentWastages && componentWastages.length && isWorkOrderNoValid\">\r\n <div>\r\n <h5>{{ 'UretimYonetimi::ComponentWastage.ComponentWastageRecords' | abpLocalization }}</h5>\r\n </div>\r\n <dx-data-grid #instanceComponentWastagesGrid\r\n [dataSource]=\"componentWastages\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\">\r\n <dxi-column dataField=\"docEntry\" [minWidth]=\"50\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DocEntry' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"itemName\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.ItemName' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"fireNedeniAdi\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.CauseOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.QuantityOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DescOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i7$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i7$1.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i7$1.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { kind: "component", type: i7$1.DxoEditingComponent, selector: "dxo-editing", inputs: ["allowAdding", "allowDeleting", "allowUpdating", "changes", "confirmDelete", "editColumnName", "editRowKey", "form", "mode", "newRowPosition", "popup", "refreshMode", "selectTextOnEditStart", "startEditAction", "texts", "useIcons", "allowAddShape", "allowChangeConnection", "allowChangeConnectorPoints", "allowChangeConnectorText", "allowChangeShapeText", "allowDeleteConnector", "allowDeleteShape", "allowMoveShape", "allowResizeShape", "allowDependencyAdding", "allowDependencyDeleting", "allowResourceAdding", "allowResourceDeleting", "allowResourceUpdating", "allowTaskAdding", "allowTaskDeleting", "allowTaskResourceUpdating", "allowTaskUpdating", "enabled", "allowDragging", "allowResizing", "allowTimeZoneEditing"], outputs: ["changesChange", "editColumnNameChange", "editRowKeyChange"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2836
+ HitComponentWastageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: HitComponentWastageComponent, selector: "lib-hit-component-wastage", viewQueries: [{ propertyName: "nmbBoxBarkodNumarasi", first: true, predicate: ["barkodNumarasiRef"], descendants: true }, { propertyName: "componentWastageLinesGrid", first: true, predicate: ["getComponentWastageLinesGrid"], descendants: true }], ngImport: i0, template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ComponentWastage.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isWorkOrderNoValid || isSaving\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Save' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"workOrderNo\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isWorkOrderNoValid\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n <div class=\"mt-3\">\r\n <dx-data-grid #getComponentWastageLinesGrid\r\n [dataSource]=\"componentWastagePostDto.documentLines\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\">\r\n <dxo-editing\r\n mode=\"row\"\r\n [newRowPosition]=\"'last'\"\r\n [allowDeleting]=\"true\"\r\n [allowUpdating]=\"true\"\r\n [useIcons]=\"true\">\r\n </dxo-editing>\r\n <dxi-column dataField=\"baseLine\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ItemCode' | abpLocalization}}\">\r\n <dxo-lookup style=\"width:100%;\"\r\n [dataSource]=\"lookupDataSourceItemCodes\"\r\n displayExpr=\"itemName\"\r\n valueExpr=\"lineNum\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNedeni\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.CauseOfWastage' | abpLocalization}}\">\r\n <dxo-lookup\r\n [dataSource]=\"lookupDataSourceCauseOfWastages\"\r\n displayExpr=\"name\"\r\n dataType=\"string\"\r\n valueExpr=\"id\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n dataType=\"string\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.QuantityOfWastage' | abpLocalization}}\">\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n <dxi-validation-rule\r\n type=\"numeric\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.DescOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"componentWastages && componentWastages.length && isWorkOrderNoValid\">\r\n <div>\r\n <h5>{{ 'UretimYonetimi::ComponentWastage.ComponentWastageRecords' | abpLocalization }}</h5>\r\n </div>\r\n <dx-data-grid #instanceComponentWastagesGrid\r\n [dataSource]=\"componentWastages\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\">\r\n <dxi-column dataField=\"docEntry\" [minWidth]=\"50\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DocEntry' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"itemName\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.ItemName' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"fireNedeniAdi\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.CauseOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.QuantityOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DescOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i7.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "component", type: i8.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "component", type: i8.DxButtonComponent, selector: "dx-button", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"], outputs: ["onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "iconChange", "rtlEnabledChange", "stylingModeChange", "tabIndexChange", "templateChange", "textChange", "typeChange", "useSubmitBehaviorChange", "validationGroupChange", "visibleChange", "widthChange"] }, { kind: "component", type: i8.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i7$1.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i7$1.DxoLookupComponent, selector: "dxo-lookup", inputs: ["allowClearing", "calculateCellValue", "dataSource", "displayExpr", "valueExpr"] }, { kind: "component", type: i7$1.DxiValidationRuleComponent, selector: "dxi-validation-rule", inputs: ["message", "trim", "type", "ignoreEmptyValue", "max", "min", "reevaluate", "validationCallback", "comparisonTarget", "comparisonType", "pattern"] }, { kind: "component", type: i7$1.DxoEditingComponent, selector: "dxo-editing", inputs: ["allowAdding", "allowDeleting", "allowUpdating", "changes", "confirmDelete", "editColumnName", "editRowKey", "form", "mode", "newRowPosition", "popup", "refreshMode", "selectTextOnEditStart", "startEditAction", "texts", "useIcons", "allowAddShape", "allowChangeConnection", "allowChangeConnectorPoints", "allowChangeConnectorText", "allowChangeShapeText", "allowDeleteConnector", "allowDeleteShape", "allowMoveShape", "allowResizeShape", "allowDependencyAdding", "allowDependencyDeleting", "allowResourceAdding", "allowResourceDeleting", "allowResourceUpdating", "allowTaskAdding", "allowTaskDeleting", "allowTaskResourceUpdating", "allowTaskUpdating", "enabled", "allowDragging", "allowResizing", "allowTimeZoneEditing"], outputs: ["changesChange", "editColumnNameChange", "editRowKeyChange"] }, { kind: "component", type: i8.DxNumberBoxComponent, selector: "dx-number-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "format", "height", "hint", "hoverStateEnabled", "inputAttr", "invalidValueMessage", "isValid", "label", "labelMode", "max", "min", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showSpinButtons", "step", "stylingMode", "tabIndex", "text", "useLargeSpinButtons", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formatChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "invalidValueMessageChange", "isValidChange", "labelChange", "labelModeChange", "maxChange", "minChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showSpinButtonsChange", "stepChange", "stylingModeChange", "tabIndexChange", "textChange", "useLargeSpinButtonsChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] });
2659
2837
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitComponentWastageComponent, decorators: [{
2660
2838
  type: Component,
2661
- args: [{ selector: 'lib-hit-component-wastage', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ComponentWastage.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isWorkOrderNoValid\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Save' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"workOrderNo\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isWorkOrderNoValid\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n <div class=\"mt-3\">\r\n <dx-data-grid #getComponentWastageLinesGrid\r\n [dataSource]=\"componentWastagePostDto.documentLines\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\">\r\n <dxo-editing\r\n mode=\"row\"\r\n [newRowPosition]=\"'last'\"\r\n [allowDeleting]=\"true\"\r\n [allowUpdating]=\"true\"\r\n [useIcons]=\"true\">\r\n </dxo-editing>\r\n <dxi-column dataField=\"baseLine\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ItemCode' | abpLocalization}}\">\r\n <dxo-lookup style=\"width:100%;\"\r\n [dataSource]=\"lookupDataSourceItemCodes\"\r\n displayExpr=\"itemName\"\r\n valueExpr=\"lineNum\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNedeni\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.CauseOfWastage' | abpLocalization}}\">\r\n <dxo-lookup\r\n [dataSource]=\"lookupDataSourceCauseOfWastages\"\r\n displayExpr=\"name\"\r\n dataType=\"string\"\r\n valueExpr=\"id\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n dataType=\"string\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.QuantityOfWastage' | abpLocalization}}\">\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n <dxi-validation-rule\r\n type=\"numeric\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.DescOfWastage' | abpLocalization}}\">\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"componentWastages && componentWastages.length && isWorkOrderNoValid\">\r\n <div>\r\n <h5>{{ 'UretimYonetimi::ComponentWastage.ComponentWastageRecords' | abpLocalization }}</h5>\r\n </div>\r\n <dx-data-grid #instanceComponentWastagesGrid\r\n [dataSource]=\"componentWastages\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\">\r\n <dxi-column dataField=\"docEntry\" [minWidth]=\"50\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DocEntry' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"itemName\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.ItemName' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"fireNedeniAdi\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.CauseOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.QuantityOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DescOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"] }]
2839
+ args: [{ selector: 'lib-hit-component-wastage', template: "<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row\">\r\n <h3 class=\"page-title\">\r\n {{ 'UretimYonetimi::ComponentWastage.Title' | abpLocalization }}\r\n </h3>\r\n </div>\r\n <div class=\"row text-lg-end pt-2\">\r\n <div class=\"col-8\">\r\n <button class=\"btn btn-success btn-sm\" type=\"button\" (click)=\"save()\"\r\n [disabled]=\"!isWorkOrderNoValid || isSaving\">\r\n <i class=\"fa fa-save me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Save' | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"col-4\">\r\n <button class=\"btn btn-warning btn-sm\" type=\"button\" (click)=\"clearAll()\"\r\n [disabled]=\"isLoading\">\r\n <i class=\"fa fa-broom me-1\"></i>\r\n {{ 'UretimYonetimi::ComponentWastage.Clean' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"card mt-2\">\r\n <div class=\"card-body\">\r\n <div style=\"display: flex; align-items: center;\">\r\n <dx-number-box #barkodNumarasiRef class=\"me-1\" style=\"width:100%;\" [min]=\"1\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.WorkOrderNo' | abpLocalization\"\r\n [(value)]=\"workOrderNo\" (onEnterKey)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-number-box>\r\n <dx-button style=\"margin-top: 7.5px;\" icon=\"search\" type=\"default\" (onClick)=\"getProductionOrder()\"\r\n [disabled]=\"searcheBasildiMi || isWorkOrderNoValid\">\r\n </dx-button>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"isWorkOrderNoValid\">\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ConveyorInformation' | abpLocalization\"\r\n [(value)]=\"productionOrder.u_Hat\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-text-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductDescription' | abpLocalization\"\r\n [(value)]=\"productionOrder.productDescription\"\r\n [disabled]=\"true\">\r\n </dx-text-box>\r\n <dx-number-box style=\"width:100%;\"\r\n [label]=\"'UretimYonetimi::ComponentWastage.ProductQuantity' | abpLocalization\"\r\n [(value)]=\"productionOrder.plannedQuantity\"\r\n [disabled]=\"true\">\r\n </dx-number-box>\r\n <div class=\"mt-3\">\r\n <dx-data-grid #getComponentWastageLinesGrid\r\n [dataSource]=\"componentWastagePostDto.documentLines\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\">\r\n <dxo-editing\r\n mode=\"row\"\r\n [newRowPosition]=\"'last'\"\r\n [allowDeleting]=\"true\"\r\n [allowUpdating]=\"true\"\r\n [useIcons]=\"true\">\r\n </dxo-editing>\r\n <dxi-column dataField=\"baseLine\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ItemCode' | abpLocalization}}\">\r\n <dxo-lookup style=\"width:100%;\"\r\n [dataSource]=\"lookupDataSourceItemCodes\"\r\n displayExpr=\"itemName\"\r\n valueExpr=\"lineNum\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNedeni\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.CauseOfWastage' | abpLocalization}}\">\r\n <dxo-lookup\r\n [dataSource]=\"lookupDataSourceCauseOfWastages\"\r\n displayExpr=\"name\"\r\n dataType=\"string\"\r\n valueExpr=\"id\">\r\n </dxo-lookup>\r\n <dxi-validation-rule\r\n type=\"required\"\r\n dataType=\"string\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.QuantityOfWastage' | abpLocalization}}\">\r\n <dxi-validation-rule\r\n type=\"required\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n <dxi-validation-rule\r\n type=\"numeric\"\r\n message=\"\">\r\n </dxi-validation-rule>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.DescOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n <div class=\"mt-3\" *ngIf=\"componentWastages && componentWastages.length && isWorkOrderNoValid\">\r\n <div>\r\n <h5>{{ 'UretimYonetimi::ComponentWastage.ComponentWastageRecords' | abpLocalization }}</h5>\r\n </div>\r\n <dx-data-grid #instanceComponentWastagesGrid\r\n [dataSource]=\"componentWastages\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [sorting]=\"{ mode: 'none' }\"\r\n [repaintChangesOnly]=\"true\"\r\n [rowAlternationEnabled]=\"true\">\r\n <dxi-column dataField=\"docEntry\" [minWidth]=\"50\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DocEntry' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"itemName\" [minWidth]=\"250\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.ItemName' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"fireNedeniAdi\" [minWidth]=\"125\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.CauseOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"quantity\"\r\n dataType=\"number\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.QuantityOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_FireNDesc\"\r\n dataType=\"string\"\r\n caption=\"{{'UretimYonetimi::ComponentWastage.ComponentWastageRecords.DescOfWastage' | abpLocalization}}\">\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n", styles: [":host{display:block}dx-number-box,dx-text-box{width:100%}dx-data-grid{width:100%}\n"] }]
2662
2840
  }], ctorParameters: function () { return [{ type: HitComponentWastageService }, { type: i3.ConfirmationService }, { type: i0.NgZone }, { type: HitProductionOrdersService }]; }, propDecorators: { nmbBoxBarkodNumarasi: [{
2663
2841
  type: ViewChild,
2664
2842
  args: ['barkodNumarasiRef', { static: false }]