@hitsoft/uretim-yonetimi 1.0.29 → 1.0.30

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
@@ -1969,12 +2009,15 @@ class HitFillingReceiptFromProductionComponent {
1969
2009
  }
1970
2010
  }
1971
2011
  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
- });
2012
+ debugger;
2013
+ if (!this.isEmriNo || !this.workOrderInfo || this.toplamMiktar <= 0 || this.isSaving) {
2014
+ if (!this.isSaving) {
2015
+ this.confirmation.warn('', 'Lütfen tüm alanları doldurun!', {
2016
+ hideYesBtn: true,
2017
+ cancelText: 'Kapat',
2018
+ dismissible: false,
2019
+ });
2020
+ }
1978
2021
  return;
1979
2022
  }
1980
2023
  // Check if completed quantity will exceed planned quantity
@@ -1996,6 +2039,7 @@ class HitFillingReceiptFromProductionComponent {
1996
2039
  batchNumber: '',
1997
2040
  componentsToConsume: this.prepareComponentsToConsume()
1998
2041
  };
2042
+ this.isSaving = true;
1999
2043
  this.isLoading = true;
2000
2044
  this.service.createReceipt(saveData).subscribe({
2001
2045
  next: response => {
@@ -2007,9 +2051,11 @@ class HitFillingReceiptFromProductionComponent {
2007
2051
  });
2008
2052
  this.clearAll();
2009
2053
  }
2054
+ this.isSaving = false;
2010
2055
  this.isLoading = false;
2011
2056
  },
2012
2057
  error: e => {
2058
+ this.isSaving = false;
2013
2059
  this.isLoading = false;
2014
2060
  },
2015
2061
  });
@@ -2027,16 +2073,13 @@ class HitFillingReceiptFromProductionComponent {
2027
2073
  const controlledLines = this.workOrderInfo.lines.filter(line => line.isControlled && line.batchNumber);
2028
2074
  // For YM/151* products, consume by lot from control screen
2029
2075
  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
- }
2076
+ components.push({
2077
+ itemCode: line.itemCode,
2078
+ quantity: line.issuedQty,
2079
+ warehouseCode: line.warehouse,
2080
+ batchNumber: line.batchNumber,
2081
+ baseLine: line.lineNum
2082
+ });
2040
2083
  }
2041
2084
  // For other components, use "Teyit sonrası otomatik çekme" logic
2042
2085
  // (This would be handled by the backend with FIFO for batch/serial items)
@@ -2049,13 +2092,15 @@ class HitFillingReceiptFromProductionComponent {
2049
2092
  this.paletTipi = 'TAM';
2050
2093
  this.koliAdet = null;
2051
2094
  this.toplamMiktar = 0;
2095
+ this.isSaving = false;
2052
2096
  this.focusOnIsEmriNo();
2053
2097
  }
2054
2098
  get isSaveButtonDisabled() {
2055
2099
  return !this.isEmriNo ||
2056
2100
  !this.workOrderInfo ||
2057
2101
  this.toplamMiktar <= 0 ||
2058
- (this.paletTipi === 'KISMI' && (!this.koliAdet || this.koliAdet <= 0));
2102
+ (this.paletTipi === 'KISMI' && (!this.koliAdet || this.koliAdet <= 0)) ||
2103
+ this.isSaving;
2059
2104
  }
2060
2105
  focusOnIsEmriNo() {
2061
2106
  this.ngZone.run(() => {
@@ -2173,6 +2218,14 @@ class HitBoilerYMProductWasteService {
2173
2218
  method: 'POST',
2174
2219
  url: `${this.resourceEndpoint}?docEntry=${input}`,
2175
2220
  }, { apiName: this.apiName });
2221
+ this.finishWorkOrderAndSaveWaste = (input) => this.restService.request({
2222
+ method: 'POST',
2223
+ url: `${this.resourceEndpoint}/finish-and-save-waste?docEntry=${input}`,
2224
+ }, { apiName: this.apiName });
2225
+ this.finishWorkOrderWithoutSavingWaste = (input) => this.restService.request({
2226
+ method: 'POST',
2227
+ url: `${this.resourceEndpoint}/finish-without-saving-waste?docEntry=${input}`,
2228
+ }, { apiName: this.apiName });
2176
2229
  this.resourceEndpoint = '/api/uretim-yonetimi/boiler-ym-product-waste';
2177
2230
  }
2178
2231
  }
@@ -2198,6 +2251,7 @@ class HitBoilerYMProductWasteComponent {
2198
2251
  dismissible: false,
2199
2252
  };
2200
2253
  this.isLoading = false;
2254
+ this.isSaving = false;
2201
2255
  this.isEmriBarkoduGecerliMi = false;
2202
2256
  this.searcheBasildiMi = false;
2203
2257
  this.boilerYMProductWastePostDto = new BoilerYMProductWastePostDto;
@@ -2261,34 +2315,46 @@ class HitBoilerYMProductWasteComponent {
2261
2315
  });
2262
2316
  }
2263
2317
  save() {
2264
- if (!this.isEmriBarkoduGecerliMi || !this.productionOrder) {
2318
+ if (!this.isEmriBarkoduGecerliMi || !this.productionOrder || this.isSaving) {
2265
2319
  this.focusWorkOrder();
2266
2320
  return;
2267
2321
  }
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
- },
2322
+ this.confirmation.warn('', 'Fire kaydını yapmak istediğinizden emin misiniz?', {
2323
+ yesText: 'Evet',
2324
+ cancelText: 'Hayır'
2325
+ }).subscribe((status) => {
2326
+ if (status !== Confirmation.Status.confirm) {
2327
+ return;
2328
+ }
2329
+ this.isSaving = true;
2330
+ this.isLoading = true;
2331
+ this.service.create(this.productionOrder.absoluteEntry).subscribe({
2332
+ next: (response) => {
2333
+ if (response?.isSuccessful) {
2334
+ this.confirmation
2335
+ .success('', 'İşlem başarıyla tamamlandı.', this.options)
2336
+ .subscribe(() => this.clearAll());
2337
+ }
2338
+ else {
2339
+ const message = response?.errors?.length
2340
+ ? response.errors.join('\n')
2341
+ : 'Fire işlemi sırasında bir hata oluştu.';
2342
+ this.showError(message);
2343
+ }
2344
+ },
2345
+ error: (error) => {
2346
+ this.isSaving = false;
2347
+ this.isLoading = false;
2348
+ },
2349
+ complete: () => {
2350
+ this.clearAll();
2351
+ },
2352
+ });
2288
2353
  });
2289
2354
  }
2290
2355
  clearAll() {
2291
2356
  this.isLoading = false;
2357
+ this.isSaving = false;
2292
2358
  this.isEmriBarkoduGecerliMi = false;
2293
2359
  this.searcheBasildiMi = false;
2294
2360
  this.isEmriBarkodu = null;
@@ -2312,12 +2378,99 @@ class HitBoilerYMProductWasteComponent {
2312
2378
  this.confirmation.error('', message, this.options);
2313
2379
  notify({ message, type: 'error' });
2314
2380
  }
2381
+ finishWorkOrderAndSaveWaste() {
2382
+ debugger;
2383
+ if (!this.isEmriBarkoduGecerliMi || !this.productionOrder || this.isSaving) {
2384
+ this.focusWorkOrder();
2385
+ return;
2386
+ }
2387
+ this.confirmation.warn('', 'İş emrini bitirmek ve fireyi kaydetmek istediğinizden emin misiniz?', {
2388
+ yesText: 'Evet',
2389
+ cancelText: 'Hayır'
2390
+ }).subscribe((status) => {
2391
+ if (status !== Confirmation.Status.confirm) {
2392
+ return;
2393
+ }
2394
+ this.isSaving = true;
2395
+ this.isLoading = true;
2396
+ this.service.finishWorkOrderAndSaveWaste(this.productionOrder.absoluteEntry).subscribe({
2397
+ next: (response) => {
2398
+ debugger;
2399
+ if (response?.isSuccessful) {
2400
+ this.confirmation
2401
+ .success('', 'İş emri bitirildi ve fire kaydedildi.', this.options)
2402
+ .subscribe(() => this.clearAll());
2403
+ }
2404
+ else {
2405
+ const message = response?.errors?.length
2406
+ ? response.errors.join('\n')
2407
+ : 'İş emri bitirme işlemi sırasında bir hata oluştu.';
2408
+ this.showError(message);
2409
+ this.isSaving = false;
2410
+ this.isLoading = false;
2411
+ }
2412
+ },
2413
+ error: (error) => {
2414
+ debugger;
2415
+ let message = error.error.error.message;
2416
+ message = message.length
2417
+ ? message
2418
+ : 'İş emri bitirme işlemi sırasında bir hata oluştu.';
2419
+ this.isSaving = false;
2420
+ this.isLoading = false;
2421
+ this.showError(message);
2422
+ },
2423
+ complete: () => {
2424
+ this.clearAll();
2425
+ },
2426
+ });
2427
+ });
2428
+ }
2429
+ finishWorkOrderWithoutSavingWaste() {
2430
+ if (!this.isEmriBarkoduGecerliMi || !this.productionOrder || this.isSaving) {
2431
+ this.focusWorkOrder();
2432
+ return;
2433
+ }
2434
+ this.confirmation.warn('', 'İş emrini bitirmek istediğinizden emin misiniz? (Fire kaydedilmeyecek)', {
2435
+ yesText: 'Evet',
2436
+ cancelText: 'Hayır'
2437
+ }).subscribe((status) => {
2438
+ if (status !== Confirmation.Status.confirm) {
2439
+ return;
2440
+ }
2441
+ this.isSaving = true;
2442
+ this.isLoading = true;
2443
+ this.service.finishWorkOrderWithoutSavingWaste(this.productionOrder.absoluteEntry).subscribe({
2444
+ next: (response) => {
2445
+ if (response?.isSuccessful) {
2446
+ this.confirmation
2447
+ .success('', 'İş emri bitirildi.', this.options)
2448
+ .subscribe(() => this.clearAll());
2449
+ }
2450
+ else {
2451
+ const message = response?.errors?.length
2452
+ ? response.errors.join('\n')
2453
+ : 'İş emri bitirme işlemi sırasında bir hata oluştu.';
2454
+ this.showError(message);
2455
+ }
2456
+ },
2457
+ error: (error) => {
2458
+ this.showError('İş emri bitirme işlemi sırasında bir hata oluştu.');
2459
+ this.isSaving = false;
2460
+ this.isLoading = false;
2461
+ },
2462
+ complete: () => {
2463
+ this.clearAll();
2464
+ },
2465
+ });
2466
+ });
2467
+ }
2315
2468
  }
2316
2469
  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" }] });
2470
+ 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 {{ 'UretimYonetimi::BoilerYMProductWaste.Save' | abpLocalization }}\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
2471
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitBoilerYMProductWasteComponent, decorators: [{
2319
2472
  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"] }]
2473
+ 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 {{ 'UretimYonetimi::BoilerYMProductWaste.Save' | abpLocalization }}\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
2474
  }], ctorParameters: function () { return [{ type: HitBoilerYMProductWasteService }, { type: i3.ConfirmationService }, { type: i0.NgZone }, { type: HitProductionOrdersService }, { type: HitFillingControlService }]; }, propDecorators: { nmbBoxBarkodNumarasi: [{
2322
2475
  type: ViewChild,
2323
2476
  args: ['barkodNumarasiRef', { static: false }]
@@ -2456,6 +2609,7 @@ class HitComponentWastageComponent {
2456
2609
  dismissible: false,
2457
2610
  };
2458
2611
  this.isLoading = false;
2612
+ this.isSaving = false;
2459
2613
  this.isWorkOrderNoValid = false;
2460
2614
  this.searcheBasildiMi = false;
2461
2615
  this.componentWastagePostDto = new ComponentWastagePostDto;
@@ -2599,10 +2753,11 @@ class HitComponentWastageComponent {
2599
2753
  });
2600
2754
  }
2601
2755
  save() {
2602
- if (!this.isWorkOrderNoValid || !this.componentWastagePostDto) {
2756
+ if (!this.isWorkOrderNoValid || !this.componentWastagePostDto || this.isSaving) {
2603
2757
  this.focusWorkOrder();
2604
2758
  return;
2605
2759
  }
2760
+ this.isSaving = true;
2606
2761
  this.isLoading = true;
2607
2762
  this.componentWastagePostDto.documentLines.forEach(line => {
2608
2763
  line.baseEntry = this.productionOrder.absoluteEntry;
@@ -2622,6 +2777,8 @@ class HitComponentWastageComponent {
2622
2777
  }
2623
2778
  },
2624
2779
  error: (error) => {
2780
+ this.isSaving = false;
2781
+ this.isLoading = false;
2625
2782
  },
2626
2783
  complete: () => {
2627
2784
  this.clearAll();
@@ -2634,6 +2791,7 @@ class HitComponentWastageComponent {
2634
2791
  this.workOrderNo = null;
2635
2792
  this.productionOrder = null;
2636
2793
  this.componentWastagePostDto = new ComponentWastagePostDto;
2794
+ this.isSaving = false;
2637
2795
  this.isLoading = false;
2638
2796
  this.lookupDataSourceItemCodes = {};
2639
2797
  this.ngZone.run(() => {
@@ -2655,10 +2813,10 @@ class HitComponentWastageComponent {
2655
2813
  }
2656
2814
  }
2657
2815
  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" }] });
2816
+ 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
2817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitComponentWastageComponent, decorators: [{
2660
2818
  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"] }]
2819
+ 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
2820
  }], ctorParameters: function () { return [{ type: HitComponentWastageService }, { type: i3.ConfirmationService }, { type: i0.NgZone }, { type: HitProductionOrdersService }]; }, propDecorators: { nmbBoxBarkodNumarasi: [{
2663
2821
  type: ViewChild,
2664
2822
  args: ['barkodNumarasiRef', { static: false }]