@hitsoft/abp.kadooglu 1.0.3 → 1.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"hitsoft-abp.kadooglu.mjs","sources":["../../../projects/kadooglu/src/lib/services/kadooglu.service.ts","../../../projects/kadooglu/src/lib/components/kadooglu.component.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-factory-entry/hit-factory-entry.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-vehicle-type/hit-vehicle-type.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-carrier-person/hit-carrier-person.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-plate/hit-plate.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-business-partner/hit-business-partner.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-user-gate/hit-user-gate.service.ts","../../../projects/kadooglu/src/lib/shared/hit-modal/hit-modal.component.ts","../../../projects/kadooglu/src/lib/shared/hit-modal/hit-modal.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-routing.module.ts","../../../projects/kadooglu/src/lib/shared/hit-modal/hit-ui.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry.module.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-scale/hit-scale.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-item/hit-item.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-gate/hit-gate.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing.module.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-warehouse/hit-warehouse.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-list/hit-vehicle-type-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-list/hit-vehicle-type-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-form/hit-scale-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-form/hit-scale-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-list/hit-scale-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-list/hit-scale-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-form/hit-gate-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-form/hit-gate-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-list/hit-gate-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-list/hit-gate-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-list/hit-carrier-person-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-list/hit-carrier-person-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-form/hit-plate-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-form/hit-plate-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-list/hit-plate-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-list/hit-plate-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate.module.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-list/hit-knt-item-esl-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-list/hit-knt-item-esl-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl.module.ts","../../../projects/kadooglu/src/lib/kadooglu-routing.module.ts","../../../projects/kadooglu/src/lib/kadooglu.module.ts","../../../projects/kadooglu/src/public-api.ts","../../../projects/kadooglu/src/hitsoft-abp.kadooglu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { RestService } from '@abp/ng.core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KadoogluService {\n apiName = 'Kadooglu';\n\n constructor(private restService: RestService) {}\n\n sample() {\n return this.restService.request<void, any>(\n { method: 'GET', url: '/api/Kadooglu/sample' },\n { apiName: this.apiName }\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { KadoogluService } from '../services/kadooglu.service';\n\n@Component({\n selector: 'lib-kadooglu',\n template: ` <p>kadooglu works!</p> `,\n styles: [],\n})\nexport class KadoogluComponent implements OnInit {\n constructor(private service: KadoogluService) {}\n\n ngOnInit(): void {\n this.service.sample().subscribe(console.log);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiResponse } from '../models';\r\nimport {\r\n FactoryEntry,\r\n SaveFactoryEntryDto,\r\n} from './models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitFactoryEntryService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/factory-entries';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<FactoryEntry[]> {\r\n const defaultParams = { maxResultCount: 100, skipCount: 0, ...params };\r\n return this.restService.request<void, ApiResponse<FactoryEntry[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(r => r?.items ?? [])\r\n );\r\n }\r\n\r\n get(id: string): Observable<FactoryEntry> {\r\n return this.restService.request<void, ApiResponse<FactoryEntry>>(\r\n { method: 'GET', url: `${this.baseUrl}/${id}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveFactoryEntryDto): Observable<FactoryEntry> {\r\n return this.restService.request<SaveFactoryEntryDto, ApiResponse<FactoryEntry>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(id: string, body: SaveFactoryEntryDto): Observable<FactoryEntry> {\r\n return this.restService.request<SaveFactoryEntryDto, ApiResponse<FactoryEntry>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${id}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(id: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${id}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n\r\n checkout(docEntry: number): Observable<FactoryEntry> {\r\n return this.restService.request<void, ApiResponse<FactoryEntry>>(\r\n { method: 'POST', url: `${this.baseUrl}/${docEntry}/checkout` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { VehicleType, SaveVehicleTypeDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitVehicleTypeService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/vehicle-types';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<VehicleType[]> {\r\n return this.restService.request<void, ApiResponse<VehicleType[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<VehicleType> {\r\n return this.restService.request<void, ApiResponse<VehicleType>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveVehicleTypeDto): Observable<VehicleType> {\r\n return this.restService.request<SaveVehicleTypeDto, ApiResponse<VehicleType>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: SaveVehicleTypeDto): Observable<VehicleType> {\r\n return this.restService.request<SaveVehicleTypeDto, ApiResponse<VehicleType>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { CarrierPerson, SaveCarrierPersonDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitCarrierPersonService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/carrierpersons';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<CarrierPerson[]> {\r\n return this.restService.request<void, ApiResponse<CarrierPerson[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? []));\r\n }\r\n\r\n get(code: string): Observable<CarrierPerson> {\r\n return this.restService.request<void, ApiResponse<CarrierPerson>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveCarrierPersonDto): Observable<CarrierPerson> {\r\n return this.restService.request<SaveCarrierPersonDto, ApiResponse<CarrierPerson>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveCarrierPersonDto>): Observable<CarrierPerson> {\r\n return this.restService.request<Partial<SaveCarrierPersonDto>, ApiResponse<CarrierPerson>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Plate, SavePlateDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitPlateService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/plates';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Plate[]> {\r\n return this.restService.request<void, ApiResponse<Plate[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<Plate> {\r\n return this.restService.request<void, ApiResponse<Plate>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SavePlateDto): Observable<Plate> {\r\n return this.restService.request<SavePlateDto, ApiResponse<Plate>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SavePlateDto>): Observable<Plate> {\r\n return this.restService.request<Partial<SavePlateDto>, ApiResponse<Plate>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { BusinessPartner } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitBusinessPartnerService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/business-partners';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<BusinessPartner[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<BusinessPartner[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { UserGateItem } from './models';\r\nimport { Gate } from '../hit-gate/models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitUserGateService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/user-gates';\r\n gateBaseUrl = '/api/entegration-service/gates';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getByGateCode(gateCode: string): Observable<UserGateItem[]> {\r\n return this.restService.request<void, ApiResponse<UserGateItem[]>>(\r\n { method: 'GET', url: this.baseUrl, params: { gateCode } },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? []));\r\n }\r\n\r\n getMyGates(): Observable<Gate[]> {\r\n return this.restService.request<void, ApiResponse<Gate[]>>(\r\n { method: 'GET', url: `${this.gateBaseUrl}/my-gates` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? []));\r\n }\r\n\r\n getMyDefaultGateCode(): Observable<string | null> {\r\n return this.restService.request<void, ApiResponse<string>>(\r\n { method: 'GET', url: `${this.baseUrl}/my-default-gate` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? null));\r\n }\r\n\r\n saveGateUsers(gateCode: string, users: UserGateItem[]): Observable<boolean> {\r\n return this.restService.request<UserGateItem[], ApiResponse<boolean>>(\r\n { method: 'POST', url: `${this.baseUrl}/gate/${gateCode}`, body: users },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? false));\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'hit-lookup-select',\r\n templateUrl: './hit-modal.component.html',\r\n styleUrls: ['./hit-modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HitModalComponent {\r\n @ViewChild('dxdataInstance', { static: false }) dxdataInstance: DxDataGridComponent;\r\n\r\n @Input() displayName = '';\r\n @Input() keyExpr = 'code';\r\n @Input() modalSize = 'xl';\r\n /** Data array that will be shown in the lookup modal grid (eager / pre-loaded). */\r\n @Input() getFn: any[] = [];\r\n /** Function returning Observable — called lazily when the modal opens. */\r\n @Input() loadFn: (() => Observable<any[]>) | null = null;\r\n @Input() columns: any[] = [];\r\n @Input() isVisible = true;\r\n @Input() disabled = false;\r\n @Input() readOnly = false;\r\n\r\n /** Pre-populate display text (e.g. in edit mode). Setter ensures reactive updates. */\r\n @Input()\r\n set editingData(val: any) {\r\n if (val === null || val === undefined) {\r\n this.textDisplay = '';\r\n return;\r\n }\r\n if (typeof val === 'string') {\r\n this.textDisplay = val;\r\n } else if (this.displayName && val[this.displayName] !== undefined) {\r\n this.textDisplay = val[this.displayName];\r\n }\r\n }\r\n\r\n @Output() selected = new EventEmitter<any>();\r\n\r\n data: any[] = [];\r\n openModal = false;\r\n isLoading = false;\r\n textDisplay = '';\r\n\r\n clickForOpenModal(): void {\r\n this.openModal = true;\r\n if (this.loadFn) {\r\n this.isLoading = true;\r\n this.data = [];\r\n this.loadFn().subscribe({\r\n next: (result) => {\r\n this.data = result;\r\n this.isLoading = false;\r\n },\r\n error: () => {\r\n this.data = [];\r\n this.isLoading = false;\r\n },\r\n });\r\n } else {\r\n this.data = this.getFn;\r\n }\r\n }\r\n\r\n setTitle(): void {\r\n this.openModal = false;\r\n const selectedData = this.dxdataInstance?.instance.getSelectedRowsData() ?? [];\r\n const selectedKeys = this.dxdataInstance?.instance.getSelectedRowKeys() ?? [];\r\n if (selectedKeys.length > 0) {\r\n this.textDisplay = selectedData[0]?.[this.displayName] ?? '';\r\n this.selected.emit(selectedData[0]);\r\n }\r\n }\r\n\r\n setTitleOnDoubleClick(e: any): void {\r\n this.openModal = false;\r\n if (e?.data) {\r\n this.textDisplay = e.data[this.displayName] ?? '';\r\n this.selected.emit(e.data);\r\n }\r\n }\r\n\r\n clearValue(): void {\r\n this.textDisplay = '';\r\n this.selected.emit(null);\r\n }\r\n}\r\n","<div class=\"hit-lookup-group\">\r\n <dx-text-box\r\n [ngModel]=\"textDisplay\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n maxlength=\"64\">\r\n </dx-text-box>\r\n <div class=\"hit-lookup-actions\" *ngIf=\"isVisible && !readOnly\">\r\n <button\r\n class=\"hit-lookup-btn hit-lookup-btn-clear\"\r\n type=\"button\"\r\n *ngIf=\"textDisplay\"\r\n (click)=\"clearValue()\"\r\n [disabled]=\"disabled\"\r\n title=\"Temizle\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <button\r\n class=\"hit-lookup-btn\"\r\n type=\"button\"\r\n (click)=\"clickForOpenModal()\"\r\n [disabled]=\"disabled\"\r\n title=\"Ara\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"openModal\" [options]=\"{ size: modalSize }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'AbpUi::Search' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <!-- Loading overlay -->\r\n <div *ngIf=\"isLoading\" class=\"d-flex flex-column align-items-center justify-content-center\" style=\"height: 55vh;\">\r\n <div class=\"spinner-border text-primary mb-3\" style=\"width: 3rem; height: 3rem;\" role=\"status\">\r\n <span class=\"visually-hidden\">Yükleniyor...</span>\r\n </div>\r\n <span class=\"text-muted\">Veriler yükleniyor...</span>\r\n </div>\r\n <dx-data-grid\r\n *ngIf=\"!isLoading\"\r\n #dxdataInstance\r\n [columns]=\"columns\"\r\n [dataSource]=\"data\"\r\n [keyExpr]=\"keyExpr\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [focusedRowEnabled]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n style=\"height: 55vh;\"\r\n (onRowDblClick)=\"setTitleOnDoubleClick($event)\">\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[50, 100, 200]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"50\"></dxo-paging>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection mode=\"single\"></dxo-selection>\r\n </dx-data-grid>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"button\" (click)=\"setTitle()\">\r\n {{ 'AbpUi::Select' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';\r\nimport {ConfirmationService} from '@abp/ng.theme.shared';\r\nimport {LocalizationService} from '@abp/ng.core';\r\nimport {HitFactoryEntryService} from '../../../hit-proxy/hit-factory-entry/hit-factory-entry.service';\r\nimport {HitVehicleTypeService} from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\nimport {VehicleType} from '../../../hit-proxy/hit-vehicle-type/models';\r\nimport {Plate} from '../../../hit-proxy/hit-plate/models';\r\nimport {CarrierPerson} from '../../../hit-proxy/hit-carrier-person/models';\r\nimport {HitCarrierPersonService} from '../../../hit-proxy/hit-carrier-person/hit-carrier-person.service';\r\nimport {HitPlateService} from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport {FactoryEntry, SaveFactoryEntryDto} from \"../../../hit-proxy/hit-factory-entry/models\";\r\nimport {HitBusinessPartnerService} from '../../../hit-proxy/hit-business-partner/hit-business-partner.service';\r\nimport {BusinessPartner} from '../../../hit-proxy/hit-business-partner/models';\r\nimport {HitUserGateService} from '../../../hit-proxy/hit-user-gate/hit-user-gate.service';\r\nimport {Gate} from '../../../hit-proxy/hit-gate/models';\r\nimport {map} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'lib-hit-factory-entry-form',\r\n templateUrl: './hit-factory-entry-form.component.html',\r\n})\r\nexport class HitFactoryEntryFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: FactoryEntry | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n // Lookup data arrays for modals\r\n typeData: VehicleType[] = [];\r\n carrierData: CarrierPerson[] = [];\r\n\r\n // Lazy loaders for plate lookups — filtered by u_IsTrailer\r\n loadVehiclePlates = () => this.plateService.getList().pipe(\r\n map(plates => plates.filter(p => p.u_IsTrailer !== 'Y'))\r\n );\r\n loadTrailerPlates = () => this.plateService.getList().pipe(\r\n map(plates => plates.filter(p => p.u_IsTrailer === 'Y'))\r\n );\r\n gateData: Gate[] = [];\r\n defaultGateCode = '';\r\n\r\n // Column configs for lookup modals\r\n typeColumns = [\r\n {dataField: 'code', caption: 'Kod', width: 100},\r\n {dataField: 'name', caption: 'Ad'},\r\n ];\r\n plateColumns = [\r\n {dataField: 'code', caption: 'Plaka', width: 100},\r\n {dataField: 'name', caption: 'Name'},\r\n ];\r\n carrierColumns = [\r\n {dataField: 'code', caption: 'T.C. Kimlik No', width: 140},\r\n {dataField: 'name', caption: 'Ad Soyad'},\r\n ];\r\n businessPartnerColumns = [\r\n {dataField: 'cardCode', caption: 'Cari Kod', width: 120},\r\n {dataField: 'cardName', caption: 'Cari Unvan'},\r\n ];\r\n\r\n // Form fields\r\n gateCode = '';\r\n entryDateTime: Date | null = null;\r\n exitDateTime: Date | null = null;\r\n selectedTypeCode = '';\r\n selectedTypeName = '';\r\n selectedPlateNo = '';\r\n tcNo = '';\r\n selectedCarrierName = '';\r\n businessPartnerData: BusinessPartner[] = [];\r\n selectedBusinessPartnerCode = '';\r\n selectedBusinessPartnerName = '';\r\n description = '';\r\n\r\n // Plate input mode\r\n plateInputMode: 'lookup' | 'manual' = 'lookup';\r\n manualPlateNo = '';\r\n\r\n // Trailer plate\r\n trailerPlateInputMode: 'lookup' | 'manual' = 'lookup';\r\n selectedTrailerPlateNo = '';\r\n manualTrailerPlateNo = '';\r\n\r\n // Carrier TC mode\r\n tcLookupMode = false;\r\n isTcQuerying = false;\r\n isNewCarrier = false;\r\n\r\n // New carrier fields\r\n newCarrierFirstname = '';\r\n newCarrierLastname = '';\r\n newCarrierTel = '';\r\n\r\n isTcCitizen = true;\r\n isLoading = false;\r\n\r\n constructor(\r\n private confirmation: ConfirmationService,\r\n private service: HitFactoryEntryService,\r\n private carrierPersonService: HitCarrierPersonService,\r\n private plateService: HitPlateService,\r\n private vehicleTypeService: HitVehicleTypeService,\r\n private businessPartnerService: HitBusinessPartnerService,\r\n private userGateService: HitUserGateService,\r\n private localizationService: LocalizationService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.vehicleTypeService.getList().subscribe(d => (this.typeData = d));\r\n this.carrierPersonService.getList().subscribe(d => (this.carrierData = d));\r\n this.businessPartnerService.getList().subscribe(d => (this.businessPartnerData = d));\r\n this.userGateService.getMyGates().subscribe(d => (this.gateData = d));\r\n this.userGateService.getMyDefaultGateCode().subscribe(d => (this.defaultGateCode = d ?? ''));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n this.isTcCitizen = true;\r\n this.plateInputMode = 'lookup';\r\n this.manualPlateNo = '';\r\n this.trailerPlateInputMode = 'lookup';\r\n this.selectedTrailerPlateNo = '';\r\n this.manualTrailerPlateNo = '';\r\n this.tcLookupMode = false;\r\n this.isNewCarrier = false;\r\n this.newCarrierFirstname = '';\r\n this.newCarrierLastname = '';\r\n this.newCarrierTel = '';\r\n\r\n if (this.record) {\r\n this.gateCode = this.record.u_GateCode ?? '';\r\n this.entryDateTime = this.buildDateTime(this.record.u_EntryDate, this.record.u_EntryTime);\r\n this.exitDateTime = this.buildDateTime(this.record.u_ExitDate, this.record.u_ExitTime);\r\n this.selectedTypeCode = this.record.u_EntryType;\r\n this.selectedTypeName = this.record.u_EntryType;\r\n this.selectedPlateNo = this.formatPlate(this.record.u_Plate);\r\n this.selectedTrailerPlateNo = this.formatPlate(this.record.u_DorsePlate ?? '');\r\n this.tcNo = this.record.u_TcNo;\r\n this.selectedCarrierName = this.record.u_Driver;\r\n this.description = this.record.u_Description;\r\n this.selectedBusinessPartnerCode = this.record.u_CardCode ?? '';\r\n this.selectedBusinessPartnerName = this.businessPartnerData.find(p => p.cardCode === this.record.u_CardCode)?.cardName ?? this.record.u_CardCode ?? '';\r\n } else {\r\n this.gateCode = this.defaultGateCode;\r\n this.entryDateTime = new Date();\r\n this.exitDateTime = null;\r\n this.selectedTypeCode = '';\r\n this.selectedTypeName = '';\r\n this.selectedPlateNo = '';\r\n this.tcNo = '';\r\n this.selectedCarrierName = '';\r\n this.description = '';\r\n this.selectedBusinessPartnerCode = '';\r\n this.selectedBusinessPartnerName = '';\r\n }\r\n }\r\n\r\n private buildDateTime(dateStr?: string, timeNum?: number): Date | null {\r\n if (!dateStr) return null;\r\n const d = new Date(dateStr);\r\n if (timeNum != null) {\r\n d.setHours(Math.floor(timeNum / 100), timeNum % 100, 0, 0);\r\n }\r\n return d;\r\n }\r\n\r\n onTypeSelected(e: VehicleType): void {\r\n if (!e) return;\r\n this.selectedTypeCode = e.code;\r\n this.selectedTypeName = e.name;\r\n }\r\n\r\n onPlateSelected(e: Plate): void {\r\n if (!e) return;\r\n this.selectedPlateNo = this.formatPlate(e.code);\r\n }\r\n\r\n onTrailerPlateSelected(e: Plate): void {\r\n if (!e) return;\r\n this.selectedTrailerPlateNo = this.formatPlate(e.code);\r\n }\r\n\r\n onManualPlateFocusOut(): void {\r\n this.manualPlateNo = this.formatPlate(this.manualPlateNo);\r\n }\r\n\r\n onManualTrailerPlateFocusOut(): void {\r\n this.manualTrailerPlateNo = this.formatPlate(this.manualTrailerPlateNo);\r\n }\r\n\r\n /** Türk plakasını \"34 HMA 001\" formatına dönüştürür */\r\n formatPlate(value: string): string {\r\n if (!value) return value;\r\n const raw = value.replace(/[^A-Za-z0-9ÇĞİÖŞÜçğıöşü]/g, '').toUpperCase();\r\n const match = raw.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n if (match) {\r\n return `${match[1]} ${match[2]} ${match[3]}`;\r\n }\r\n return value.trim().toUpperCase();\r\n }\r\n\r\n onCarrierLookupSelected(e: CarrierPerson): void {\r\n if (!e) return;\r\n this.selectedCarrierName = e.name;\r\n this.tcNo = e.code;\r\n this.isNewCarrier = false;\r\n this.tcLookupMode = false;\r\n }\r\n\r\n onBusinessPartnerSelected(e: BusinessPartner): void {\r\n if (!e) {\r\n this.selectedBusinessPartnerCode = '';\r\n this.selectedBusinessPartnerName = '';\r\n return;\r\n }\r\n this.selectedBusinessPartnerCode = e.cardCode;\r\n this.selectedBusinessPartnerName = e.cardName;\r\n }\r\n\r\n queryCarrierByTcNo(): void {\r\n const tc = this.tcNo?.trim();\r\n if (!tc) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::PleaseEnterTcNo'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n this.isTcQuerying = true;\r\n this.carrierPersonService.get(tc).subscribe({\r\n next: (carrier) => {\r\n this.isTcQuerying = false;\r\n if (carrier) {\r\n this.selectedCarrierName = carrier.name;\r\n this.isNewCarrier = false;\r\n } else {\r\n this.selectedCarrierName = '';\r\n this.isNewCarrier = true;\r\n this.newCarrierFirstname = '';\r\n this.newCarrierLastname = '';\r\n this.newCarrierTel = '';\r\n }\r\n },\r\n error: () => {\r\n this.isTcQuerying = false;\r\n this.isNewCarrier = true;\r\n this.newCarrierFirstname = '';\r\n this.newCarrierLastname = '';\r\n this.newCarrierTel = '';\r\n },\r\n });\r\n }\r\n\r\n save(): void {\r\n const effectivePlateNo = this.formatPlate(\r\n this.plateInputMode === 'manual'\r\n ? this.manualPlateNo.trim().toUpperCase()\r\n : this.selectedPlateNo\r\n );\r\n\r\n const effectiveTrailerPlateNo = this.formatPlate(\r\n this.trailerPlateInputMode === 'manual'\r\n ? this.manualTrailerPlateNo.trim().toUpperCase()\r\n : this.selectedTrailerPlateNo\r\n );\r\n\r\n if (!this.selectedTypeCode || !effectivePlateNo || !this.tcNo?.trim()) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::FillRequiredFields'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.isTcCitizen && !this.validateTCKN(this.tcNo)) {\r\n this.confirmation.warn('Geçersiz T.C. Kimlik No. Lütfen 11 haneli, geçerli bir TCKN giriniz.', '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.isNewCarrier && (!this.newCarrierFirstname?.trim() || !this.newCarrierLastname?.trim())) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::EnterNewDriverName'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveFactoryEntryDto = {\r\n u_GateCode: this.gateCode,\r\n u_EntryDate: this.entryDateTime\r\n ? this.entryDateTime.toISOString().split('T')[0]\r\n : undefined,\r\n u_EntryTime: this.entryDateTime\r\n ? this.entryDateTime.getHours() * 100 + this.entryDateTime.getMinutes()\r\n : undefined,\r\n u_ExitDate: this.exitDateTime\r\n ? this.exitDateTime.toISOString().split('T')[0]\r\n : undefined,\r\n u_ExitTime: this.exitDateTime\r\n ? this.exitDateTime.getHours() * 100 + this.exitDateTime.getMinutes()\r\n : undefined,\r\n u_EntryType: this.selectedTypeCode,\r\n u_Plate: effectivePlateNo,\r\n u_DorsePlate: effectiveTrailerPlateNo || undefined,\r\n u_TcNo: this.tcNo.trim(),\r\n u_Driver: this.isNewCarrier\r\n ? `${this.newCarrierFirstname.trim()} ${this.newCarrierLastname.trim()}`\r\n : undefined,\r\n u_DriverFirstname: this.isNewCarrier ? this.newCarrierFirstname.trim() : undefined,\r\n u_DriverLastname: this.isNewCarrier ? this.newCarrierLastname.trim() : undefined,\r\n u_DriverTel: this.isNewCarrier ? (this.newCarrierTel.trim() || undefined) : undefined,\r\n u_CardCode: this.selectedBusinessPartnerCode,\r\n u_Description: this.description,\r\n };\r\n\r\n const doSave = () => {\r\n const obs$ = this.record?.docEntry\r\n ? this.service.update(this.record.docEntry.toString(), dto)\r\n : this.service.create(dto);\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n };\r\n\r\n const isManual = this.plateInputMode === 'manual' ||\r\n (this.trailerPlateInputMode === 'manual' && !!effectiveTrailerPlateNo);\r\n\r\n if (isManual) {\r\n this.isLoading = true;\r\n this.plateService.getList().subscribe(plates => {\r\n this.isLoading = false;\r\n\r\n // Manuel plaka duplicate kontrolü\r\n if (this.plateInputMode === 'manual') {\r\n const duplicate = plates.find(\r\n p => p.code.trim().toUpperCase() === effectivePlateNo\r\n );\r\n if (duplicate) {\r\n this.confirmation.warn(\r\n this.localizationService.instant('Kadooglu::PlateAlreadyExists', effectivePlateNo),\r\n '',\r\n {hideYesBtn: true, cancelText: this.localizationService.instant('Kadooglu::Cancel'), dismissible: false}\r\n );\r\n this.plateInputMode = 'lookup';\r\n this.selectedPlateNo = duplicate.code;\r\n return;\r\n }\r\n }\r\n\r\n // Manuel dorse plaka duplicate kontrolü\r\n if (this.trailerPlateInputMode === 'manual' && effectiveTrailerPlateNo) {\r\n const trailerDuplicate = plates.find(\r\n p => p.code.trim().toUpperCase() === effectiveTrailerPlateNo\r\n );\r\n if (trailerDuplicate) {\r\n this.confirmation.warn(\r\n this.localizationService.instant('Kadooglu::PlateAlreadyExists', effectiveTrailerPlateNo),\r\n '',\r\n {hideYesBtn: true, cancelText: this.localizationService.instant('Kadooglu::Cancel'), dismissible: false}\r\n );\r\n this.trailerPlateInputMode = 'lookup';\r\n this.selectedTrailerPlateNo = trailerDuplicate.code;\r\n return;\r\n }\r\n }\r\n\r\n doSave();\r\n });\r\n } else {\r\n doSave();\r\n }\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n\r\n private validateTCKN(value: string): boolean {\r\n const tc = value?.trim();\r\n if (!tc || tc.length !== 11) return false;\r\n if (!/^\\d{11}$/.test(tc)) return false;\r\n if (tc[0] === '0') return false;\r\n const d = tc.split('').map(Number);\r\n const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;\r\n if (d10 !== d[9]) return false;\r\n const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;\r\n return d11 === d[10];\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.docEntry ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n\r\n <!-- Giriş / Çıkış Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-clock me-2\"></i>{{ 'Kadooglu::EntryExitInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [showClearButton]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Gate' | abpLocalization }}</label>\r\n <dx-select-box\r\n [(value)]=\"gateCode\"\r\n [dataSource]=\"gateData\"\r\n displayExpr=\"name\"\r\n valueExpr=\"code\"\r\n [placeholder]=\"'Kadooglu::SelectGate' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Araç Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n Araç Hareket Türü <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"typeData\"\r\n [columns]=\"typeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedTypeName\"\r\n (selected)=\"onTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"plateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehiclePlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedPlateNo\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"plateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DorsePlate' | abpLocalization }}\r\n </label>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedTrailerPlateNo\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualTrailerPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualTrailerPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- Sürücü & Firma -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::DriverAndCompany' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatandaşı\"></dx-check-box>\r\n </div>\r\n <ng-container *ngIf=\"!tcLookupMode\">\r\n <div class=\"d-flex gap-2\">\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\"\r\n [disabled]=\"isTcQuerying\"\r\n (click)=\"queryCarrierByTcNo()\">\r\n <i class=\"fa fa-search me-1\"></i>\r\n {{ (isTcQuerying ? 'Kadooglu::Querying' : 'Kadooglu::Query') | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = true\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"tcLookupMode\">\r\n <hit-lookup-select\r\n [getFn]=\"carrierData\"\r\n [columns]=\"carrierColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedCarrierName\"\r\n (selected)=\"onCarrierLookupSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = false\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::QueryByTc' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Mevcut sürücü: sadece adı göster (readonly) -->\r\n <ng-container *ngIf=\"!isNewCarrier\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DriverNameSurname' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"selectedCarrierName\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Yeni sürücü: Ad, Soyad, Telefon alanlarını göster -->\r\n <ng-container *ngIf=\"isNewCarrier\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierFirstname\"\r\n [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierLastname\"\r\n [placeholder]=\"'Kadooglu::LastName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Phone' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierTel\"\r\n [placeholder]=\"'Kadooglu::Phone' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"alert alert-info small py-1 mb-3\">\r\n <i class=\"fa fa-info-circle me-1\"></i>\r\n {{ 'Kadooglu::NewDriverAlert' | abpLocalization }}\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::BusinessPartner' | abpLocalization }}\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"businessPartnerData\"\r\n [columns]=\"businessPartnerColumns\"\r\n displayName=\"cardName\"\r\n keyExpr=\"cardCode\"\r\n [editingData]=\"selectedBusinessPartnerName\"\r\n (selected)=\"onBusinessPartnerSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Açıklama -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"80\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isLoading\"\r\n (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { DxDataGridComponent } from 'devextreme-angular';\r\nimport { HitFactoryEntryService } from '../../../hit-proxy/hit-factory-entry/hit-factory-entry.service';\r\nimport { FactoryEntry } from '../../../hit-proxy/hit-factory-entry/models';\r\nimport { HitVehicleTypeService } from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\n\r\n@Component({\r\n selector: 'lib-hit-factory-entry-list',\r\n templateUrl: './hit-factory-entry-list.component.html',\r\n styleUrls: ['./hit-factory-entry-list.component.scss'],\r\n})\r\nexport class HitFactoryEntryListComponent implements OnInit {\r\n @ViewChild('dataGrid', { static: false }) dataGrid!: DxDataGridComponent;\r\n\r\n allData: FactoryEntry[] = [];\r\n filteredData: FactoryEntry[] = [];\r\n vehicleTypeMap = new Map<string, string>();\r\n filterMode: 'all' | 'inside' = 'all';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: FactoryEntry | null = null;\r\n\r\n constructor(\r\n private confirmation: ConfirmationService,\r\n private service: HitFactoryEntryService,\r\n private vehicleTypeService: HitVehicleTypeService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.vehicleTypeService.getList().subscribe(types => {\r\n this.vehicleTypeMap = new Map(types.map(t => [t.code, t.name]));\r\n });\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.applyFilter();\r\n });\r\n }\r\n\r\n setFilter(mode: 'all' | 'inside'): void {\r\n this.filterMode = mode;\r\n this.applyFilter();\r\n this.dataGrid?.instance?.repaint();\r\n }\r\n\r\n applyFilter(): void {\r\n if (this.filterMode === 'inside') {\r\n this.filteredData = this.allData.filter(x => !x.u_ExitDate);\r\n } else {\r\n this.filteredData = [...this.allData];\r\n }\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift(\r\n {\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: this.localizationService.instant('Kadooglu::NewRecord'),\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: 'Tüm Araçlar',\r\n type: this.filterMode === 'all' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'all' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('all'),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: 'İçerideki Araçlar',\r\n type: this.filterMode === 'inside' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'inside' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('inside'),\r\n },\r\n }\r\n );\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: FactoryEntry): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n cikisYap(row: FactoryEntry): void {\r\n this.confirmation\r\n .warn(`\"${row.u_Plate}\" plakalı aracın çıkış yapacağına emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(result => {\r\n if (result === 'confirm') {\r\n this.service.checkout(row.docEntry).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n sil(row: FactoryEntry): void {\r\n this.confirmation\r\n .warn(`\"${row.u_Plate}\" plakalı kaydı silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.docEntry.toString()).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n\r\n formatEntryDateTime(dateStr: string | null | undefined, timeNum: number | null | undefined): string {\r\n if (!dateStr) return '';\r\n // Tarihi yerel saat olarak parse et (UTC yorumunu önlemek için T00:00 eklenmeden)\r\n const parts = dateStr.split('T')[0].split('-');\r\n if (parts.length < 3) return dateStr;\r\n const d = new Date(+parts[0], +parts[1] - 1, +parts[2]);\r\n if (isNaN(d.getTime())) return dateStr;\r\n if (timeNum != null) {\r\n d.setHours(Math.floor(timeNum / 100), timeNum % 100, 0, 0);\r\n }\r\n const dd = String(d.getDate()).padStart(2, '0');\r\n const mm = String(d.getMonth() + 1).padStart(2, '0');\r\n const yyyy = d.getFullYear();\r\n const hh = String(d.getHours()).padStart(2, '0');\r\n const min = String(d.getMinutes()).padStart(2, '0');\r\n return `${dd}.${mm}.${yyyy} ${hh}:${min}`;\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n\r\n getVehicleTypeName(code: string | undefined): string {\r\n if (!code) return '';\r\n return this.vehicleTypeMap.get(code) ?? code;\r\n }\r\n\r\n getFactoryEntryStatusLabel(exitDate: string | null | undefined): string {\r\n return exitDate ? 'Çıkış Yaptı' : 'Giriş Yaptı';\r\n }\r\n\r\n getFactoryEntryStatusClass(exitDate: string | null | undefined): string {\r\n return exitDate\r\n ? 'badge rounded-pill bg-success fs-6 fw-normal'\r\n : 'badge rounded-pill bg-secondary fs-6 fw-normal';\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\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\r\n <!-- Grid -->\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"!row.data.u_ExitDate\" (click)=\"cikisYap(row.data)\">\r\n <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i> Çıkış Yap\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"factoryEntryStatusTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDateTime' | abpLocalization }}\"\r\n [visible]=\"filterMode === 'all'\"\r\n cellTemplate=\"exitDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Araç Hareket Türü\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_ExitDate, cell.data.u_ExitTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'factoryEntryStatusTemplate'\">\r\n <span [class]=\"getFactoryEntryStatusClass(cell.data.u_ExitDate)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getFactoryEntryStatusLabel(cell.data.u_ExitDate) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitFactoryEntryListComponent } from './hit-factory-entry-list/hit-factory-entry-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitFactoryEntryListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitFactoryEntryRoutingModule {}","import { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HitModalComponent } from './hit-modal.component';\r\nimport { DxDataGridModule, DxTextBoxModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [HitModalComponent],\r\n imports: [\r\n CoreModule,\r\n ThemeSharedModule,\r\n FormsModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n ],\r\n exports: [HitModalComponent],\r\n})\r\nexport class HitUIModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitFactoryEntryRoutingModule } from './hit-factory-entry-routing.module';\r\nimport { HitFactoryEntryListComponent } from './hit-factory-entry-list/hit-factory-entry-list.component';\r\nimport { HitFactoryEntryFormComponent } from './hit-factory-entry-form/hit-factory-entry-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxNumberBoxModule,\r\n DxSelectBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxTagBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitFactoryEntryListComponent, HitFactoryEntryFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitFactoryEntryRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxNumberBoxModule,\r\n DxSelectBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxTagBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n NgbDropdownModule,\r\n ],\r\n})\r\nexport class HitFactoryEntryModule {}\r\n\r\nexport function loadHitFactoryEntryModuleAsChild() {\r\n return Promise.resolve(HitFactoryEntryModule);\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Scale, SaveScaleDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitScaleService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/scales';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Scale[]> {\r\n return this.restService.request<void, ApiResponse<Scale[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<Scale> {\r\n return this.restService.request<void, ApiResponse<Scale>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveScaleDto): Observable<Scale> {\r\n return this.restService.request<SaveScaleDto, ApiResponse<Scale>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveScaleDto>): Observable<Scale> {\r\n return this.restService.request<Partial<SaveScaleDto>, ApiResponse<Scale>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Item } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitItemService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/items';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Item[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<Item[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { PurchaseDeliveryNote } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitPurchaseDeliveryNoteService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/purchase-delivery-notes';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<PurchaseDeliveryNote[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<PurchaseDeliveryNote[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { StockTransfer } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitStockTransferService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/stock-transfers';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<StockTransfer[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<StockTransfer[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Gate, SaveGateDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitGateService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/gates';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Gate[]> {\r\n return this.restService.request<void, ApiResponse<Gate[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<Gate> {\r\n return this.restService.request<void, ApiResponse<Gate>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveGateDto): Observable<Gate> {\r\n return this.restService.request<SaveGateDto, ApiResponse<Gate>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveGateDto>): Observable<Gate> {\r\n return this.restService.request<Partial<SaveGateDto>, ApiResponse<Gate>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable, map } from 'rxjs';\r\nimport {\r\n EntryWeighing,\r\n EntryWeighingAccount,\r\n EntryWeighingDocument,\r\n EntryWeighingDriver,\r\n EntryWeighingGate,\r\n EntryWeighingScale,\r\n EntryWeighingStockItem,\r\n EntryWeighingTrailerPlate,\r\n EntryWeighingTruckPlate,\r\n EntryWeighingVehicleType,\r\n SaveEntryWeighingDto,\r\n} from './models';\r\nimport { ApiResponse } from '../models';\r\nimport { HitScaleService } from '../hit-scale/hit-scale.service';\r\nimport { HitPlateService } from '../hit-plate/hit-plate.service';\r\nimport { HitCarrierPersonService } from '../hit-carrier-person/hit-carrier-person.service';\r\nimport { HitBusinessPartnerService } from '../hit-business-partner/hit-business-partner.service';\r\nimport { HitItemService } from '../hit-item/hit-item.service';\r\nimport { HitPurchaseDeliveryNoteService } from '../hit-purchase-delivery-note/hit-purchase-delivery-note.service';\r\nimport { HitStockTransferService } from '../hit-stock-transfer/hit-stock-transfer.service';\r\nimport { HitGateService } from '../hit-gate/hit-gate.service';\r\nimport { HitVehicleTypeService } from '../hit-vehicle-type/hit-vehicle-type.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitEntryWeighingService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/entry-weighings';\r\n\r\n constructor(\r\n private restService: RestService,\r\n private scaleService: HitScaleService,\r\n private plateService: HitPlateService,\r\n private carrierPersonService: HitCarrierPersonService,\r\n private businessPartnerService: HitBusinessPartnerService,\r\n private itemService: HitItemService,\r\n private purchaseDeliveryNoteService: HitPurchaseDeliveryNoteService,\r\n private stockTransferService: HitStockTransferService,\r\n private gateService: HitGateService,\r\n private vehicleTypeService: HitVehicleTypeService\r\n ) {}\r\n\r\n getList(params?: any): Observable<EntryWeighing[]> {\r\n const defaultParams = { maxResultCount: 50, ...params };\r\n return this.restService.request<void, ApiResponse<EntryWeighing[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(docEntry: number): Observable<EntryWeighing> {\r\n return this.restService.request<void, ApiResponse<EntryWeighing>>(\r\n { method: 'GET', url: `${this.baseUrl}/${docEntry}` },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n create(body: SaveEntryWeighingDto): Observable<EntryWeighing> {\r\n return this.restService.request<SaveEntryWeighingDto, ApiResponse<EntryWeighing>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n update(docEntry: number, body: SaveEntryWeighingDto): Observable<EntryWeighing> {\r\n return this.restService.request<SaveEntryWeighingDto, ApiResponse<EntryWeighing>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${docEntry}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n delete(docEntry: number): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${docEntry}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n\r\n doWeighing(docEntry: number, body: { weighingValue: number; operatorCode: string }): Observable<EntryWeighing> {\r\n return this.restService.request<any, ApiResponse<EntryWeighing>>(\r\n { method: 'POST', url: `${this.baseUrl}/${docEntry}/do-weighing`, body },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n // --- Lookup methods ---\r\n\r\n getDocuments(): Observable<EntryWeighingDocument[]> {\r\n return this.purchaseDeliveryNoteService.getList().pipe(\r\n map(notes => notes.map(n => ({ code: n.docNum.toString(), name: n.cardName ?? '' })))\r\n );\r\n }\r\n\r\n getScales(): Observable<EntryWeighingScale[]> {\r\n return this.scaleService.getList().pipe(\r\n map(scales => scales.map(s => ({ code: s.code, name: s.name })))\r\n );\r\n }\r\n\r\n getTruckPlates(): Observable<EntryWeighingTruckPlate[]> {\r\n return this.plateService.getList().pipe(\r\n map(plates => plates\r\n .filter(p => p.u_IsTrailer === 'N' || !p.u_IsTrailer)\r\n .map(p => ({ code: p.code, plateNo: p.code }))\r\n )\r\n );\r\n }\r\n\r\n getTrailerPlates(): Observable<EntryWeighingTrailerPlate[]> {\r\n return this.plateService.getList().pipe(\r\n map(plates => plates\r\n .filter(p => p.u_IsTrailer === 'Y')\r\n .map(p => ({ code: p.code, plateNo: p.code }))\r\n )\r\n );\r\n }\r\n\r\n getDrivers(): Observable<EntryWeighingDriver[]> {\r\n return this.carrierPersonService.getList().pipe(\r\n map(persons => persons\r\n .filter(p => p.u_Active === 'Y')\r\n .map(p => ({ code: p.code, name: `${p.u_Firstname ?? ''} ${p.u_Lastname ?? ''}`.trim() }))\r\n )\r\n );\r\n }\r\n\r\n getAccounts(): Observable<EntryWeighingAccount[]> {\r\n return this.businessPartnerService.getList().pipe(\r\n map(partners => partners.map(p => ({ code: p.cardCode, title: p.cardName })))\r\n );\r\n }\r\n\r\n getStockItems(): Observable<EntryWeighingStockItem[]> {\r\n return this.itemService.getList().pipe(\r\n map(items => items.map(i => ({ code: i.itemCode, name: i.itemName })))\r\n );\r\n }\r\n\r\n getGates(): Observable<EntryWeighingGate[]> {\r\n return this.gateService.getList().pipe(\r\n map(gates => gates.map(g => ({ code: g.code, name: g.name })))\r\n );\r\n }\r\n\r\n getVehicleTypes(): Observable<EntryWeighingVehicleType[]> {\r\n return this.vehicleTypeService.getList().pipe(\r\n map(types => types.map(t => ({\r\n code: t.code, name: t.name,\r\n u_TrtmYpilck: t.u_TrtmYpilck, u_MalGC: t.u_MalGC\r\n })))\r\n );\r\n }\r\n\r\n doGoodsMovement(docEntry: number): Observable<EntryWeighing> {\r\n return this.restService.request<void, ApiResponse<EntryWeighing>>(\r\n { method: 'POST', url: `${this.baseUrl}/${docEntry}/do-goods-movement` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { DxDataGridComponent } from 'devextreme-angular';\r\nimport { HitEntryWeighingService } from '../../../hit-proxy/hit-entry-weighing/hit-entry-weighing.service';\r\nimport { EntryWeighing } from '../../../hit-proxy/hit-entry-weighing/models';\r\nimport { VehicleType } from '../../../hit-proxy/hit-vehicle-type/models';\r\nimport { HitGateService } from '../../../hit-proxy/hit-gate/hit-gate.service';\r\nimport { Gate } from '../../../hit-proxy/hit-gate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-entry-weighing-list',\r\n templateUrl: './hit-entry-weighing-list.component.html',\r\n styleUrls: ['./hit-entry-weighing-list.component.scss'],\r\n})\r\nexport class HitEntryWeighingListComponent implements OnInit {\r\n @ViewChild('dataGrid', { static: false }) dataGrid!: DxDataGridComponent;\r\n\r\n allData: EntryWeighing[] = [];\r\n filteredData: EntryWeighing[] = [];\r\n vehicleTypeList: VehicleType[] = [];\r\n gateList: Gate[] = [];\r\n malGcTypes = new Set<string>();\r\n weighingTypes = new Set<string>();\r\n\r\n disabledIdColumn = false;\r\n filterMode: 'all' | 'pending' = 'pending';\r\n statusFilterDataSource: { text: string; value: string }[] = [];\r\n\r\n constructor(\r\n private service: HitEntryWeighingService,\r\n private confirmation: ConfirmationService,\r\n private router: Router,\r\n private localizationService: LocalizationService,\r\n private gateService: HitGateService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.statusFilterDataSource = ['0', '1', '2', '3', '4'].map(v => ({\r\n value: v,\r\n text: this.getStatusLabel(v),\r\n }));\r\n this.gateService.getList().subscribe(gates => (this.gateList = gates));\r\n this.service.getVehicleTypes().subscribe(types => {\r\n this.vehicleTypeList = types;\r\n this.malGcTypes = new Set(types.filter(t => t.u_MalGC === 'Y').map(t => t.code));\r\n this.weighingTypes = new Set(types.filter(t => t.u_TrtmYpilck === 'Y').map(t => t.code));\r\n this.loadList();\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data.filter(x => this.weighingTypes.has(x.u_EntryType));\r\n this.applyFilter();\r\n });\r\n }\r\n\r\n setFilter(mode: 'all' | 'pending'): void {\r\n this.filterMode = mode;\r\n this.applyFilter();\r\n this.dataGrid?.instance?.repaint();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n const allText = this.localizationService.instant('Kadooglu::AllWeighings');\r\n const pendingText = this.localizationService.instant('Kadooglu::PendingWeighings');\r\n const newRecordText = this.localizationService.instant('Kadooglu::NewRecord');\r\n e.toolbarOptions.items.unshift(\r\n {\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: newRecordText,\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: allText,\r\n type: this.filterMode === 'all' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'all' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('all'),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: pendingText,\r\n type: this.filterMode === 'pending' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'pending' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('pending'),\r\n },\r\n }\r\n );\r\n }\r\n\r\n applyFilter(): void {\r\n if (this.filterMode === 'pending') {\r\n this.filteredData = this.allData.filter(x => {\r\n if (x.u_Status === '4') return false;\r\n if (x.u_Status === '2' && this.malGcTypes.has(x.u_EntryType)) return true;\r\n return !(x.u_LastWeighing ?? (x as any).u_LastWeighing);\r\n });\r\n } else {\r\n this.filteredData = [...this.allData];\r\n }\r\n }\r\n\r\n isMalGC(entryType: string): boolean {\r\n return this.malGcTypes?.has(entryType) ?? false;\r\n }\r\n\r\n yeniKayit(): void {\r\n this.router.navigate(['/kadooglu/entry-weighing/new']);\r\n }\r\n\r\n duzenle(row: EntryWeighing): void {\r\n this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? (row as any).docEntry], {\r\n state: { rowData: row }\r\n });\r\n }\r\n\r\n tartimYap(row: EntryWeighing, mode: 'first' | 'last'): void {\r\n const msgKey = mode === 'first'\r\n ? 'Kadooglu::FirstWeighingConfirmMessage'\r\n : 'Kadooglu::LastWeighingConfirmMessage';\r\n\r\n this.confirmation\r\n .warn(this.localizationService.instant(msgKey, String(row.u_Plate || row.docNum)), '', {\r\n yesText: this.localizationService.instant('Kadooglu::Yes'),\r\n cancelText: this.localizationService.instant('Kadooglu::No'),\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? (row as any).docEntry], {\r\n queryParams: { mode },\r\n state: { rowData: row }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ozetiGoruntule(row: EntryWeighing): void {\r\n this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? (row as any).docEntry], {\r\n state: { rowData: row }\r\n });\r\n }\r\n\r\n sil(row: any): void {\r\n const docEntry = row.docEntry ?? row.docEntry;\r\n this.confirmation\r\n .warn(`\"${row.u_Plate || row.u_Plate || row.docNum || row.docNum}\" kaydı silmek istediğinize emin misiniz?`, ``, {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(docEntry).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n\r\n formatEntryDateTime(dateStr: string | null, timeStr: string | null): string {\r\n if (!dateStr) return '';\r\n const parts = dateStr.split('T')[0].split('-');\r\n if (parts.length < 3) return dateStr;\r\n const d = new Date(+parts[0], +parts[1] - 1, +parts[2]);\r\n if (isNaN(d.getTime())) return dateStr;\r\n const dd = String(d.getDate()).padStart(2, '0');\r\n const mm = String(d.getMonth() + 1).padStart(2, '0');\r\n const yyyy = d.getFullYear();\r\n const time = this.formatTime(timeStr);\r\n return time ? `${dd}.${mm}.${yyyy} ${time}` : `${dd}.${mm}.${yyyy}`;\r\n }\r\n\r\n formatTime(time: string | null): string {\r\n if (!time) return '';\r\n const t = time.replace(/[^0-9]/g, '');\r\n if (t.length === 4) return t.substring(0, 2) + ':' + t.substring(2);\r\n if (t.length === 3) return '0' + t.substring(0, 1) + ':' + t.substring(1);\r\n return time;\r\n }\r\n\r\n getStatusLabel(status: string | null): string {\r\n switch (status) {\r\n case '0': return this.localizationService.instant('Kadooglu::StatusEntered');\r\n case '1': return this.localizationService.instant('Kadooglu::StatusFirstWeighingDone');\r\n case '2': return this.localizationService.instant('Kadooglu::StatusLastWeighingDone');\r\n case '3': return this.localizationService.instant('Kadooglu::StatusExited');\r\n case '4': return this.localizationService.instant('Kadooglu::StatusGoodsMovementDone');\r\n default: return this.localizationService.instant('Kadooglu::StatusUnknown');\r\n }\r\n }\r\n\r\n getStatusClass(status: string | null): string {\r\n switch (status) {\r\n case '0': return 'badge rounded-pill bg-secondary fs-6 fw-normal';\r\n case '1': return 'badge rounded-pill bg-info fs-6 fw-normal';\r\n case '2': return 'badge rounded-pill bg-success fs-6 fw-normal';\r\n case '3': return 'badge rounded-pill bg-success fs-6 fw-normal';\r\n case '4': return 'badge rounded-pill bg-success fs-6 fw-normal';\r\n default: return 'badge rounded-pill bg-secondary fs-6 fw-normal';\r\n }\r\n }\r\n\r\n malGcYap(row: EntryWeighing): void {\r\n const docEntry = row.docEntry ?? (row as any).docEntry;\r\n this.confirmation\r\n .warn(this.localizationService.instant('Kadooglu::MalGcConfirmMessage', String(row.u_Plate || row.docNum)), '', {\r\n yesText: this.localizationService.instant('Kadooglu::Yes'),\r\n cancelText: this.localizationService.instant('Kadooglu::No'),\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.doGoodsMovement(docEntry).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}</h3>\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 <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n alignment=\"center\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\" style=\"text-align:center\">\r\n <!-- Devam eden tartım: işlemler dropdown (status '0' ve '1') -->\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" style=\"min-width: 110px;\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"tartimYap(row.data, 'first')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformFirstWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '1'\" (click)=\"tartimYap(row.data, 'last')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformLastWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '2' && isMalGC(row.data.u_EntryType)\" (click)=\"malGcYap(row.data)\">\r\n <i class=\"fa fa-exchange\" aria-hidden=\"true\"></i> {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '2' || row.data.u_Status === '3' || row.data.u_Status === '4'\" (click)=\"ozetiGoruntule(row.data)\">\r\n <i class=\"fa fa-file-text\" aria-hidden=\"true\"></i> {{ 'Kadooglu::ViewSummary' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"statusTemplate\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"true\">\r\n <dxo-header-filter [dataSource]=\"statusFilterDataSource\"></dxo-header-filter>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"docNum\" caption=\"{{ 'Kadooglu::DocumentNo' | abpLocalization }}\" width=\"100\"></dxi-column>\r\n\r\n <dxi-column dataField=\"u_GateCode\" caption=\"{{ 'Kadooglu::Gate' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"gateList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Araç Hareket Türü\">\r\n <dxo-lookup [dataSource]=\"vehicleTypeList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::TruckPlate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::DriverName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DriverCode\" caption=\"{{ 'Kadooglu::DriverCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::CardCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ItemCode\" caption=\"{{ 'Kadooglu::ItemCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DespatchAdviceNo\" caption=\"{{ 'Kadooglu::DespatchAdviceNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ScaleCode\" caption=\"{{ 'Kadooglu::ScaleCode' | abpLocalization }}\"></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_FirstWeighing\"\r\n caption=\"{{ 'Kadooglu::FirstWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_LastWeighing\"\r\n caption=\"{{ 'Kadooglu::LastWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Net\"\r\n caption=\"{{ 'Kadooglu::NetKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDate' | abpLocalization }}\"\r\n cellTemplate=\"exitDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Description\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTimeTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTimeTemplate'\">\r\n <span *ngIf=\"cell.data.u_ExitDate\">\r\n {{ cell.data.u_ExitDate | date:'dd.MM.yyyy' }}\r\n <span *ngIf=\"cell.data.u_ExitTime\" class=\"text-muted ms-1\">{{ formatTime(cell.data.u_ExitTime) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span [class]=\"getStatusClass(cell.data.u_Status)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getStatusLabel(cell.data.u_Status) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { HitEntryWeighingService } from '../../../hit-proxy/hit-entry-weighing/hit-entry-weighing.service';\r\nimport { HitStockTransferService } from '../../../hit-proxy/hit-stock-transfer/hit-stock-transfer.service';\r\nimport { StockTransfer } from '../../../hit-proxy/hit-stock-transfer/models';\r\nimport {\r\n EntryWeighing,\r\n EntryWeighingAccount,\r\n EntryWeighingDocument,\r\n EntryWeighingDriver,\r\n EntryWeighingGate,\r\n EntryWeighingScale,\r\n EntryWeighingStockItem,\r\n EntryWeighingTrailerPlate,\r\n EntryWeighingTruckPlate,\r\n EntryWeighingVehicleType,\r\n SaveEntryWeighingDto,\r\n} from '../../../hit-proxy/hit-entry-weighing/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-entry-weighing-form',\r\n templateUrl: './hit-entry-weighing-form.component.html',\r\n})\r\nexport class HitEntryWeighingFormComponent implements OnInit {\r\n record: EntryWeighing | null = null;\r\n isUpdateMode = false;\r\n\r\n // Wizard phase: 1 = Araç & Belge, 2 = Tartım Paneli\r\n formPhase: 1 | 2 = 1;\r\n // Weighing mode from query param: 'first' | 'last' | null (null = normal new/edit)\r\n weighingMode: 'first' | 'last' | null = null;\r\n\r\n // Lookup loader functions (called lazily when modal opens)\r\n loadDocuments = () => this.service.getDocuments();\r\n loadScales = () => this.service.getScales();\r\n loadTruckPlates = () => this.service.getTruckPlates();\r\n loadTrailerPlates = () => this.service.getTrailerPlates();\r\n loadDrivers = () => this.service.getDrivers();\r\n loadAccounts = () => this.service.getAccounts();\r\n loadStockItems = () => this.service.getStockItems();\r\n loadWaybills = () => this.stockTransferService.getList();\r\n loadGates = () => this.service.getGates();\r\n loadVehicleTypes = () => this.service.getVehicleTypes();\r\n\r\n // Column configs\r\n documentColumns = [\r\n { dataField: 'code', caption: 'Belge No', width: 120 },\r\n { dataField: 'name', caption: 'Cari Adı' },\r\n ];\r\n scaleColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 80 },\r\n { dataField: 'name', caption: 'Kantar Adı' },\r\n ];\r\n truckPlateColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'plateNo', caption: 'Plaka' },\r\n ];\r\n trailerPlateColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'plateNo', caption: 'Plaka' },\r\n ];\r\n driverColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'name', caption: 'Ad Soyad' },\r\n ];\r\n accountColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'title', caption: 'Unvan' },\r\n ];\r\n stockItemColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'name', caption: 'Stok Adı' },\r\n ];\r\n waybillColumns = [\r\n { dataField: 'docNum', caption: 'Belge No', width: 120 },\r\n { dataField: 'cardName', caption: 'Cari Adı' },\r\n { dataField: 'fromWarehouse', caption: 'Çıkış Deposu', width: 140 },\r\n { dataField: 'comments', caption: 'Açıklama' },\r\n ];\r\n gateColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 80 },\r\n { dataField: 'name', caption: 'Kapı Adı' },\r\n ];\r\n vehicleTypeColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 80 },\r\n { dataField: 'name', caption: 'Giriş Tipi' },\r\n ];\r\n\r\n // Form fields\r\n documentCode = '';\r\n documentName = '';\r\n scaleCode = '1';\r\n scaleName = 'Kantar 1';\r\n accountCode = '';\r\n accountTitle = '';\r\n truckPlateCode = '';\r\n truckPlateNo = '';\r\n trailerPlateCode = '';\r\n trailerPlateNo = '';\r\n driverCode = '';\r\n driverName = '';\r\n stockCode = '';\r\n stockName = '';\r\n containerNo = '';\r\n description = '';\r\n waybillNo = '';\r\n departureLocation = '';\r\n arrivalLocation = 'Fabrika';\r\n\r\n // ZZZ_TEST2 yeni alanlar\r\n gateCode = '';\r\n gateName = '';\r\n entryDate: string | null = null;\r\n entryTime = '';\r\n exitDate: string | null = null;\r\n exitTime = '';\r\n entryTypeCode = '';\r\n entryTypeName = '';\r\n driverFullName = '';\r\n tcNo = '';\r\n isTcCitizen = true;\r\n\r\n // Tartım bilgileri (readonly)\r\n firstOperatorCode = '';\r\n firstWeighingValue: number | null = null;\r\n lastOperatorCode = '';\r\n lastWeighingValue: number | null = null;\r\n currentScaleValue: number | null = null;\r\n fixedScaleValue: number | null = null;\r\n\r\n isSaving = false;\r\n isWeighing = false;\r\n entryTypeTrtmYpilck = false;\r\n entryTypeMalGC = false;\r\n isDoingGoodsMovement = false;\r\n\r\n /** SAP response camelCase/PascalCase farkını handle eder */\r\n private getDocEntry(rec: EntryWeighing | null): number | undefined {\r\n if (!rec) return undefined;\r\n return rec.docEntry ?? (rec as any).docEntry;\r\n }\r\n\r\n constructor(\r\n private service: HitEntryWeighingService,\r\n private stockTransferService: HitStockTransferService,\r\n private confirmation: ConfirmationService,\r\n private toaster: ToasterService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n // Read weighing mode from query params\r\n const mode = this.route.snapshot.queryParamMap.get('mode');\r\n if (mode === 'first' || mode === 'last') {\r\n this.weighingMode = mode;\r\n }\r\n\r\n // Önce router state'den satır verisini oku (liste ekranından aktarılan)\r\n const stateData = history.state?.rowData;\r\n const id = this.route.snapshot.paramMap.get('id');\r\n\r\n if (stateData) {\r\n // State'den gelen veriyi kullan (API çağrısı olmadan)\r\n this.isUpdateMode = true;\r\n this.record = stateData;\r\n this.initForm();\r\n // Son tartım modundaysa direkt tartım panelini aç\r\n if (this.weighingMode === 'last') {\r\n this.formPhase = 2;\r\n }\r\n } else if (id) {\r\n // Fallback: state yoksa API'den yükle\r\n this.isUpdateMode = true;\r\n this.service.get(+id).subscribe(record => {\r\n this.record = record;\r\n this.initForm();\r\n // Son tartım modundaysa direkt tartım panelini aç\r\n if (this.weighingMode === 'last') {\r\n this.formPhase = 2;\r\n }\r\n });\r\n }\r\n }\r\n\r\n get weighingStep(): number {\r\n const status = (this.record as any)?.u_Status;\r\n if (this.lastWeighingValue !== null || status === '2' || status === '3' || status === '4') return 3;\r\n if (this.firstWeighingValue !== null || status === '1') return 2;\r\n return 1;\r\n }\r\n\r\n /** İlk tartım yapıldıysa (step >= 2) detay alanlarını kilitle */\r\n get isFormLocked(): boolean {\r\n return this.weighingStep >= 2;\r\n }\r\n\r\n /** Her iki tartım da tamamlandıysa (step === 3) tüm ekranı kilitle */\r\n get isFullyCompleted(): boolean {\r\n return this.weighingStep === 3;\r\n }\r\n\r\n get entryDateTime(): Date | null {\r\n return this.buildDateTime(this.entryDate, this.entryTime);\r\n }\r\n\r\n get exitDateTime(): Date | null {\r\n return this.buildDateTime(this.exitDate, this.exitTime);\r\n }\r\n\r\n /** Tarih string + sayısal saat (ör. 830 = 08:30) değerinden Date oluşturur */\r\n private buildDateTime(dateStr: string | null, timeVal: string | number | null): Date | null {\r\n if (!dateStr) return null;\r\n const d = new Date(dateStr);\r\n if (isNaN(d.getTime())) return null;\r\n const t = Number(timeVal);\r\n if (!isNaN(t)) {\r\n d.setHours(Math.floor(t / 100), t % 100, 0, 0);\r\n }\r\n return d;\r\n }\r\n\r\n get netWeight(): number | null {\r\n if (this.firstWeighingValue !== null && this.lastWeighingValue !== null) {\r\n return Math.abs(this.firstWeighingValue - this.lastWeighingValue);\r\n }\r\n return null;\r\n }\r\n\r\n get weighingModeLabel(): string {\r\n return this.weighingMode === 'first'\r\n ? this.localizationService.instant('Kadooglu::FirstWeighing')\r\n : this.localizationService.instant('Kadooglu::LastWeighing');\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n const r = this.record as any; // SAP camelCase fallback\r\n this.scaleCode = r.u_ScaleCode ?? r.u_ScaleCode ?? '';\r\n this.accountCode = r.u_CardCode ?? r.u_CardCode ?? '';\r\n this.truckPlateCode = r.u_Plate ?? r.u_Plate ?? '';\r\n this.truckPlateNo = r.u_Plate ?? r.u_Plate ?? '';\r\n this.trailerPlateCode = r.u_DorsePlate ?? '';\r\n this.trailerPlateNo = r.u_DorsePlate ?? '';\r\n this.driverCode = r.u_DriverCode ?? r.u_DriverCode ?? '';\r\n this.stockCode = r.u_ItemCode ?? r.u_ItemCode ?? '';\r\n this.containerNo = r.u_ContainerNo ?? r.u_ContainerNo ?? '';\r\n this.waybillNo = r.u_DespatchAdviceNo ?? r.u_DespatchAdviceNo ?? '';\r\n this.departureLocation = r.u_ShipPlace ?? r.u_ShipPlace ?? '';\r\n this.arrivalLocation = r.u_ShipTo ?? r.u_ShipTo ?? 'Fabrika';\r\n this.firstOperatorCode = r.u_FirstOpt ?? r.u_FirstOpt ?? '';\r\n this.lastOperatorCode = r.u_LastOpt ?? r.u_LastOpt ?? '';\r\n const rawFirst = r.u_FirstWeighing ?? r.u_FirstWeighing ?? null;\r\n this.firstWeighingValue = (rawFirst != null && rawFirst !== 0) ? rawFirst : null;\r\n const rawLast = r.u_LastWeighing ?? r.u_LastWeighing ?? null;\r\n this.lastWeighingValue = (rawLast != null && rawLast !== 0) ? rawLast : null;\r\n this.description = r.u_Description ?? r.u_Description ?? '';\r\n\r\n // ZZZ_TEST2 yeni alanlar\r\n this.gateCode = r.u_GateCode ?? r.u_GateCode ?? '';\r\n this.entryDate = r.u_EntryDate ?? r.u_EntryDate ?? null;\r\n this.entryTime = r.u_EntryTime ?? r.u_EntryTime ?? '';\r\n this.exitDate = r.u_ExitDate ?? r.u_ExitDate ?? null;\r\n this.exitTime = r.u_ExitTime ?? r.u_ExitTime ?? '';\r\n this.entryTypeCode = r.u_EntryType ?? r.u_EntryType ?? '';\r\n this.driverFullName = r.u_Driver ?? r.u_Driver ?? '';\r\n this.tcNo = r.u_TcNo ?? r.u_TcNo ?? '';\r\n this.isTcCitizen = true;\r\n\r\n // Lookup alanlarının görünen isimlerini çözümle\r\n this.resolveDisplayNames();\r\n }\r\n }\r\n\r\n /** Kayıttaki kod alanlarına karşılık gelen görünen isimleri lookup servislerinden çözümler */\r\n private resolveDisplayNames(): void {\r\n const lookups: Record<string, any> = {};\r\n\r\n if (this.gateCode) {\r\n lookups['gates'] = this.loadGates();\r\n }\r\n if (this.entryTypeCode) {\r\n lookups['vehicleTypes'] = this.loadVehicleTypes();\r\n }\r\n if (this.scaleCode) {\r\n lookups['scales'] = this.loadScales();\r\n }\r\n if (this.accountCode) {\r\n lookups['accounts'] = this.loadAccounts();\r\n }\r\n if (this.driverCode) {\r\n lookups['drivers'] = this.loadDrivers();\r\n }\r\n if (this.stockCode) {\r\n lookups['stockItems'] = this.loadStockItems();\r\n }\r\n\r\n const keys = Object.keys(lookups);\r\n if (keys.length === 0) return;\r\n\r\n forkJoin(lookups).subscribe((results: any) => {\r\n if (results.gates) {\r\n const gate = results.gates.find((g: any) => g.code === this.gateCode);\r\n if (gate) this.gateName = gate.name;\r\n }\r\n if (results.vehicleTypes) {\r\n const vt = results.vehicleTypes.find((t: any) => t.code === this.entryTypeCode);\r\n if (vt) {\r\n this.entryTypeName = vt.name;\r\n this.entryTypeTrtmYpilck = vt.u_TrtmYpilck === 'Y';\r\n this.entryTypeMalGC = vt.u_MalGC === 'Y';\r\n }\r\n }\r\n if (results.scales) {\r\n const scale = results.scales.find((s: any) => s.code === this.scaleCode);\r\n if (scale) this.scaleName = scale.name;\r\n }\r\n if (results.accounts) {\r\n const account = results.accounts.find((a: any) => a.code === this.accountCode);\r\n if (account) this.accountTitle = account.title;\r\n }\r\n if (results.drivers) {\r\n const driver = results.drivers.find((d: any) => d.code === this.driverCode);\r\n if (driver) this.driverName = driver.name;\r\n }\r\n if (results.stockItems) {\r\n const item = results.stockItems.find((i: any) => i.code === this.stockCode);\r\n if (item) this.stockName = item.name;\r\n }\r\n });\r\n }\r\n\r\n onDocumentSelected(e: EntryWeighingDocument): void {\r\n if (!e) return;\r\n this.documentCode = e.code;\r\n this.documentName = e.name;\r\n }\r\n\r\n onScaleSelected(e: EntryWeighingScale): void {\r\n if (!e) return;\r\n this.scaleCode = e.code;\r\n this.scaleName = e.name;\r\n }\r\n\r\n onAccountSelected(e: EntryWeighingAccount): void {\r\n if (!e) return;\r\n this.accountCode = e.code;\r\n this.accountTitle = e.title;\r\n }\r\n\r\n\r\n onTruckPlateSelected(e: EntryWeighingTruckPlate): void {\r\n if (!e) return;\r\n this.truckPlateCode = e.code;\r\n this.truckPlateNo = e.plateNo;\r\n }\r\n\r\n onTrailerPlateSelected(e: EntryWeighingTrailerPlate): void {\r\n if (!e) return;\r\n this.trailerPlateCode = e.code;\r\n this.trailerPlateNo = e.plateNo;\r\n }\r\n\r\n onDriverSelected(e: EntryWeighingDriver): void {\r\n if (!e) return;\r\n this.driverCode = e.code;\r\n this.driverName = e.name;\r\n }\r\n\r\n onStockItemSelected(e: EntryWeighingStockItem): void {\r\n if (!e) return;\r\n this.stockCode = e.code;\r\n this.stockName = e.name;\r\n }\r\n\r\n onGateSelected(e: EntryWeighingGate): void {\r\n if (!e) return;\r\n this.gateCode = e.code;\r\n this.gateName = e.name;\r\n }\r\n\r\n onVehicleTypeSelected(e: EntryWeighingVehicleType): void {\r\n if (!e) return;\r\n this.entryTypeCode = e.code;\r\n this.entryTypeName = e.name;\r\n this.entryTypeTrtmYpilck = e.u_TrtmYpilck === 'Y';\r\n this.entryTypeMalGC = e.u_MalGC === 'Y';\r\n }\r\n\r\n onWaybillSelected(e: StockTransfer): void {\r\n if (!e) return;\r\n this.waybillNo = e.docNum.toString();\r\n if (e.cardCode) { this.accountCode = e.cardCode; this.accountTitle = e.cardName; }\r\n if (e.fromWarehouse) { this.departureLocation = e.fromWarehouse; }\r\n if (e.comments) { this.description = e.comments; }\r\n\r\n const lines = e.stockTransferLines ?? [];\r\n const uniqueCodes = [...new Set(lines.map(l => l.itemCode).filter(c => !!c))];\r\n if (uniqueCodes.length === 1) {\r\n this.stockCode = uniqueCodes[0];\r\n this.stockName = lines.find(l => l.itemCode === uniqueCodes[0])?.itemDescription ?? '';\r\n } else {\r\n this.stockCode = '';\r\n this.stockName = '';\r\n }\r\n }\r\n\r\n /** Phase 1 → Phase 2 geçişi */\r\n ileriGit(): void {\r\n if (!this.truckPlateCode) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectTruckPlate'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n if (this.entryTypeTrtmYpilck && !this.stockCode) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::StockCodeRequired'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n this.formPhase = 2;\r\n }\r\n\r\n /** Phase 2 → Phase 1 geri dön */\r\n geriGitPhase(): void {\r\n this.formPhase = 1;\r\n }\r\n\r\n save(): void {\r\n // Tartım modundaysa doWeighing API çağır\r\n const docEntry = this.getDocEntry(this.record);\r\n if (this.weighingMode && docEntry) {\r\n if (this.fixedScaleValue == null) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::DoFixFirst'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const doWeigh$ = this.service.doWeighing(docEntry, {\r\n weighingValue: this.fixedScaleValue!,\r\n operatorCode: ''\r\n });\r\n\r\n // İLK tartımda form alanlarını (stok kodu, irsaliye vb.) önce kaydet, sonra tartım yap.\r\n // SON tartımda sadece tartım yap — diğer alanlar ilk tartımdan sonra değiştirilemez.\r\n let obs$: Observable<EntryWeighing>;\r\n if (this.weighingMode === 'first') {\r\n const now = new Date();\r\n const currentDate = now.toISOString().split('T')[0];\r\n const currentTime = now.toTimeString().split(' ')[0];\r\n const dto: SaveEntryWeighingDto = {\r\n u_GateCode: this.gateCode || undefined,\r\n u_EntryDate: this.entryDate || currentDate,\r\n u_EntryTime: this.entryTime || currentTime,\r\n u_ExitDate: this.exitDate || null,\r\n u_ExitTime: this.exitTime || undefined,\r\n u_Plate: this.truckPlateCode,\r\n u_DorsePlate: this.trailerPlateCode || undefined,\r\n u_EntryType: this.entryTypeCode || undefined,\r\n u_Description: this.description || undefined,\r\n u_Driver: this.driverFullName || undefined,\r\n u_DriverCode: this.driverCode || undefined,\r\n u_TcNo: this.tcNo || undefined,\r\n u_CardCode: this.accountCode || undefined,\r\n u_ScaleCode: this.scaleCode || undefined,\r\n u_ItemCode: this.stockCode || undefined,\r\n u_DespatchAdviceNo: this.waybillNo || undefined,\r\n u_DespatchExist: 'N',\r\n u_ShipTo: this.arrivalLocation || undefined,\r\n u_ContainerNo: this.containerNo || undefined,\r\n u_ShipPlace: this.departureLocation || undefined,\r\n };\r\n obs$ = this.service.update(docEntry, dto).pipe(switchMap(() => doWeigh$));\r\n } else {\r\n obs$ = doWeigh$;\r\n }\r\n\r\n this.isSaving = true;\r\n obs$.subscribe({\r\n next: () => {\r\n // Tartım değerlerini weighingMode'a göre güncelle\r\n if (this.weighingMode === 'first') {\r\n this.firstWeighingValue = this.fixedScaleValue;\r\n } else {\r\n this.lastWeighingValue = this.fixedScaleValue;\r\n }\r\n\r\n this.isSaving = false;\r\n this.toaster.success(\r\n this.weighingMode === 'first'\r\n ? this.localizationService.instant('Kadooglu::FirstWeighingSaved')\r\n : this.localizationService.instant('Kadooglu::LastWeighingSaved')\r\n );\r\n\r\n // Kısa bir gecikme ile listeye dön (kullanıcı progress bar değişimini görsün)\r\n setTimeout(() => {\r\n this.router.navigate(['/kadooglu/entry-weighing']);\r\n }, 1500);\r\n },\r\n error: () => {\r\n this.isSaving = false;\r\n this.toaster.error(this.localizationService.instant('Kadooglu::WeighingRecordError'));\r\n },\r\n });\r\n return;\r\n }\r\n\r\n // Normal kayıt modu (yeni kayıt veya düzenleme)\r\n if (!this.truckPlateCode) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectTruckPlate'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const now = new Date();\r\n const currentDate = now.toISOString().split('T')[0];\r\n const currentTime = now.toTimeString().split(' ')[0]; // HH:mm:ss\r\n\r\n const dto: SaveEntryWeighingDto = {\r\n u_GateCode: this.gateCode || undefined,\r\n u_EntryDate: this.entryDate || currentDate,\r\n u_EntryTime: this.entryTime || currentTime,\r\n u_ExitDate: this.exitDate || null,\r\n u_ExitTime: this.exitTime || undefined,\r\n u_Plate: this.truckPlateCode,\r\n u_DorsePlate: this.trailerPlateCode || undefined,\r\n u_EntryType: this.entryTypeCode || undefined,\r\n u_Description: this.description || undefined,\r\n u_Driver: this.driverFullName || undefined,\r\n u_DriverCode: this.driverCode || undefined,\r\n u_TcNo: this.tcNo || undefined,\r\n u_CardCode: this.accountCode || undefined,\r\n u_ScaleCode: this.scaleCode || undefined,\r\n u_ItemCode: this.stockCode || undefined,\r\n u_DespatchAdviceNo: this.waybillNo || undefined,\r\n u_DespatchExist: 'N',\r\n u_ShipTo: this.arrivalLocation || undefined,\r\n u_ContainerNo: this.containerNo || undefined,\r\n u_ShipPlace: this.departureLocation || undefined,\r\n };\r\n\r\n const obs$ = docEntry\r\n ? this.service.update(docEntry, dto)\r\n : this.service.create(dto);\r\n\r\n this.isSaving = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isSaving = false;\r\n this.toaster.success(this.localizationService.instant('Kadooglu::RecordSavedSuccess'));\r\n this.router.navigate(['/kadooglu/entry-weighing']);\r\n },\r\n error: () => {\r\n this.isSaving = false;\r\n this.toaster.error(this.localizationService.instant('Kadooglu::RecordSaveError'));\r\n },\r\n });\r\n }\r\n\r\n doGoodsMovement(): void {\r\n const docEntry = this.getDocEntry(this.record);\r\n if (!docEntry) return;\r\n\r\n this.isDoingGoodsMovement = true;\r\n this.service.doGoodsMovement(docEntry).subscribe({\r\n next: updated => {\r\n this.record = updated;\r\n this.isDoingGoodsMovement = false;\r\n this.toaster.success(this.localizationService.instant('Kadooglu::GoodsMovementSuccess'));\r\n },\r\n error: () => {\r\n this.isDoingGoodsMovement = false;\r\n },\r\n });\r\n }\r\n\r\n doWeighing(): void {\r\n // Random değer üret 30000-40000 arası\r\n this.currentScaleValue = Math.floor(Math.random() * 10001) + 30000;\r\n }\r\n\r\n sabitle(): void {\r\n this.fixedScaleValue = this.currentScaleValue;\r\n }\r\n\r\n goBack(): void {\r\n this.router.navigate(['/kadooglu/entry-weighing']);\r\n }\r\n\r\n private validateTCKN(value: string): boolean {\r\n const tc = value?.trim();\r\n if (!tc || tc.length !== 11) return false;\r\n if (!/^\\d{11}$/.test(tc)) return false;\r\n if (tc[0] === '0') return false;\r\n const d = tc.split('').map(Number);\r\n const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;\r\n if (d10 !== d[9]) return false;\r\n const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;\r\n return d11 === d[10];\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">\r\n {{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-warning text-dark': weighingMode === 'first',\r\n 'bg-primary': weighingMode === 'last'\r\n }\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n <span *ngIf=\"!weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-secondary': weighingStep === 1,\r\n 'bg-info': weighingStep === 2,\r\n 'bg-success': weighingStep === 3\r\n }\">\r\n {{ (weighingStep === 1 ? 'Kadooglu::RecordStep' : weighingStep === 2 ? 'Kadooglu::FirstWeighing' : 'Kadooglu::Completed') | abpLocalization }}\r\n </span>\r\n </h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <!-- Step Indicator -->\r\n <div class=\"card mb-3\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n\r\n <!-- Step 1: Araç & Belge -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"formPhase > 1 || isFullyCompleted ? '#198754' : (formPhase === 1 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"formPhase > 1 || isFullyCompleted\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"formPhase <= 1 && !isFullyCompleted\">1</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"formPhase > 1 || isFullyCompleted\" [class.text-primary]=\"formPhase === 1 && !isFullyCompleted\">{{ 'Kadooglu::VehicleAndDocument' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"formPhase > 1 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 2: Tartım -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : (formPhase === 2 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">2</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-primary]=\"formPhase === 2 && weighingStep < 3\" [class.text-muted]=\"formPhase < 2 && weighingStep < 3\">{{ 'Kadooglu::WeighingStep' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 3: Tamamlandı -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#6c757d'\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">3</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-muted]=\"weighingStep < 3\">{{ 'Kadooglu::Completed' | abpLocalization }}</small>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 1: Araç & Belge ========== -->\r\n <div *ngIf=\"formPhase === 1 && !isFullyCompleted\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n\r\n <!-- Sol sütun: Giriş/Çıkış + Araç & Sürücü -->\r\n <div class=\"col-md-6\">\r\n\r\n <!-- Grup 1: Giriş / Çıkış Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-sign-in-alt me-2\"></i>{{ 'Kadooglu::EntryExitInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::GateSelection' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadGates\"\r\n [columns]=\"gateColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"gateName\"\r\n [readOnly]=\"isUpdateMode\"\r\n (selected)=\"onGateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">Araç Hareket Türü</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehicleTypes\"\r\n [columns]=\"vehicleTypeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"entryTypeName\"\r\n [readOnly]=\"isUpdateMode\"\r\n (selected)=\"onVehicleTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [readOnly]=\"isUpdateMode\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [readOnly]=\"isUpdateMode\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Grup 2: Araç & Sürücü Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleDriverInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::TruckPlate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTruckPlates\"\r\n [columns]=\"truckPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"truckPlateNo\"\r\n [readOnly]=\"isFormLocked\"\r\n (selected)=\"onTruckPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\" *ngIf=\"trailerPlateNo\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"trailerPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"trailerPlateNo\"\r\n [readOnly]=\"isFormLocked\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DriverName' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"driverFullName\"\r\n [placeholder]=\"'Kadooglu::EnterDriverName' | abpLocalization\"\r\n [readOnly]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">{{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }}</label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" [readOnly]=\"isUpdateMode\" text=\"T.C. Vatandaşı\"></dx-check-box>\r\n </div>\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n [readOnly]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Sağ sütun: Belge & Yük -->\r\n <div class=\"col-md-6\">\r\n\r\n <!-- Grup 3: Belge & Yük Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-file-alt me-2\"></i>{{ 'Kadooglu::DocumentCargoInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadAccounts\"\r\n [columns]=\"accountColumns\"\r\n displayName=\"title\"\r\n [editingData]=\"accountTitle\"\r\n [readOnly]=\"isFormLocked\"\r\n (selected)=\"onAccountSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::WaybillNumber' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadWaybills\"\r\n [columns]=\"waybillColumns\"\r\n displayName=\"docNum\"\r\n keyExpr=\"docEntry\"\r\n [editingData]=\"waybillNo\"\r\n (selected)=\"onWaybillSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadStockItems\"\r\n [columns]=\"stockItemColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"stockName\"\r\n (selected)=\"onStockItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"containerNo\"\r\n [placeholder]=\"'Kadooglu::ManualEntry' | abpLocalization\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DeparturePlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"departureLocation\"\r\n [disabled]=\"true\"\r\n [placeholder]=\"'Kadooglu::AutoFilledFromWaybill' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ArrivalPlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"arrivalLocation\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-12 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"70\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <!-- Phase 1 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <div class=\"d-flex gap-2\">\r\n <abp-button\r\n *ngIf=\"!weighingMode && !isFormLocked\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n <button class=\"btn btn-primary\" (click)=\"ileriGit()\">\r\n {{ 'Kadooglu::Next' | abpLocalization }} <i class=\"fa fa-arrow-right ms-1\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 2: Tartım Paneli ========== -->\r\n <div *ngIf=\"formPhase === 2 && !isFullyCompleted\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>{{ 'Kadooglu::WeighingPanel' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2\"\r\n [ngClass]=\"weighingMode === 'first' ? 'bg-warning text-dark' : 'bg-primary'\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n </div>\r\n <div class=\"card-body\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mx-auto\">\r\n\r\n <!-- Canlı Tartım ve Sabitlenmiş Değer — İki Sütun -->\r\n <div class=\"row g-3 mb-4\">\r\n\r\n <!-- Sol Sütun: Canlı Tartım -->\r\n <div class=\"col-6\">\r\n <div class=\"card bg-light h-100\">\r\n <div class=\"card-body text-center py-4\">\r\n <div class=\"text-muted small mb-1 fw-semibold text-uppercase\">\r\n {{ 'Kadooglu::LiveWeighing' | abpLocalization }}\r\n </div>\r\n <div style=\"font-size: 2.5rem; font-weight: bold; letter-spacing: 0.05em;\">\r\n {{ currentScaleValue != null ? (currentScaleValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"!isFullyCompleted\"\r\n class=\"btn btn-primary btn-lg w-100 mt-2\"\r\n (click)=\"doWeighing()\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>\r\n {{ 'Kadooglu::PerformWeighing' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n <!-- Sağ Sütun: Sabitlenmiş Değer -->\r\n <div class=\"col-6\">\r\n <div class=\"card h-100\"\r\n [ngClass]=\"fixedScaleValue != null ? 'border-success' : 'bg-light'\"\r\n [style.background-color]=\"fixedScaleValue != null ? 'rgba(25,135,84,0.08)' : ''\">\r\n <div class=\"card-body text-center py-4\">\r\n <div class=\"small mb-1 fw-semibold text-uppercase\"\r\n [ngClass]=\"fixedScaleValue != null ? 'text-success' : 'text-muted'\">\r\n {{ 'Kadooglu::FixedValue' | abpLocalization }}\r\n </div>\r\n <div style=\"font-size: 2.5rem; font-weight: bold; letter-spacing: 0.05em;\"\r\n [ngClass]=\"fixedScaleValue != null ? 'text-success' : ''\">\r\n {{ fixedScaleValue != null ? (fixedScaleValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"!isFullyCompleted\"\r\n class=\"btn btn-success btn-lg w-100 mt-2\"\r\n [disabled]=\"currentScaleValue == null\"\r\n (click)=\"sabitle()\">\r\n <i class=\"fa fa-lock me-2\"></i>\r\n {{ 'Kadooglu::Fix' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- İlk Tartım -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"firstWeighingValue != null; else noFirstWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ firstWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noFirstWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Son Tartım -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"lastWeighingValue != null; else noLastWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ lastWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noLastWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Net Yük (sadece step=3'te göster) -->\r\n <div *ngIf=\"weighingStep === 3 && netWeight != null\" class=\"card border-success mb-3\">\r\n <div class=\"card-body text-center py-3\" style=\"background-color: rgba(25,135,84,0.08);\">\r\n <div class=\"text-success small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"text-success fw-bold\" style=\"font-size: 2rem;\">\r\n {{ netWeight | number:'1.0-0' }} kg\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Phase 2 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"geriGitPhase()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n *ngIf=\"!isFullyCompleted\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== SUMMARY: Tamamlandı Görünümü ========== -->\r\n <div *ngIf=\"isFullyCompleted\">\r\n\r\n <!-- Üst Bölüm — Tartım Sonuç Kartları -->\r\n <div class=\"row mb-4\">\r\n <!-- İlk Tartım -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #0d6efd;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ firstWeighingValue != null ? (firstWeighingValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode || '—' }}</div>\r\n </div>\r\n </div>\r\n <!-- Son Tartım -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #6f42c1;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ lastWeighingValue != null ? (lastWeighingValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode || '—' }}</div>\r\n </div>\r\n </div>\r\n <!-- Net Yük -->\r\n <div class=\"col-md-4\">\r\n <div class=\"shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #198754; background: rgba(25,135,84,0.06);\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em; color: #198754;\">\r\n {{ netWeight != null ? (netWeight | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt Bölüm — Detay Bilgileri -->\r\n <div class=\"card shadow-sm\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-file-text me-2\"></i>{{ 'Kadooglu::RecordDetails' | abpLocalization }}\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <!-- Sol Sütun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Gate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ gateName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">Araç Hareket Türü</div>\r\n <div class=\"col-7 fw-medium\">{{ entryTypeName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ entryDate ? (entryDate | date:'dd.MM.yyyy') : '—' }} {{ entryTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ exitDate ? (exitDate | date:'dd.MM.yyyy') : '—' }} {{ exitTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TruckPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ truckPlateNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ trailerPlateNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverName' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverFullName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ tcNo || '—' }}</div>\r\n </div>\r\n </div>\r\n <!-- Sağ Sütun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ accountTitle || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::WaybillNumber' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ waybillNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ScaleCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ scaleName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ stockName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ containerNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DepartureToArrival' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ (departureLocation || '—') + ' → ' + (arrivalLocation || '—') }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Description' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ description || '—' }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::BackToList' | abpLocalization }}\r\n </button>\r\n <button\r\n *ngIf=\"entryTypeMalGC && record?.u_Status === '2'\"\r\n class=\"btn btn-warning\"\r\n type=\"button\"\r\n [disabled]=\"isDoingGoodsMovement\"\r\n (click)=\"doGoodsMovement()\">\r\n <i [class]=\"isDoingGoodsMovement ? 'fa fa-spinner fa-spin me-1' : 'fa fa-exchange me-1'\" aria-hidden=\"true\"></i>\r\n {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitEntryWeighingListComponent } from './hit-entry-weighing-list/hit-entry-weighing-list.component';\r\nimport { HitEntryWeighingFormComponent } from './hit-entry-weighing-form/hit-entry-weighing-form.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitEntryWeighingListComponent },\r\n { path: 'new', component: HitEntryWeighingFormComponent },\r\n { path: ':id', component: HitEntryWeighingFormComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitEntryWeighingRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitEntryWeighingRoutingModule } from './hit-entry-weighing-routing.module';\r\nimport { HitEntryWeighingListComponent } from './hit-entry-weighing-list/hit-entry-weighing-list.component';\r\nimport { HitEntryWeighingFormComponent } from './hit-entry-weighing-form/hit-entry-weighing-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxNumberBoxModule,\r\n DxButtonModule, DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [HitEntryWeighingListComponent, HitEntryWeighingFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitEntryWeighingRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxNumberBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxCheckBoxModule\r\n ],\r\n})\r\nexport class HitEntryWeighingModule {}\r\n\r\nexport function loadHitEntryWeighingModuleAsChild() {\r\n return Promise.resolve(HitEntryWeighingModule);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Warehouse } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitWarehouseService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/warehouses';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(): Observable<Warehouse[]> {\r\n return this.restService.request<void, ApiResponse<Warehouse[]>>(\r\n { method: 'GET', url: this.baseUrl },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitVehicleTypeService } from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\nimport { VehicleType, SaveVehicleTypeDto } from '../../../hit-proxy/hit-vehicle-type/models';\r\nimport { HitWarehouseService } from '../../../hit-proxy/hit-warehouse/hit-warehouse.service';\r\nimport { Warehouse } from '../../../hit-proxy/hit-warehouse/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-vehicle-type-form',\r\n templateUrl: './hit-vehicle-type-form.component.html',\r\n})\r\nexport class HitVehicleTypeFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: VehicleType | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n trtmYpilck = false;\r\n malGC = false;\r\n sourceWH = '';\r\n targetWH = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n warehouseData: Warehouse[] = [];\r\n warehouseColumns = [\r\n { dataField: 'warehouseCode', caption: 'Kod', width: 120 },\r\n { dataField: 'warehouseName', caption: 'Depo Adı' },\r\n ];\r\n\r\n constructor(\r\n private service: HitVehicleTypeService,\r\n private warehouseService: HitWarehouseService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.warehouseService.getList().subscribe(d => (this.warehouseData = d));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.trtmYpilck = this.record.u_TrtmYpilck === 'Y';\r\n this.malGC = this.record.u_MalGC === 'Y';\r\n this.sourceWH = this.record.u_SourceWH ?? '';\r\n this.targetWH = this.record.u_TargetWH ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.trtmYpilck = false;\r\n this.malGC = false;\r\n this.sourceWH = '';\r\n this.targetWH = '';\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n onSourceWHSelected(wh: Warehouse): void {\r\n this.sourceWH = wh.warehouseCode;\r\n }\r\n\r\n onTargetWHSelected(wh: Warehouse): void {\r\n this.targetWH = wh.warehouseCode;\r\n }\r\n\r\n save(): void {\r\n if (!this.code || !this.name) {\r\n this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.malGC && (!this.sourceWH || !this.targetWH)) {\r\n this.confirmation.warn('Mal G/Ç yapılacak araç türleri için Kaynak ve Hedef Depo zorunludur.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.malGC && this.sourceWH && this.targetWH && this.sourceWH === this.targetWH) {\r\n this.confirmation.warn('Kaynak Depo ve Hedef Depo aynı olamaz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveVehicleTypeDto = {\r\n code: this.code,\r\n name: this.name,\r\n u_TrtmYpilck: this.trtmYpilck ? 'Y' : 'N',\r\n u_MalGC: this.malGC ? 'Y' : 'N',\r\n u_SourceWH: this.sourceWH,\r\n u_TargetWH: this.targetWH,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Araç hareket türü kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Araç hareket türü adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/Ç Yapılacak Mı?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitVehicleTypeService } from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\nimport { VehicleType } from '../../../hit-proxy/hit-vehicle-type/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-vehicle-type-list',\r\n templateUrl: './hit-vehicle-type-list.component.html',\r\n})\r\nexport class HitVehicleTypeListComponent implements OnInit {\r\n allData: VehicleType[] = [];\r\n filteredData: VehicleType[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: VehicleType | null = null;\r\n\r\n constructor(\r\n private service: HitVehicleTypeService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) {\r\n return false;\r\n }\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: VehicleType): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: VehicleType): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" araç türünü silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">Araç Hareket Türleri</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_SourceWH\" caption=\"{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_TargetWH\" caption=\"{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column\r\n dataField=\"u_TrtmYpilck\"\r\n caption=\"{{ 'Kadooglu::WeighingStep' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"trtmTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"u_MalGC\"\r\n caption=\"G/Ç Yapılacak mı?\"\r\n [width]=\"130\"\r\n cellTemplate=\"malGcTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'trtmTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n <div *dxTemplate=\"let cell of 'malGcTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-vehicle-type-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-vehicle-type-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitVehicleTypeListComponent } from './hit-vehicle-type-list/hit-vehicle-type-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitVehicleTypeListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitVehicleTypeRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitVehicleTypeRoutingModule } from './hit-vehicle-type-routing.module';\r\nimport { HitVehicleTypeListComponent } from './hit-vehicle-type-list/hit-vehicle-type-list.component';\r\nimport { HitVehicleTypeFormComponent } from './hit-vehicle-type-form/hit-vehicle-type-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule, DevExtremeModule, DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule, NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitVehicleTypeListComponent, HitVehicleTypeFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitVehicleTypeRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitVehicleTypeModule {}\r\n\r\nexport function loadHitVehicleTypeModuleAsChild() {\r\n return Promise.resolve(HitVehicleTypeModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitScaleService } from '../../../hit-proxy/hit-scale/hit-scale.service';\r\nimport { Scale, SaveScaleDto } from '../../../hit-proxy/hit-scale/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-scale-form',\r\n templateUrl: './hit-scale-form.component.html',\r\n})\r\nexport class HitScaleFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: Scale | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n u_Port = '';\r\n u_BaudRate = '';\r\n u_DataBits = '';\r\n u_StopBits = '';\r\n u_Parity = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n dataBitsOptions = [\r\n { value: '7', display: '7BITS' },\r\n { value: '8', display: '8BITS' },\r\n ];\r\n stopBitsOptions = [\r\n { value: '1', display: 'One' },\r\n { value: '2', display: 'Two' },\r\n ];\r\n parityOptions = [\r\n { value: 'N', display: 'None' },\r\n { value: 'O', display: 'Odd' },\r\n { value: 'E', display: 'Even' },\r\n ];\r\n\r\n constructor(\r\n private service: HitScaleService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.u_Port = this.record.u_Port ?? '';\r\n this.u_BaudRate = this.record.u_BaudRate ?? '';\r\n this.u_DataBits = this.record.u_DataBits ?? '';\r\n this.u_StopBits = this.record.u_StopBits ?? '';\r\n this.u_Parity = this.record.u_Parity ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.u_Port = '';\r\n this.u_BaudRate = '';\r\n this.u_DataBits = '';\r\n this.u_StopBits = '';\r\n this.u_Parity = '';\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n save(): void {\r\n if (!this.code || !this.name) {\r\n this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveScaleDto = {\r\n code: this.code,\r\n name: this.name,\r\n u_Port: this.u_Port,\r\n u_BaudRate: this.u_BaudRate,\r\n u_DataBits: this.u_DataBits,\r\n u_StopBits: this.u_StopBits,\r\n u_Parity: this.u_Parity,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-cog me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kantar kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kantar adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-plug me-2\"></i>{{ 'Kadooglu::SerialPortSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Port' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Port\" [placeholder]=\"'Kadooglu::PortExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::BaudRate' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_BaudRate\" [placeholder]=\"'Kadooglu::BaudRateExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DataBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_DataBits\" [items]=\"dataBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::StopBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_StopBits\" [items]=\"stopBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Parity' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_Parity\" [items]=\"parityOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitScaleService } from '../../../hit-proxy/hit-scale/hit-scale.service';\r\nimport { Scale } from '../../../hit-proxy/hit-scale/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-scale-list',\r\n templateUrl: './hit-scale-list.component.html',\r\n})\r\nexport class HitScaleListComponent implements OnInit {\r\n allData: Scale[] = [];\r\n filteredData: Scale[] = [];\r\n\r\n dataBitsLookup = [\r\n { value: '7', display: '7BITS' },\r\n { value: '8', display: '8BITS' },\r\n ];\r\n stopBitsLookup = [\r\n { value: '1', display: 'One' },\r\n { value: '2', display: 'Two' },\r\n ];\r\n parityLookup = [\r\n { value: 'N', display: 'None' },\r\n { value: 'O', display: 'Odd' },\r\n { value: 'E', display: 'Even' },\r\n ];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: Scale | null = null;\r\n\r\n constructor(\r\n private service: HitScaleService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: Scale): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: Scale): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" kantarını silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::ScaleTitle' | abpLocalization }}</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Port\" caption=\"{{ 'Kadooglu::Port' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_BaudRate\" caption=\"{{ 'Kadooglu::BaudRate' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_DataBits\" caption=\"{{ 'Kadooglu::DataBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"dataBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_StopBits\" caption=\"{{ 'Kadooglu::StopBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"stopBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Parity\" caption=\"{{ 'Kadooglu::Parity' | abpLocalization }}\" [width]=\"100\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-scale-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-scale-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitScaleListComponent } from './hit-scale-list/hit-scale-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitScaleListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitScaleRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitScaleRoutingModule } from './hit-scale-routing.module';\r\nimport { HitScaleListComponent } from './hit-scale-list/hit-scale-list.component';\r\nimport { HitScaleFormComponent } from './hit-scale-form/hit-scale-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule, NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitScaleListComponent, HitScaleFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitScaleRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitScaleModule {}\r\n\r\nexport function loadHitScaleModuleAsChild() {\r\n return Promise.resolve(HitScaleModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitGateService } from '../../../hit-proxy/hit-gate/hit-gate.service';\r\nimport { Gate, SaveGateDto } from '../../../hit-proxy/hit-gate/models';\r\nimport { HitUserGateService } from '../../../hit-proxy/hit-user-gate/hit-user-gate.service';\r\nimport { UserGateItem } from '../../../hit-proxy/hit-user-gate/models';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lib-hit-gate-form',\r\n templateUrl: './hit-gate-form.component.html',\r\n})\r\nexport class HitGateFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: Gate | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n userGates: UserGateItem[] = [];\r\n allAbpUsers: { id: string; tenantId: string; userName: string }[] = [];\r\n selectedUserIdToAdd = '';\r\n\r\n constructor(\r\n private service: HitGateService,\r\n private confirmation: ConfirmationService,\r\n private userGateService: HitUserGateService,\r\n private restService: RestService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.restService.request<void, any>(\r\n { method: 'GET', url: '/api/identity/users', params: { maxResultCount: 200 } },\r\n { apiName: 'AbpIdentity' }\r\n ).pipe(map(r => r?.items ?? [])).subscribe(users => {\r\n this.allAbpUsers = users.map((u: any) => ({\r\n id: u.id,\r\n tenantId: u.tenantId ?? '',\r\n userName: u.userName,\r\n }));\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.isActive = this.record.u_Active === 'Y';\r\n this.userGateService.getByGateCode(this.record.code).subscribe(items => {\r\n this.userGates = items.map(item => ({\r\n ...item,\r\n userName: this.allAbpUsers.find(u => u.id === item.u_UserId)?.userName ?? ''\r\n }));\r\n });\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.isActive = true;\r\n this.userGates = [];\r\n }\r\n }\r\n\r\n addUser(): void {\r\n if (!this.selectedUserIdToAdd) return;\r\n const user = this.allAbpUsers.find(u => u.id === this.selectedUserIdToAdd);\r\n if (!user) return;\r\n if (this.userGates.some(g => g.u_UserId === user.id)) return;\r\n this.userGates = [\r\n ...this.userGates,\r\n {\r\n u_GateCode: this.code,\r\n u_UserId: user.id,\r\n u_TenantId: user.tenantId,\r\n u_IsDefault: 'N',\r\n userName: user.userName,\r\n },\r\n ];\r\n this.selectedUserIdToAdd = '';\r\n }\r\n\r\n removeUser(index: number): void {\r\n this.userGates = this.userGates.filter((_, i) => i !== index);\r\n }\r\n\r\n setDefault(index: number): void {\r\n this.userGates = this.userGates.map((g, i) => ({ ...g, u_IsDefault: i === index ? 'Y' : 'N' }));\r\n }\r\n\r\n save(): void {\r\n if (!this.code || !this.name) {\r\n this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveGateDto = { code: this.code, name: this.name, u_Active: this.isActive ? 'Y' : 'N' };\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: (gate) => {\r\n const gateCode = gate?.code ?? this.code;\r\n this.userGateService.saveGateUsers(gateCode, this.userGates).subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'xl', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-door-open me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kapı kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kapı adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-users me-2\"></i>{{ 'Kadooglu::UserAuthorization' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"d-flex gap-2 mb-3\">\r\n <dx-select-box\r\n [(value)]=\"selectedUserIdToAdd\"\r\n [dataSource]=\"allAbpUsers\"\r\n displayExpr=\"userName\"\r\n valueExpr=\"id\"\r\n [placeholder]=\"'Kadooglu::SelectUser' | abpLocalization\"\r\n [searchEnabled]=\"true\"\r\n style=\"flex: 1\">\r\n </dx-select-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\" (click)=\"addUser()\">\r\n <i class=\"fa fa-plus me-1\"></i>{{ 'Kadooglu::Add' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n <dx-data-grid\r\n [dataSource]=\"userGates\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [noDataText]=\"'Kadooglu::NoUsersAdded' | abpLocalization\">\r\n <dxi-column dataField=\"userName\" caption=\"{{ 'Kadooglu::User' | abpLocalization }}\" [allowEditing]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"u_UserId\" caption=\"{{ 'Kadooglu::UserId' | abpLocalization }}\" [allowEditing]=\"false\" [visible]=\"false\"></dxi-column>\r\n <dxi-column caption=\"{{ 'Kadooglu::Default' | abpLocalization }}\" [width]=\"100\" cellTemplate=\"defaultTemplate\"></dxi-column>\r\n <dxi-column caption=\"{{ 'AbpUi::Delete' | abpLocalization }}\" [width]=\"70\" cellTemplate=\"deleteTemplate\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let d of 'defaultTemplate'\">\r\n <div class=\"text-center\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"d.data.u_IsDefault === 'Y'\"\r\n (change)=\"setDefault(d.rowIndex)\">\r\n </div>\r\n </div>\r\n <div *dxTemplate=\"let d of 'deleteTemplate'\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-outline-danger btn-sm\" (click)=\"removeUser(d.rowIndex)\">\r\n <i class=\"fa fa-trash\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitGateService } from '../../../hit-proxy/hit-gate/hit-gate.service';\r\nimport { Gate } from '../../../hit-proxy/hit-gate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-gate-list',\r\n templateUrl: './hit-gate-list.component.html',\r\n})\r\nexport class HitGateListComponent implements OnInit {\r\n allData: Gate[] = [];\r\n filteredData: Gate[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: Gate | null = null;\r\n\r\n constructor(\r\n private service: HitGateService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: Gate): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: Gate): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" kapısını silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::GateTitle' | abpLocalization }}</h3>\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 <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-gate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-gate-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitGateListComponent } from './hit-gate-list/hit-gate-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitGateListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitGateRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitGateRoutingModule } from './hit-gate-routing.module';\r\nimport { HitGateListComponent } from './hit-gate-list/hit-gate-list.component';\r\nimport { HitGateFormComponent } from './hit-gate-form/hit-gate-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitGateListComponent, HitGateFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitGateRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n NgbDropdownModule,\r\n ],\r\n})\r\nexport class HitGateModule {}\r\n\r\nexport function loadHitGateModuleAsChild() {\r\n return Promise.resolve(HitGateModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitCarrierPersonService } from '../../../hit-proxy/hit-carrier-person/hit-carrier-person.service';\r\nimport { CarrierPerson, SaveCarrierPersonDto } from '../../../hit-proxy/hit-carrier-person/models';\r\nimport { HitPlateService } from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport { Plate } from '../../../hit-proxy/hit-plate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-carrier-person-form',\r\n templateUrl: './hit-carrier-person-form.component.html',\r\n})\r\nexport class HitCarrierPersonFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: CarrierPerson | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n u_Firstname = '';\r\n u_Lastname = '';\r\n u_Plate = '';\r\n u_Tel = '';\r\n isActive = false;\r\n u_DefBP = '';\r\n u_CarrierFirm = '';\r\n isTcCitizen = true;\r\n isLoading = false;\r\n\r\n plateData: Plate[] = [];\r\n plateColumns = [\r\n { dataField: 'code', caption: 'Plaka', width: 120 },\r\n { dataField: 'name', caption: 'Açıklama' },\r\n { dataField: 'u_Model', caption: 'Model' },\r\n ];\r\n\r\n constructor(\r\n private service: HitCarrierPersonService,\r\n private confirmation: ConfirmationService,\r\n private plateService: HitPlateService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.plateService.getList().subscribe(d => (this.plateData = d));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n this.isTcCitizen = true;\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.u_Firstname = this.record.u_Firstname ?? '';\r\n this.u_Lastname = this.record.u_Lastname ?? '';\r\n this.u_Plate = this.record.u_Plate ?? '';\r\n this.u_Tel = this.record.u_Tel ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n this.u_DefBP = this.record.u_DefBP ?? '';\r\n this.u_CarrierFirm = this.record.u_CarrierFirm ?? '';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.u_Firstname = '';\r\n this.u_Lastname = '';\r\n this.u_Plate = '';\r\n this.u_Tel = '';\r\n this.isActive = true;\r\n this.u_DefBP = '';\r\n this.u_CarrierFirm = '';\r\n }\r\n }\r\n\r\n onPlateSelected(e: Plate): void {\r\n if (!e) return;\r\n this.u_Plate = e.code;\r\n }\r\n\r\n save(): void {\r\n const fullName = [this.u_Firstname, this.u_Lastname].filter(Boolean).join(' ').trim();\r\n\r\n if (!this.code || !fullName) {\r\n this.confirmation.warn('Lütfen T.C. No, Ad ve Soyad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.isTcCitizen && !this.record?.code && !this.validateTCKN(this.code)) {\r\n this.confirmation.warn('Geçersiz T.C. Kimlik No. Lütfen 11 haneli, geçerli bir TCKN giriniz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveCarrierPersonDto = {\r\n code: this.code,\r\n name: fullName,\r\n u_Firstname: this.u_Firstname,\r\n u_Lastname: this.u_Lastname,\r\n u_Plate: this.u_Plate,\r\n u_Tel: this.u_Tel,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n u_DefBP: this.u_DefBP,\r\n u_CarrierFirm: this.u_CarrierFirm,\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n\r\n private validateTCKN(value: string): boolean {\r\n const tc = value?.trim();\r\n if (!tc || tc.length !== 11) return false;\r\n if (!/^\\d{11}$/.test(tc)) return false;\r\n if (tc[0] === '0') return false;\r\n const d = tc.split('').map(Number);\r\n const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;\r\n if (d10 !== d[9]) return false;\r\n const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;\r\n return d11 === d[10];\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- Bölüm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatandaşı\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Bölüm 2: İletişim & Araç Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numarası\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsayılan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Bölüm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitCarrierPersonService } from '../../../hit-proxy/hit-carrier-person/hit-carrier-person.service';\r\nimport { CarrierPerson } from '../../../hit-proxy/hit-carrier-person/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-carrier-person-list',\r\n templateUrl: './hit-carrier-person-list.component.html',\r\n styleUrls: ['./hit-carrier-person-list.component.scss'],\r\n})\r\nexport class HitCarrierPersonListComponent implements OnInit {\r\n allData: CarrierPerson[] = [];\r\n filteredData: CarrierPerson[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: CarrierPerson | null = null;\r\n\r\n constructor(\r\n private service: HitCarrierPersonService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: CarrierPerson): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: CarrierPerson): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" şoförünü silmek istediğinize emin misiniz?`, ``, {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::CarrierPersonTitle' | abpLocalization }}</h3>\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 <dx-data-grid\r\n #carrierPersonGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\" [width]=\"140\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::FullName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Firstname\" caption=\"{{ 'Kadooglu::FirstName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Lastname\" caption=\"{{ 'Kadooglu::LastName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Tel\" caption=\"{{ 'Kadooglu::Phone' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <dxi-column dataField=\"u_DefBP\" caption=\"{{ 'Kadooglu::DefaultBP' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_CarrierFirm\" caption=\"{{ 'Kadooglu::CarrierFirm' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-carrier-person-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-carrier-person-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitCarrierPersonListComponent } from './hit-carrier-person-list/hit-carrier-person-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitCarrierPersonListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitCarrierPersonRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitCarrierPersonRoutingModule } from './hit-carrier-person-routing.module';\r\nimport { HitCarrierPersonListComponent } from './hit-carrier-person-list/hit-carrier-person-list.component';\r\nimport { HitCarrierPersonFormComponent } from './hit-carrier-person-form/hit-carrier-person-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [HitCarrierPersonListComponent, HitCarrierPersonFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitCarrierPersonRoutingModule,\r\n HitUIModule,\r\n NgbDropdownModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitCarrierPersonModule {}\r\n\r\nexport function loadHitCarrierPersonModuleAsChild() {\r\n return Promise.resolve(HitCarrierPersonModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitPlateService } from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport { Plate, SavePlateDto } from '../../../hit-proxy/hit-plate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-plate-form',\r\n templateUrl: './hit-plate-form.component.html',\r\n})\r\nexport class HitPlateFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: Plate | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n u_Model = '';\r\n u_IsTrailer = false;\r\n isActive = false;\r\n isLoading = false;\r\n\r\n constructor(\r\n private service: HitPlateService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.u_Model = this.record.u_Model ?? '';\r\n this.u_IsTrailer = this.record.u_IsTrailer === 'Y';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.u_Model = '';\r\n this.u_IsTrailer = false;\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n save(): void {\r\n if (!this.code) {\r\n this.confirmation.warn('Lütfen Plaka alanını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SavePlateDto = {\r\n code: this.code,\r\n name: this.name,\r\n u_Model: this.u_Model,\r\n u_IsTrailer: this.u_IsTrailer ? 'Y' : 'N',\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'md', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-car me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" [placeholder]=\"'Kadooglu::EnterPlateNumber' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"name\" [placeholder]=\"'Kadooglu::Description' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Model' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Model\" [placeholder]=\"'Kadooglu::EnterVehicleModel' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 d-flex align-items-end pb-1\">\r\n <dx-check-box [(value)]=\"u_IsTrailer\" [text]=\"'Kadooglu::IsTrailer' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitPlateService } from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport { Plate } from '../../../hit-proxy/hit-plate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-plate-list',\r\n templateUrl: './hit-plate-list.component.html',\r\n styleUrls: ['./hit-plate-list.component.scss'],\r\n})\r\nexport class HitPlateListComponent implements OnInit {\r\n allData: Plate[] = [];\r\n filteredData: Plate[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: Plate | null = null;\r\n\r\n constructor(\r\n private service: HitPlateService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: Plate): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: Plate): void {\r\n this.confirmation\r\n .warn(`\"${row.code}\" plakasını silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::PlateTitle' | abpLocalization }}</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" [width]=\"180\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Model\" caption=\"{{ 'Kadooglu::Model' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"u_IsTrailer\" caption=\"{{ 'Kadooglu::IsTrailer' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.code\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.code) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-plate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-plate-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitPlateListComponent } from './hit-plate-list/hit-plate-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitPlateListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitPlateRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitPlateRoutingModule } from './hit-plate-routing.module';\r\nimport { HitPlateListComponent } from './hit-plate-list/hit-plate-list.component';\r\nimport { HitPlateFormComponent } from './hit-plate-form/hit-plate-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule, DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule, NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitPlateListComponent, HitPlateFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitPlateRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitPlateModule {}\r\n\r\nexport function loadHitPlateModuleAsChild() {\r\n return Promise.resolve(HitPlateModule);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable, map } from 'rxjs';\r\nimport { KntItemEsl, SaveKntItemEslDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitKntItemEslService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/knt-item-esls';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: { code?: string; cikisKalemKodu?: string; girisKalemKodu?: string }): Observable<KntItemEsl[]> {\r\n return this.restService.request<void, ApiResponse<KntItemEsl[]>>(\r\n { method: 'GET', url: this.baseUrl, params: { maxResultCount: 50, ...params } },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<KntItemEsl> {\r\n return this.restService.request<void, ApiResponse<KntItemEsl>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n create(body: SaveKntItemEslDto): Observable<KntItemEsl> {\r\n return this.restService.request<SaveKntItemEslDto, ApiResponse<KntItemEsl>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveKntItemEslDto>): Observable<KntItemEsl> {\r\n return this.restService.request<Partial<SaveKntItemEslDto>, ApiResponse<KntItemEsl>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { HitKntItemEslService } from '../../../hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service';\r\nimport { KntItemEsl, SaveKntItemEslDto } from '../../../hit-proxy/hit-knt-item-esl/models';\r\nimport { HitItemService } from '../../../hit-proxy/hit-item/hit-item.service';\r\nimport { Item } from '../../../hit-proxy/hit-item/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-knt-item-esl-form',\r\n templateUrl: './hit-knt-item-esl-form.component.html',\r\n})\r\nexport class HitKntItemEslFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: KntItemEsl | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n u_CikisKalemTanimi = '';\r\n u_GirisKalemKodu = '';\r\n u_GirisKalemTanimi = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n loadItems = () => this.itemService.getList();\r\n itemColumns = [\r\n { dataField: 'itemCode', caption: 'Kod', width: 120 },\r\n { dataField: 'itemName', caption: 'Kalem Adı' },\r\n ];\r\n\r\n constructor(\r\n private service: HitKntItemEslService,\r\n private itemService: HitItemService,\r\n private confirmation: ConfirmationService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.u_CikisKalemTanimi = this.record.u_CikisKalemTanimi ?? '';\r\n this.u_GirisKalemKodu = this.record.u_GirisKalemKodu ?? '';\r\n this.u_GirisKalemTanimi = this.record.u_GirisKalemTanimi ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.u_CikisKalemTanimi = '';\r\n this.u_GirisKalemKodu = '';\r\n this.u_GirisKalemTanimi = '';\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n onExitItemSelected(item: Item): void {\r\n if (!item) return;\r\n this.code = item.itemCode;\r\n this.u_CikisKalemTanimi = item.itemName;\r\n }\r\n\r\n onEntryItemSelected(item: Item): void {\r\n if (!item) return;\r\n this.u_GirisKalemKodu = item.itemCode;\r\n this.u_GirisKalemTanimi = item.itemName;\r\n }\r\n\r\n save(): void {\r\n if (!this.code) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectExitItemCode'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('AbpUi::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (!this.u_GirisKalemKodu) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectEntryItemCode'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('AbpUi::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.code === this.u_GirisKalemKodu) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::EntryExitItemCodeMustBeDifferent'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('AbpUi::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveKntItemEslDto = {\r\n code: this.code,\r\n u_CikisKalemKodu: this.code,\r\n u_CikisKalemTanimi: this.u_CikisKalemTanimi,\r\n u_GirisKalemKodu: this.u_GirisKalemKodu,\r\n u_GirisKalemTanimi: this.u_GirisKalemTanimi,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_CikisKalemTanimi\"\r\n [disabled]=\"!!record?.code\"\r\n (selected)=\"onExitItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CikisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_GirisKalemTanimi\"\r\n (selected)=\"onEntryItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_GirisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { HitKntItemEslService } from '../../../hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service';\r\nimport { KntItemEsl } from '../../../hit-proxy/hit-knt-item-esl/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-knt-item-esl-list',\r\n templateUrl: './hit-knt-item-esl-list.component.html',\r\n})\r\nexport class HitKntItemEslListComponent implements OnInit {\r\n allData: KntItemEsl[] = [];\r\n filteredData: KntItemEsl[] = [];\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: KntItemEsl | null = null;\r\n\r\n constructor(\r\n private service: HitKntItemEslService,\r\n private confirmation: ConfirmationService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: this.localizationService.instant('Kadooglu::NewRecord'),\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: KntItemEsl): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: KntItemEsl): void {\r\n this.confirmation\r\n .warn(`\"${row.code}\" kodlu kaydı silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::KntItemEslTitle' | abpLocalization }}</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"sil(row.data)\">\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i> {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemKodu\" caption=\"{{ 'Kadooglu::ExitItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemTanimi\" caption=\"{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemKodu\" caption=\"{{ 'Kadooglu::EntryItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemTanimi\" caption=\"{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-knt-item-esl-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-knt-item-esl-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitKntItemEslListComponent } from './hit-knt-item-esl-list/hit-knt-item-esl-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitKntItemEslListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitKntItemEslRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitKntItemEslRoutingModule } from './hit-knt-item-esl-routing.module';\r\nimport { HitKntItemEslListComponent } from './hit-knt-item-esl-list/hit-knt-item-esl-list.component';\r\nimport { HitKntItemEslFormComponent } from './hit-knt-item-esl-form/hit-knt-item-esl-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [HitKntItemEslListComponent, HitKntItemEslFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitKntItemEslRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n NgbDropdownModule,\r\n ],\r\n})\r\nexport class HitKntItemEslModule {}\r\n\r\nexport function loadHitKntItemEslModuleAsChild() {\r\n return Promise.resolve(HitKntItemEslModule);\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { loadHitFactoryEntryModuleAsChild } from './hit-components/hit-factory-entry/hit-factory-entry.module';\r\nimport { loadHitEntryWeighingModuleAsChild } from './hit-components/hit-entry-weighing/hit-entry-weighing.module';\r\nimport { loadHitVehicleTypeModuleAsChild } from './hit-components/hit-vehicle-type/hit-vehicle-type.module';\r\nimport { loadHitScaleModuleAsChild } from './hit-components/hit-scale/hit-scale.module';\r\nimport { loadHitGateModuleAsChild } from './hit-components/hit-gate/hit-gate.module';\r\nimport { loadHitCarrierPersonModuleAsChild } from './hit-components/hit-carrier-person/hit-carrier-person.module';\r\nimport { loadHitPlateModuleAsChild } from './hit-components/hit-plate/hit-plate.module';\r\nimport { loadHitKntItemEslModuleAsChild } from './hit-components/hit-knt-item-esl/hit-knt-item-esl.module';\r\n\r\nconst routes: Routes = [\r\n { path: 'factory-entry', loadChildren: loadHitFactoryEntryModuleAsChild },\r\n { path: 'entry-weighing', loadChildren: loadHitEntryWeighingModuleAsChild },\r\n { path: 'vehicle-type', loadChildren: loadHitVehicleTypeModuleAsChild },\r\n { path: 'scale', loadChildren: loadHitScaleModuleAsChild },\r\n { path: 'gate', loadChildren: loadHitGateModuleAsChild },\r\n { path: 'carrier-person', loadChildren: loadHitCarrierPersonModuleAsChild },\r\n { path: 'plate', loadChildren: loadHitPlateModuleAsChild },\r\n { path: 'knt-item-esl', loadChildren: loadHitKntItemEslModuleAsChild },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class KadoogluRoutingModule {}\r\n","import { NgModule, NgModuleFactory, ModuleWithProviders } from '@angular/core';\r\nimport { locale } from 'devextreme/localization';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreModule, LazyModuleFactory, LocalizationService } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { KadoogluComponent } from './components/kadooglu.component';\r\nimport { KadoogluRoutingModule } from './kadooglu-routing.module';\r\n\r\n@NgModule({\r\n declarations: [KadoogluComponent],\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n KadoogluRoutingModule,\r\n ],\r\n exports: [KadoogluComponent],\r\n})\r\nexport class KadoogluModule {\r\n static forChild(): ModuleWithProviders<KadoogluModule> {\r\n return {\r\n ngModule: KadoogluModule,\r\n providers: [],\r\n };\r\n }\r\n\r\n static forLazy(): NgModuleFactory<KadoogluModule> {\r\n return new LazyModuleFactory(KadoogluModule.forChild());\r\n }\r\n\r\n constructor(private readonly localizationService: LocalizationService) {\r\n this.localizationService.currentLang$.subscribe(item => {\r\n locale(item);\r\n });\r\n }\r\n}\r\n","/*\r\n * Public API Surface of kadooglu\r\n */\r\n\r\nexport * from './lib/components/kadooglu.component';\r\nexport * from './lib/services/kadooglu.service';\r\nexport * from './lib/kadooglu.module';\r\n\r\n// Services\r\nexport * from './lib/hit-proxy/hit-factory-entry/hit-factory-entry.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.KadoogluService","map","i1","i3","i4","i5","i6","i2.HitFactoryEntryService","i3.HitCarrierPersonService","i4.HitPlateService","i5.HitVehicleTypeService","i6.HitBusinessPartnerService","i7.HitUserGateService","i8","i9","i10.HitModalComponent","i11","i3.HitVehicleTypeService","i7","i10","i11.HitFactoryEntryFormComponent","routes","i2.HitScaleService","i3.HitPlateService","i4.HitCarrierPersonService","i5.HitBusinessPartnerService","i6.HitItemService","i7.HitPurchaseDeliveryNoteService","i8.HitStockTransferService","i9.HitGateService","i10.HitVehicleTypeService","i1.HitEntryWeighingService","i2","i5.HitGateService","i2.HitStockTransferService","i8.HitModalComponent","i1.HitVehicleTypeService","i2.HitWarehouseService","i5.HitModalComponent","i9.HitVehicleTypeFormComponent","i1.HitScaleService","i8.HitScaleFormComponent","i1.HitGateService","i3.HitUserGateService","i8.HitGateFormComponent","i1.HitCarrierPersonService","i4.HitModalComponent","i9.HitCarrierPersonFormComponent","i1.HitPlateService","i9.HitPlateFormComponent","i1.HitKntItemEslService","i2.HitItemService","i9.HitKntItemEslFormComponent"],"mappings":"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"}
1
+ {"version":3,"file":"hitsoft-abp.kadooglu.mjs","sources":["../../../projects/kadooglu/src/lib/services/kadooglu.service.ts","../../../projects/kadooglu/src/lib/components/kadooglu.component.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-factory-entry/hit-factory-entry.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-vehicle-type/hit-vehicle-type.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-carrier-person/hit-carrier-person.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-plate/hit-plate.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-business-partner/hit-business-partner.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-user-gate/hit-user-gate.service.ts","../../../projects/kadooglu/src/lib/shared/hit-modal/hit-modal.component.ts","../../../projects/kadooglu/src/lib/shared/hit-modal/hit-modal.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-form/hit-factory-entry-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-list/hit-factory-entry-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry-routing.module.ts","../../../projects/kadooglu/src/lib/shared/hit-modal/hit-ui.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-factory-entry/hit-factory-entry.module.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-scale/hit-scale.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-item/hit-item.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-purchase-delivery-note/hit-purchase-delivery-note.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-stock-transfer/hit-stock-transfer.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-gate/hit-gate.service.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-entry-weighing/hit-entry-weighing.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-list/hit-entry-weighing-list.component.html","../../../projects/kadooglu/src/lib/services/scale-signalr.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-form/hit-entry-weighing-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-entry-weighing/hit-entry-weighing.module.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-warehouse/hit-warehouse.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-form/hit-vehicle-type-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-list/hit-vehicle-type-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-list/hit-vehicle-type-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-vehicle-type/hit-vehicle-type.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-form/hit-scale-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-form/hit-scale-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-list/hit-scale-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-list/hit-scale-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-scale/hit-scale.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-form/hit-gate-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-form/hit-gate-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-list/hit-gate-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-list/hit-gate-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-gate/hit-gate.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-form/hit-carrier-person-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-list/hit-carrier-person-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-list/hit-carrier-person-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-carrier-person/hit-carrier-person.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-form/hit-plate-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-form/hit-plate-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-list/hit-plate-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-list/hit-plate-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-plate/hit-plate.module.ts","../../../projects/kadooglu/src/lib/hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-form/hit-knt-item-esl-form.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-list/hit-knt-item-esl-list.component.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-list/hit-knt-item-esl-list.component.html","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl-routing.module.ts","../../../projects/kadooglu/src/lib/hit-components/hit-knt-item-esl/hit-knt-item-esl.module.ts","../../../projects/kadooglu/src/lib/kadooglu-routing.module.ts","../../../projects/kadooglu/src/lib/kadooglu.module.ts","../../../projects/kadooglu/src/public-api.ts","../../../projects/kadooglu/src/hitsoft-abp.kadooglu.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { RestService } from '@abp/ng.core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KadoogluService {\n apiName = 'Kadooglu';\n\n constructor(private restService: RestService) {}\n\n sample() {\n return this.restService.request<void, any>(\n { method: 'GET', url: '/api/Kadooglu/sample' },\n { apiName: this.apiName }\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { KadoogluService } from '../services/kadooglu.service';\n\n@Component({\n selector: 'lib-kadooglu',\n template: ` <p>kadooglu works!</p> `,\n styles: [],\n})\nexport class KadoogluComponent implements OnInit {\n constructor(private service: KadoogluService) {}\n\n ngOnInit(): void {\n this.service.sample().subscribe(console.log);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiResponse } from '../models';\r\nimport {\r\n FactoryEntry,\r\n SaveFactoryEntryDto,\r\n} from './models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitFactoryEntryService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/factory-entries';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<FactoryEntry[]> {\r\n const defaultParams = { maxResultCount: 100, skipCount: 0, ...params };\r\n return this.restService.request<void, ApiResponse<FactoryEntry[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(r => r?.items ?? [])\r\n );\r\n }\r\n\r\n get(id: string): Observable<FactoryEntry> {\r\n return this.restService.request<void, ApiResponse<FactoryEntry>>(\r\n { method: 'GET', url: `${this.baseUrl}/${id}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveFactoryEntryDto): Observable<FactoryEntry> {\r\n return this.restService.request<SaveFactoryEntryDto, ApiResponse<FactoryEntry>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(id: string, body: SaveFactoryEntryDto): Observable<FactoryEntry> {\r\n return this.restService.request<SaveFactoryEntryDto, ApiResponse<FactoryEntry>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${id}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(id: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${id}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n\r\n checkout(docEntry: number): Observable<FactoryEntry> {\r\n return this.restService.request<void, ApiResponse<FactoryEntry>>(\r\n { method: 'POST', url: `${this.baseUrl}/${docEntry}/checkout` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable, of } from 'rxjs';\r\nimport { VehicleType, SaveVehicleTypeDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitVehicleTypeService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/vehicle-types';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<VehicleType[]> {\r\n return this.restService.request<void, ApiResponse<VehicleType[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<VehicleType> {\r\n return this.restService.request<void, ApiResponse<VehicleType>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveVehicleTypeDto): Observable<VehicleType> {\r\n return this.restService.request<SaveVehicleTypeDto, ApiResponse<VehicleType>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: SaveVehicleTypeDto): Observable<VehicleType> {\r\n return this.restService.request<SaveVehicleTypeDto, ApiResponse<VehicleType>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { CarrierPerson, SaveCarrierPersonDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitCarrierPersonService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/carrierpersons';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<CarrierPerson[]> {\r\n return this.restService.request<void, ApiResponse<CarrierPerson[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? []));\r\n }\r\n\r\n get(code: string): Observable<CarrierPerson> {\r\n return this.restService.request<void, ApiResponse<CarrierPerson>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveCarrierPersonDto): Observable<CarrierPerson> {\r\n return this.restService.request<SaveCarrierPersonDto, ApiResponse<CarrierPerson>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveCarrierPersonDto>): Observable<CarrierPerson> {\r\n return this.restService.request<Partial<SaveCarrierPersonDto>, ApiResponse<CarrierPerson>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Plate, SavePlateDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitPlateService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/plates';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Plate[]> {\r\n return this.restService.request<void, ApiResponse<Plate[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<Plate> {\r\n return this.restService.request<void, ApiResponse<Plate>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SavePlateDto): Observable<Plate> {\r\n return this.restService.request<SavePlateDto, ApiResponse<Plate>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SavePlateDto>): Observable<Plate> {\r\n return this.restService.request<Partial<SavePlateDto>, ApiResponse<Plate>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { BusinessPartner } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitBusinessPartnerService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/business-partners';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<BusinessPartner[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<BusinessPartner[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { UserGateItem } from './models';\r\nimport { Gate } from '../hit-gate/models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitUserGateService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/user-gates';\r\n gateBaseUrl = '/api/entegration-service/gates';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getByGateCode(gateCode: string): Observable<UserGateItem[]> {\r\n return this.restService.request<void, ApiResponse<UserGateItem[]>>(\r\n { method: 'GET', url: this.baseUrl, params: { gateCode } },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? []));\r\n }\r\n\r\n getMyGates(): Observable<Gate[]> {\r\n return this.restService.request<void, ApiResponse<Gate[]>>(\r\n { method: 'GET', url: `${this.gateBaseUrl}/my-gates` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? []));\r\n }\r\n\r\n getMyDefaultGateCode(): Observable<string | null> {\r\n return this.restService.request<void, ApiResponse<string>>(\r\n { method: 'GET', url: `${this.baseUrl}/my-default-gate` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? null));\r\n }\r\n\r\n saveGateUsers(gateCode: string, users: UserGateItem[]): Observable<boolean> {\r\n return this.restService.request<UserGateItem[], ApiResponse<boolean>>(\r\n { method: 'POST', url: `${this.baseUrl}/gate/${gateCode}`, body: users },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items ?? false));\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { DxDataGridComponent } from 'devextreme-angular';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'hit-lookup-select',\r\n templateUrl: './hit-modal.component.html',\r\n styleUrls: ['./hit-modal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class HitModalComponent {\r\n @ViewChild('dxdataInstance', { static: false }) dxdataInstance: DxDataGridComponent;\r\n\r\n @Input() displayName = '';\r\n @Input() keyExpr = 'code';\r\n @Input() modalSize = 'xl';\r\n /** Data array that will be shown in the lookup modal grid (eager / pre-loaded). */\r\n @Input() getFn: any[] = [];\r\n /** Function returning Observable — called lazily when the modal opens. */\r\n @Input() loadFn: (() => Observable<any[]>) | null = null;\r\n @Input() columns: any[] = [];\r\n @Input() isVisible = true;\r\n @Input() disabled = false;\r\n @Input() readOnly = false;\r\n\r\n /** Pre-populate display text (e.g. in edit mode). Setter ensures reactive updates. */\r\n @Input()\r\n set editingData(val: any) {\r\n if (val === null || val === undefined) {\r\n this.textDisplay = '';\r\n return;\r\n }\r\n if (typeof val === 'string') {\r\n this.textDisplay = val;\r\n } else if (this.displayName && val[this.displayName] !== undefined) {\r\n this.textDisplay = val[this.displayName];\r\n }\r\n }\r\n\r\n @Output() selected = new EventEmitter<any>();\r\n\r\n data: any[] = [];\r\n openModal = false;\r\n isLoading = false;\r\n textDisplay = '';\r\n\r\n clickForOpenModal(): void {\r\n this.openModal = true;\r\n if (this.loadFn) {\r\n this.isLoading = true;\r\n this.data = [];\r\n this.loadFn().subscribe({\r\n next: (result) => {\r\n this.data = result;\r\n this.isLoading = false;\r\n },\r\n error: () => {\r\n this.data = [];\r\n this.isLoading = false;\r\n },\r\n });\r\n } else {\r\n this.data = this.getFn;\r\n }\r\n }\r\n\r\n setTitle(): void {\r\n this.openModal = false;\r\n const selectedData = this.dxdataInstance?.instance.getSelectedRowsData() ?? [];\r\n const selectedKeys = this.dxdataInstance?.instance.getSelectedRowKeys() ?? [];\r\n if (selectedKeys.length > 0) {\r\n this.textDisplay = selectedData[0]?.[this.displayName] ?? '';\r\n this.selected.emit(selectedData[0]);\r\n }\r\n }\r\n\r\n setTitleOnDoubleClick(e: any): void {\r\n this.openModal = false;\r\n if (e?.data) {\r\n this.textDisplay = e.data[this.displayName] ?? '';\r\n this.selected.emit(e.data);\r\n }\r\n }\r\n\r\n clearValue(): void {\r\n this.textDisplay = '';\r\n this.selected.emit(null);\r\n }\r\n}\r\n","<div class=\"hit-lookup-group\">\r\n <dx-text-box\r\n [ngModel]=\"textDisplay\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"true\"\r\n maxlength=\"64\">\r\n </dx-text-box>\r\n <div class=\"hit-lookup-actions\" *ngIf=\"isVisible && !readOnly\">\r\n <button\r\n class=\"hit-lookup-btn hit-lookup-btn-clear\"\r\n type=\"button\"\r\n *ngIf=\"textDisplay\"\r\n (click)=\"clearValue()\"\r\n [disabled]=\"disabled\"\r\n title=\"Temizle\">\r\n <i class=\"fa fa-times\"></i>\r\n </button>\r\n <button\r\n class=\"hit-lookup-btn\"\r\n type=\"button\"\r\n (click)=\"clickForOpenModal()\"\r\n [disabled]=\"disabled\"\r\n title=\"Ara\">\r\n <i class=\"fa fa-search\"></i>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"openModal\" [options]=\"{ size: modalSize }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'AbpUi::Search' | abpLocalization }}</h3>\r\n </ng-template>\r\n <ng-template #abpBody>\r\n <!-- Loading overlay -->\r\n <div *ngIf=\"isLoading\" class=\"d-flex flex-column align-items-center justify-content-center\" style=\"height: 55vh;\">\r\n <div class=\"spinner-border text-primary mb-3\" style=\"width: 3rem; height: 3rem;\" role=\"status\">\r\n <span class=\"visually-hidden\">Yükleniyor...</span>\r\n </div>\r\n <span class=\"text-muted\">Veriler yükleniyor...</span>\r\n </div>\r\n <dx-data-grid\r\n *ngIf=\"!isLoading\"\r\n #dxdataInstance\r\n [columns]=\"columns\"\r\n [dataSource]=\"data\"\r\n [keyExpr]=\"keyExpr\"\r\n [showRowLines]=\"true\"\r\n [showBorders]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [repaintChangesOnly]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [allowColumnReordering]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [focusedRowEnabled]=\"true\"\r\n [columnHidingEnabled]=\"true\"\r\n style=\"height: 55vh;\"\r\n (onRowDblClick)=\"setTitleOnDoubleClick($event)\">\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[50, 100, 200]\"\r\n [showNavigationButtons]=\"true\"\r\n [showPageSizeSelector]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"50\"></dxo-paging>\r\n <dxo-header-filter [allowSearch]=\"true\" [visible]=\"true\"></dxo-header-filter>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-filter-panel [visible]=\"true\"></dxo-filter-panel>\r\n <dxo-sorting mode=\"single\"></dxo-sorting>\r\n <dxo-scrolling mode=\"horizontal\" showScrollbar=\"always\"></dxo-scrolling>\r\n <dxo-selection mode=\"single\"></dxo-selection>\r\n </dx-data-grid>\r\n </ng-template>\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" buttonType=\"button\" (click)=\"setTitle()\">\r\n {{ 'AbpUi::Select' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import {Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges} from '@angular/core';\r\nimport {ConfirmationService} from '@abp/ng.theme.shared';\r\nimport {LocalizationService} from '@abp/ng.core';\r\nimport {HitFactoryEntryService} from '../../../hit-proxy/hit-factory-entry/hit-factory-entry.service';\r\nimport {HitVehicleTypeService} from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\nimport {VehicleType} from '../../../hit-proxy/hit-vehicle-type/models';\r\nimport {Plate} from '../../../hit-proxy/hit-plate/models';\r\nimport {CarrierPerson} from '../../../hit-proxy/hit-carrier-person/models';\r\nimport {HitCarrierPersonService} from '../../../hit-proxy/hit-carrier-person/hit-carrier-person.service';\r\nimport {HitPlateService} from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport {FactoryEntry, SaveFactoryEntryDto} from \"../../../hit-proxy/hit-factory-entry/models\";\r\nimport {HitBusinessPartnerService} from '../../../hit-proxy/hit-business-partner/hit-business-partner.service';\r\nimport {BusinessPartner} from '../../../hit-proxy/hit-business-partner/models';\r\nimport {HitUserGateService} from '../../../hit-proxy/hit-user-gate/hit-user-gate.service';\r\nimport {Gate} from '../../../hit-proxy/hit-gate/models';\r\nimport {map} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'lib-hit-factory-entry-form',\r\n templateUrl: './hit-factory-entry-form.component.html',\r\n})\r\nexport class HitFactoryEntryFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: FactoryEntry | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n // Lookup data arrays for modals\r\n typeData: VehicleType[] = [];\r\n carrierData: CarrierPerson[] = [];\r\n\r\n // Lazy loaders for plate lookups — filtered by u_IsTrailer\r\n loadVehiclePlates = () => this.plateService.getList().pipe(\r\n map(plates => plates.filter(p => p.u_IsTrailer !== 'Y'))\r\n );\r\n loadTrailerPlates = () => this.plateService.getList().pipe(\r\n map(plates => plates.filter(p => p.u_IsTrailer === 'Y'))\r\n );\r\n gateData: Gate[] = [];\r\n defaultGateCode = '';\r\n\r\n // Column configs for lookup modals\r\n typeColumns = [\r\n {dataField: 'code', caption: 'Kod', width: 100},\r\n {dataField: 'name', caption: 'Ad'},\r\n ];\r\n plateColumns = [\r\n {dataField: 'code', caption: 'Plaka', width: 100},\r\n {dataField: 'name', caption: 'Name'},\r\n ];\r\n carrierColumns = [\r\n {dataField: 'code', caption: 'T.C. Kimlik No', width: 140},\r\n {dataField: 'name', caption: 'Ad Soyad'},\r\n ];\r\n businessPartnerColumns = [\r\n {dataField: 'cardCode', caption: 'Cari Kod', width: 120},\r\n {dataField: 'cardName', caption: 'Cari Unvan'},\r\n ];\r\n\r\n // Form fields\r\n gateCode = '';\r\n entryDateTime: Date | null = null;\r\n exitDateTime: Date | null = null;\r\n selectedTypeCode = '';\r\n selectedTypeName = '';\r\n selectedPlateNo = '';\r\n tcNo = '';\r\n selectedCarrierName = '';\r\n businessPartnerData: BusinessPartner[] = [];\r\n selectedBusinessPartnerCode = '';\r\n selectedBusinessPartnerName = '';\r\n description = '';\r\n\r\n // Plate input mode\r\n plateInputMode: 'lookup' | 'manual' = 'lookup';\r\n manualPlateNo = '';\r\n\r\n // Trailer plate\r\n trailerPlateInputMode: 'lookup' | 'manual' = 'lookup';\r\n selectedTrailerPlateNo = '';\r\n manualTrailerPlateNo = '';\r\n\r\n // Carrier TC mode\r\n tcLookupMode = false;\r\n isTcQuerying = false;\r\n isNewCarrier = false;\r\n\r\n // New carrier fields\r\n newCarrierFirstname = '';\r\n newCarrierLastname = '';\r\n newCarrierTel = '';\r\n\r\n isTcCitizen = true;\r\n isLoading = false;\r\n\r\n constructor(\r\n private confirmation: ConfirmationService,\r\n private service: HitFactoryEntryService,\r\n private carrierPersonService: HitCarrierPersonService,\r\n private plateService: HitPlateService,\r\n private vehicleTypeService: HitVehicleTypeService,\r\n private businessPartnerService: HitBusinessPartnerService,\r\n private userGateService: HitUserGateService,\r\n private localizationService: LocalizationService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.vehicleTypeService.getList().subscribe(d => (this.typeData = d));\r\n this.carrierPersonService.getList().subscribe(d => (this.carrierData = d));\r\n this.businessPartnerService.getList().subscribe(d => (this.businessPartnerData = d));\r\n this.userGateService.getMyGates().subscribe(d => (this.gateData = d));\r\n this.userGateService.getMyDefaultGateCode().subscribe(d => (this.defaultGateCode = d ?? ''));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n this.isTcCitizen = true;\r\n this.plateInputMode = 'lookup';\r\n this.manualPlateNo = '';\r\n this.trailerPlateInputMode = 'lookup';\r\n this.selectedTrailerPlateNo = '';\r\n this.manualTrailerPlateNo = '';\r\n this.tcLookupMode = false;\r\n this.isNewCarrier = false;\r\n this.newCarrierFirstname = '';\r\n this.newCarrierLastname = '';\r\n this.newCarrierTel = '';\r\n\r\n if (this.record) {\r\n this.gateCode = this.record.u_GateCode ?? '';\r\n this.entryDateTime = this.buildDateTime(this.record.u_EntryDate, this.record.u_EntryTime);\r\n this.exitDateTime = this.buildDateTime(this.record.u_ExitDate, this.record.u_ExitTime);\r\n this.selectedTypeCode = this.record.u_EntryType;\r\n this.selectedTypeName = this.record.u_EntryType;\r\n this.selectedPlateNo = this.formatPlate(this.record.u_Plate);\r\n this.selectedTrailerPlateNo = this.formatPlate(this.record.u_DorsePlate ?? '');\r\n this.tcNo = this.record.u_TcNo;\r\n this.selectedCarrierName = this.record.u_Driver;\r\n this.description = this.record.u_Description;\r\n this.selectedBusinessPartnerCode = this.record.u_CardCode ?? '';\r\n this.selectedBusinessPartnerName = this.businessPartnerData.find(p => p.cardCode === this.record.u_CardCode)?.cardName ?? this.record.u_CardCode ?? '';\r\n } else {\r\n this.gateCode = this.defaultGateCode;\r\n this.entryDateTime = new Date();\r\n this.exitDateTime = null;\r\n this.selectedTypeCode = '';\r\n this.selectedTypeName = '';\r\n this.selectedPlateNo = '';\r\n this.tcNo = '';\r\n this.selectedCarrierName = '';\r\n this.description = '';\r\n this.selectedBusinessPartnerCode = '';\r\n this.selectedBusinessPartnerName = '';\r\n }\r\n }\r\n\r\n private buildDateTime(dateStr?: string, timeNum?: number): Date | null {\r\n if (!dateStr) return null;\r\n const d = new Date(dateStr);\r\n if (timeNum != null) {\r\n d.setHours(Math.floor(timeNum / 100), timeNum % 100, 0, 0);\r\n }\r\n return d;\r\n }\r\n\r\n onTypeSelected(e: VehicleType): void {\r\n if (!e) return;\r\n this.selectedTypeCode = e.code;\r\n this.selectedTypeName = e.name;\r\n }\r\n\r\n onPlateSelected(e: Plate): void {\r\n if (!e) return;\r\n this.selectedPlateNo = this.formatPlate(e.code);\r\n }\r\n\r\n onTrailerPlateSelected(e: Plate): void {\r\n if (!e) return;\r\n this.selectedTrailerPlateNo = this.formatPlate(e.code);\r\n }\r\n\r\n onManualPlateFocusOut(): void {\r\n this.manualPlateNo = this.formatPlate(this.manualPlateNo);\r\n }\r\n\r\n onManualTrailerPlateFocusOut(): void {\r\n this.manualTrailerPlateNo = this.formatPlate(this.manualTrailerPlateNo);\r\n }\r\n\r\n /** Türk plakasını \"34 HMA 001\" formatına dönüştürür */\r\n formatPlate(value: string): string {\r\n if (!value) return value;\r\n const raw = value.replace(/[^A-Za-z0-9ÇĞİÖŞÜçğıöşü]/g, '').toUpperCase();\r\n const match = raw.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n if (match) {\r\n return `${match[1]} ${match[2]} ${match[3]}`;\r\n }\r\n return value.trim().toUpperCase();\r\n }\r\n\r\n onCarrierLookupSelected(e: CarrierPerson): void {\r\n if (!e) return;\r\n this.selectedCarrierName = e.name;\r\n this.tcNo = e.code;\r\n this.isNewCarrier = false;\r\n this.tcLookupMode = false;\r\n }\r\n\r\n onBusinessPartnerSelected(e: BusinessPartner): void {\r\n if (!e) {\r\n this.selectedBusinessPartnerCode = '';\r\n this.selectedBusinessPartnerName = '';\r\n return;\r\n }\r\n this.selectedBusinessPartnerCode = e.cardCode;\r\n this.selectedBusinessPartnerName = e.cardName;\r\n }\r\n\r\n queryCarrierByTcNo(): void {\r\n const tc = this.tcNo?.trim();\r\n if (!tc) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::PleaseEnterTcNo'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n this.isTcQuerying = true;\r\n this.carrierPersonService.get(tc).subscribe({\r\n next: (carrier) => {\r\n this.isTcQuerying = false;\r\n if (carrier) {\r\n this.selectedCarrierName = carrier.name;\r\n this.isNewCarrier = false;\r\n } else {\r\n this.selectedCarrierName = '';\r\n this.isNewCarrier = true;\r\n this.newCarrierFirstname = '';\r\n this.newCarrierLastname = '';\r\n this.newCarrierTel = '';\r\n }\r\n },\r\n error: () => {\r\n this.isTcQuerying = false;\r\n this.isNewCarrier = true;\r\n this.newCarrierFirstname = '';\r\n this.newCarrierLastname = '';\r\n this.newCarrierTel = '';\r\n },\r\n });\r\n }\r\n\r\n save(): void {\r\n const effectivePlateNo = this.formatPlate(\r\n this.plateInputMode === 'manual'\r\n ? this.manualPlateNo.trim().toUpperCase()\r\n : this.selectedPlateNo\r\n );\r\n\r\n const effectiveTrailerPlateNo = this.formatPlate(\r\n this.trailerPlateInputMode === 'manual'\r\n ? this.manualTrailerPlateNo.trim().toUpperCase()\r\n : this.selectedTrailerPlateNo\r\n );\r\n\r\n if (!this.selectedTypeCode || !effectivePlateNo || !this.tcNo?.trim()) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::FillRequiredFields'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.isTcCitizen && !this.validateTCKN(this.tcNo)) {\r\n this.confirmation.warn('Geçersiz T.C. Kimlik No. Lütfen 11 haneli, geçerli bir TCKN giriniz.', '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.isNewCarrier && (!this.newCarrierFirstname?.trim() || !this.newCarrierLastname?.trim())) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::EnterNewDriverName'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveFactoryEntryDto = {\r\n u_GateCode: this.gateCode,\r\n u_EntryDate: this.entryDateTime\r\n ? this.entryDateTime.toISOString().split('T')[0]\r\n : undefined,\r\n u_EntryTime: this.entryDateTime\r\n ? this.entryDateTime.getHours() * 100 + this.entryDateTime.getMinutes()\r\n : undefined,\r\n u_ExitDate: this.exitDateTime\r\n ? this.exitDateTime.toISOString().split('T')[0]\r\n : undefined,\r\n u_ExitTime: this.exitDateTime\r\n ? this.exitDateTime.getHours() * 100 + this.exitDateTime.getMinutes()\r\n : undefined,\r\n u_EntryType: this.selectedTypeCode,\r\n u_Plate: effectivePlateNo,\r\n u_DorsePlate: effectiveTrailerPlateNo || undefined,\r\n u_TcNo: this.tcNo.trim(),\r\n u_Driver: this.isNewCarrier\r\n ? `${this.newCarrierFirstname.trim()} ${this.newCarrierLastname.trim()}`\r\n : undefined,\r\n u_DriverFirstname: this.isNewCarrier ? this.newCarrierFirstname.trim() : undefined,\r\n u_DriverLastname: this.isNewCarrier ? this.newCarrierLastname.trim() : undefined,\r\n u_DriverTel: this.isNewCarrier ? (this.newCarrierTel.trim() || undefined) : undefined,\r\n u_CardCode: this.selectedBusinessPartnerCode,\r\n u_Description: this.description,\r\n };\r\n\r\n const doSave = () => {\r\n const obs$ = this.record?.docEntry\r\n ? this.service.update(this.record.docEntry.toString(), dto)\r\n : this.service.create(dto);\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n };\r\n\r\n const isManual = this.plateInputMode === 'manual' ||\r\n (this.trailerPlateInputMode === 'manual' && !!effectiveTrailerPlateNo);\r\n\r\n if (isManual) {\r\n this.isLoading = true;\r\n this.plateService.getList().subscribe(plates => {\r\n this.isLoading = false;\r\n\r\n // Manuel plaka duplicate kontrolü\r\n if (this.plateInputMode === 'manual') {\r\n const duplicate = plates.find(\r\n p => p.code.trim().toUpperCase() === effectivePlateNo\r\n );\r\n if (duplicate) {\r\n this.confirmation.warn(\r\n this.localizationService.instant('Kadooglu::PlateAlreadyExists', effectivePlateNo),\r\n '',\r\n {hideYesBtn: true, cancelText: this.localizationService.instant('Kadooglu::Cancel'), dismissible: false}\r\n );\r\n this.plateInputMode = 'lookup';\r\n this.selectedPlateNo = duplicate.code;\r\n return;\r\n }\r\n }\r\n\r\n // Manuel dorse plaka duplicate kontrolü\r\n if (this.trailerPlateInputMode === 'manual' && effectiveTrailerPlateNo) {\r\n const trailerDuplicate = plates.find(\r\n p => p.code.trim().toUpperCase() === effectiveTrailerPlateNo\r\n );\r\n if (trailerDuplicate) {\r\n this.confirmation.warn(\r\n this.localizationService.instant('Kadooglu::PlateAlreadyExists', effectiveTrailerPlateNo),\r\n '',\r\n {hideYesBtn: true, cancelText: this.localizationService.instant('Kadooglu::Cancel'), dismissible: false}\r\n );\r\n this.trailerPlateInputMode = 'lookup';\r\n this.selectedTrailerPlateNo = trailerDuplicate.code;\r\n return;\r\n }\r\n }\r\n\r\n doSave();\r\n });\r\n } else {\r\n doSave();\r\n }\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n\r\n private validateTCKN(value: string): boolean {\r\n const tc = value?.trim();\r\n if (!tc || tc.length !== 11) return false;\r\n if (!/^\\d{11}$/.test(tc)) return false;\r\n if (tc[0] === '0') return false;\r\n const d = tc.split('').map(Number);\r\n const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;\r\n if (d10 !== d[9]) return false;\r\n const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;\r\n return d11 === d[10];\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.docEntry ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n\r\n <!-- Giriş / Çıkış Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-clock me-2\"></i>{{ 'Kadooglu::EntryExitInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitDateTime' | abpLocalization }}</label>\r\n <dx-date-box\r\n [(value)]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [showClearButton]=\"true\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Gate' | abpLocalization }}</label>\r\n <dx-select-box\r\n [(value)]=\"gateCode\"\r\n [dataSource]=\"gateData\"\r\n displayExpr=\"name\"\r\n valueExpr=\"code\"\r\n [placeholder]=\"'Kadooglu::SelectGate' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Araç Bilgileri -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n Araç Hareket Türü <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"typeData\"\r\n [columns]=\"typeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedTypeName\"\r\n (selected)=\"onTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"plateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehiclePlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedPlateNo\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"plateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"plateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DorsePlate' | abpLocalization }}\r\n </label>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'lookup'\">\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"selectedTrailerPlateNo\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'manual'\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::ManualEntry' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"trailerPlateInputMode === 'manual'\">\r\n <dx-text-box\r\n [(value)]=\"manualTrailerPlateNo\"\r\n [placeholder]=\"'Kadooglu::EnterPlate' | abpLocalization\"\r\n width=\"100%\"\r\n (onFocusOut)=\"onManualTrailerPlateFocusOut()\">\r\n </dx-text-box>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"trailerPlateInputMode = 'lookup'\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <!-- Sürücü & Firma -->\r\n <div class=\"border rounded p-3 mb-2\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::DriverAndCompany' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatandaşı\"></dx-check-box>\r\n </div>\r\n <ng-container *ngIf=\"!tcLookupMode\">\r\n <div class=\"d-flex gap-2\">\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\"\r\n [disabled]=\"isTcQuerying\"\r\n (click)=\"queryCarrierByTcNo()\">\r\n <i class=\"fa fa-search me-1\"></i>\r\n {{ (isTcQuerying ? 'Kadooglu::Querying' : 'Kadooglu::Query') | abpLocalization }}\r\n </button>\r\n </div>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = true\">\r\n <i class=\"fa fa-list me-1\"></i> {{ 'Kadooglu::SelectFromList' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"tcLookupMode\">\r\n <hit-lookup-select\r\n [getFn]=\"carrierData\"\r\n [columns]=\"carrierColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"selectedCarrierName\"\r\n (selected)=\"onCarrierLookupSelected($event)\">\r\n </hit-lookup-select>\r\n <div class=\"mt-1\">\r\n <a href=\"javascript:void(0)\" class=\"small text-primary\" (click)=\"tcLookupMode = false\">\r\n <i class=\"fa fa-keyboard me-1\"></i> {{ 'Kadooglu::QueryByTc' | abpLocalization }}\r\n </a>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Mevcut sürücü: sadece adı göster (readonly) -->\r\n <ng-container *ngIf=\"!isNewCarrier\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::DriverNameSurname' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"selectedCarrierName\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Yeni sürücü: Ad, Soyad, Telefon alanlarını göster -->\r\n <ng-container *ngIf=\"isNewCarrier\">\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierFirstname\"\r\n [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierLastname\"\r\n [placeholder]=\"'Kadooglu::LastName' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::Phone' | abpLocalization }}\r\n </label>\r\n <dx-text-box\r\n [(value)]=\"newCarrierTel\"\r\n [placeholder]=\"'Kadooglu::Phone' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"alert alert-info small py-1 mb-3\">\r\n <i class=\"fa fa-info-circle me-1\"></i>\r\n {{ 'Kadooglu::NewDriverAlert' | abpLocalization }}\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::BusinessPartner' | abpLocalization }}\r\n </label>\r\n <hit-lookup-select\r\n [getFn]=\"businessPartnerData\"\r\n [columns]=\"businessPartnerColumns\"\r\n displayName=\"cardName\"\r\n keyExpr=\"cardCode\"\r\n [editingData]=\"selectedBusinessPartnerName\"\r\n (selected)=\"onBusinessPartnerSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <!-- Açıklama -->\r\n <div class=\"mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"80\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isLoading\"\r\n (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { DxDataGridComponent } from 'devextreme-angular';\r\nimport { HitFactoryEntryService } from '../../../hit-proxy/hit-factory-entry/hit-factory-entry.service';\r\nimport { FactoryEntry } from '../../../hit-proxy/hit-factory-entry/models';\r\nimport { HitVehicleTypeService } from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\n\r\n@Component({\r\n selector: 'lib-hit-factory-entry-list',\r\n templateUrl: './hit-factory-entry-list.component.html',\r\n styleUrls: ['./hit-factory-entry-list.component.scss'],\r\n})\r\nexport class HitFactoryEntryListComponent implements OnInit {\r\n @ViewChild('dataGrid', { static: false }) dataGrid!: DxDataGridComponent;\r\n\r\n allData: FactoryEntry[] = [];\r\n filteredData: FactoryEntry[] = [];\r\n vehicleTypeMap = new Map<string, string>();\r\n filterMode: 'all' | 'inside' = 'all';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: FactoryEntry | null = null;\r\n\r\n factoryStatusFilterDataSource = [\r\n { value: 'inside', text: 'Giriş Yaptı' },\r\n { value: 'exited', text: 'Çıkış Yaptı' },\r\n ];\r\n\r\n calcFactoryStatus = (row: FactoryEntry): string => row.u_ExitDate ? 'exited' : 'inside';\r\n\r\n constructor(\r\n private confirmation: ConfirmationService,\r\n private service: HitFactoryEntryService,\r\n private vehicleTypeService: HitVehicleTypeService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.vehicleTypeService.getList().subscribe(types => {\r\n this.vehicleTypeMap = new Map(types.map(t => [t.code, t.name]));\r\n });\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.applyFilter();\r\n });\r\n }\r\n\r\n setFilter(mode: 'all' | 'inside'): void {\r\n this.filterMode = mode;\r\n this.applyFilter();\r\n this.dataGrid?.instance?.repaint();\r\n }\r\n\r\n applyFilter(): void {\r\n if (this.filterMode === 'inside') {\r\n this.filteredData = this.allData.filter(x => !x.u_ExitDate);\r\n } else {\r\n this.filteredData = [...this.allData];\r\n }\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift(\r\n {\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: this.localizationService.instant('Kadooglu::NewRecord'),\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: 'Tüm Araçlar',\r\n type: this.filterMode === 'all' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'all' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('all'),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: 'İçerideki Araçlar',\r\n type: this.filterMode === 'inside' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'inside' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('inside'),\r\n },\r\n }\r\n );\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: FactoryEntry): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n cikisYap(row: FactoryEntry): void {\r\n this.confirmation\r\n .warn(`\"${row.u_Plate}\" plakalı aracın çıkış yapacağına emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(result => {\r\n if (result === 'confirm') {\r\n this.service.checkout(row.docEntry).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n sil(row: FactoryEntry): void {\r\n this.confirmation\r\n .warn(`\"${row.u_Plate}\" plakalı kaydı silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.docEntry.toString()).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n\r\n formatEntryDateTime(dateStr: string | null | undefined, timeNum: number | null | undefined): string {\r\n if (!dateStr) return '';\r\n // Tarihi yerel saat olarak parse et (UTC yorumunu önlemek için T00:00 eklenmeden)\r\n const parts = dateStr.split('T')[0].split('-');\r\n if (parts.length < 3) return dateStr;\r\n const d = new Date(+parts[0], +parts[1] - 1, +parts[2]);\r\n if (isNaN(d.getTime())) return dateStr;\r\n if (timeNum != null) {\r\n d.setHours(Math.floor(timeNum / 100), timeNum % 100, 0, 0);\r\n }\r\n const dd = String(d.getDate()).padStart(2, '0');\r\n const mm = String(d.getMonth() + 1).padStart(2, '0');\r\n const yyyy = d.getFullYear();\r\n const hh = String(d.getHours()).padStart(2, '0');\r\n const min = String(d.getMinutes()).padStart(2, '0');\r\n return `${dd}.${mm}.${yyyy} ${hh}:${min}`;\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n\r\n getVehicleTypeName(code: string | undefined): string {\r\n if (!code) return '';\r\n return this.vehicleTypeMap.get(code) ?? code;\r\n }\r\n\r\n getFactoryEntryStatusLabel(exitDate: string | null | undefined): string {\r\n return exitDate ? 'Çıkış Yaptı' : 'Giriş Yaptı';\r\n }\r\n\r\n getFactoryEntryStatusClass(exitDate: string | null | undefined): string {\r\n return exitDate\r\n ? 'badge rounded-pill bg-success fs-6 fw-normal'\r\n : 'badge rounded-pill bg-secondary fs-6 fw-normal';\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::FactoryEntryTitle' | abpLocalization }}</h3>\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\r\n <!-- Grid -->\r\n <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"!row.data.u_ExitDate\" (click)=\"cikisYap(row.data)\">\r\n <i class=\"fa fa-sign-out\" aria-hidden=\"true\"></i> Çıkış Yap\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"factoryEntryStatusTemplate\"\r\n [allowFiltering]=\"true\"\r\n [allowHeaderFiltering]=\"true\"\r\n [calculateCellValue]=\"calcFactoryStatus\">\r\n <dxo-lookup [dataSource]=\"factoryStatusFilterDataSource\" valueExpr=\"value\" displayExpr=\"text\"></dxo-lookup>\r\n <dxo-header-filter [dataSource]=\"factoryStatusFilterDataSource\"></dxo-header-filter>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTemplate\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDateTime' | abpLocalization }}\"\r\n [visible]=\"filterMode === 'all'\"\r\n cellTemplate=\"exitDateTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Araç Hareket Türü\"\r\n cellTemplate=\"vehicleTypeTemplate\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::Driver' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::BusinessPartner' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'vehicleTypeTemplate'\">\r\n {{ getVehicleTypeName(cell.data.u_EntryType) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_ExitDate, cell.data.u_ExitTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'factoryEntryStatusTemplate'\">\r\n <span [class]=\"getFactoryEntryStatusClass(cell.data.u_ExitDate)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getFactoryEntryStatusLabel(cell.data.u_ExitDate) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-factory-entry-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-factory-entry-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitFactoryEntryListComponent } from './hit-factory-entry-list/hit-factory-entry-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitFactoryEntryListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitFactoryEntryRoutingModule {}","import { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { HitModalComponent } from './hit-modal.component';\r\nimport { DxDataGridModule, DxTextBoxModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [HitModalComponent],\r\n imports: [\r\n CoreModule,\r\n ThemeSharedModule,\r\n FormsModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n ],\r\n exports: [HitModalComponent],\r\n})\r\nexport class HitUIModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitFactoryEntryRoutingModule } from './hit-factory-entry-routing.module';\r\nimport { HitFactoryEntryListComponent } from './hit-factory-entry-list/hit-factory-entry-list.component';\r\nimport { HitFactoryEntryFormComponent } from './hit-factory-entry-form/hit-factory-entry-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxNumberBoxModule,\r\n DxSelectBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxTagBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitFactoryEntryListComponent, HitFactoryEntryFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitFactoryEntryRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxNumberBoxModule,\r\n DxSelectBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxTagBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n NgbDropdownModule,\r\n ],\r\n})\r\nexport class HitFactoryEntryModule {}\r\n\r\nexport function loadHitFactoryEntryModuleAsChild() {\r\n return Promise.resolve(HitFactoryEntryModule);\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Scale, SaveScaleDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitScaleService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/scales';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Scale[]> {\r\n return this.restService.request<void, ApiResponse<Scale[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<Scale> {\r\n return this.restService.request<void, ApiResponse<Scale>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveScaleDto): Observable<Scale> {\r\n return this.restService.request<SaveScaleDto, ApiResponse<Scale>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveScaleDto>): Observable<Scale> {\r\n return this.restService.request<Partial<SaveScaleDto>, ApiResponse<Scale>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Item } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitItemService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/items';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Item[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<Item[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { PurchaseDeliveryNote } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitPurchaseDeliveryNoteService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/purchase-delivery-notes';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<PurchaseDeliveryNote[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<PurchaseDeliveryNote[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { StockTransfer } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitStockTransferService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/stock-transfers';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<StockTransfer[]> {\r\n const defaultParams = { maxResultCount: 1000, ...params };\r\n return this.restService.request<void, ApiResponse<StockTransfer[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Gate, SaveGateDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitGateService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/gates';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: any): Observable<Gate[]> {\r\n return this.restService.request<void, ApiResponse<Gate[]>>(\r\n { method: 'GET', url: this.baseUrl, params },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<Gate> {\r\n return this.restService.request<void, ApiResponse<Gate>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n create(body: SaveGateDto): Observable<Gate> {\r\n return this.restService.request<SaveGateDto, ApiResponse<Gate>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveGateDto>): Observable<Gate> {\r\n return this.restService.request<Partial<SaveGateDto>, ApiResponse<Gate>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable, map } from 'rxjs';\r\nimport {\r\n EntryWeighing,\r\n EntryWeighingAccount,\r\n EntryWeighingDocument,\r\n EntryWeighingDriver,\r\n EntryWeighingGate,\r\n EntryWeighingScale,\r\n EntryWeighingStockItem,\r\n EntryWeighingTrailerPlate,\r\n EntryWeighingTruckPlate,\r\n EntryWeighingVehicleType,\r\n SaveEntryWeighingDto,\r\n} from './models';\r\nimport { ApiResponse } from '../models';\r\nimport { HitScaleService } from '../hit-scale/hit-scale.service';\r\nimport { HitPlateService } from '../hit-plate/hit-plate.service';\r\nimport { HitCarrierPersonService } from '../hit-carrier-person/hit-carrier-person.service';\r\nimport { HitBusinessPartnerService } from '../hit-business-partner/hit-business-partner.service';\r\nimport { HitItemService } from '../hit-item/hit-item.service';\r\nimport { HitPurchaseDeliveryNoteService } from '../hit-purchase-delivery-note/hit-purchase-delivery-note.service';\r\nimport { HitStockTransferService } from '../hit-stock-transfer/hit-stock-transfer.service';\r\nimport { HitGateService } from '../hit-gate/hit-gate.service';\r\nimport { HitVehicleTypeService } from '../hit-vehicle-type/hit-vehicle-type.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitEntryWeighingService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/entry-weighings';\r\n\r\n constructor(\r\n private restService: RestService,\r\n private scaleService: HitScaleService,\r\n private plateService: HitPlateService,\r\n private carrierPersonService: HitCarrierPersonService,\r\n private businessPartnerService: HitBusinessPartnerService,\r\n private itemService: HitItemService,\r\n private purchaseDeliveryNoteService: HitPurchaseDeliveryNoteService,\r\n private stockTransferService: HitStockTransferService,\r\n private gateService: HitGateService,\r\n private vehicleTypeService: HitVehicleTypeService\r\n ) {}\r\n\r\n getList(params?: any): Observable<EntryWeighing[]> {\r\n const defaultParams = { maxResultCount: 50, ...params };\r\n return this.restService.request<void, ApiResponse<EntryWeighing[]>>(\r\n { method: 'GET', url: this.baseUrl, params: defaultParams },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(docEntry: number): Observable<EntryWeighing> {\r\n return this.restService.request<void, ApiResponse<EntryWeighing>>(\r\n { method: 'GET', url: `${this.baseUrl}/${docEntry}` },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n create(body: SaveEntryWeighingDto): Observable<EntryWeighing> {\r\n return this.restService.request<SaveEntryWeighingDto, ApiResponse<EntryWeighing>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n update(docEntry: number, body: SaveEntryWeighingDto): Observable<EntryWeighing> {\r\n return this.restService.request<SaveEntryWeighingDto, ApiResponse<EntryWeighing>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${docEntry}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n delete(docEntry: number): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${docEntry}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n\r\n doWeighing(docEntry: number, body: { weighingValue: number; operatorCode: string }): Observable<EntryWeighing> {\r\n return this.restService.request<any, ApiResponse<EntryWeighing>>(\r\n { method: 'POST', url: `${this.baseUrl}/${docEntry}/do-weighing`, body },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n // --- Lookup methods ---\r\n\r\n getDocuments(): Observable<EntryWeighingDocument[]> {\r\n return this.purchaseDeliveryNoteService.getList().pipe(\r\n map(notes => notes.map(n => ({ code: n.docNum.toString(), name: n.cardName ?? '' })))\r\n );\r\n }\r\n\r\n getScales(): Observable<EntryWeighingScale[]> {\r\n return this.scaleService.getList().pipe(\r\n map(scales => scales.map(s => ({ code: s.code, name: s.name })))\r\n );\r\n }\r\n\r\n getTruckPlates(): Observable<EntryWeighingTruckPlate[]> {\r\n return this.plateService.getList().pipe(\r\n map(plates => plates\r\n .filter(p => p.u_IsTrailer === 'N' || !p.u_IsTrailer)\r\n .map(p => ({ code: p.code, plateNo: p.code }))\r\n )\r\n );\r\n }\r\n\r\n getTrailerPlates(): Observable<EntryWeighingTrailerPlate[]> {\r\n return this.plateService.getList().pipe(\r\n map(plates => plates\r\n .filter(p => p.u_IsTrailer === 'Y')\r\n .map(p => ({ code: p.code, plateNo: p.code }))\r\n )\r\n );\r\n }\r\n\r\n getDrivers(): Observable<EntryWeighingDriver[]> {\r\n return this.carrierPersonService.getList().pipe(\r\n map(persons => persons\r\n .filter(p => p.u_Active === 'Y')\r\n .map(p => ({ code: p.code, name: `${p.u_Firstname ?? ''} ${p.u_Lastname ?? ''}`.trim() }))\r\n )\r\n );\r\n }\r\n\r\n getAccounts(): Observable<EntryWeighingAccount[]> {\r\n return this.businessPartnerService.getList().pipe(\r\n map(partners => partners.map(p => ({ code: p.cardCode, title: p.cardName })))\r\n );\r\n }\r\n\r\n getStockItems(): Observable<EntryWeighingStockItem[]> {\r\n return this.itemService.getList().pipe(\r\n map(items => items.map(i => ({ code: i.itemCode, name: i.itemName })))\r\n );\r\n }\r\n\r\n getGates(): Observable<EntryWeighingGate[]> {\r\n return this.gateService.getList().pipe(\r\n map(gates => gates.map(g => ({ code: g.code, name: g.name })))\r\n );\r\n }\r\n\r\n getVehicleTypes(): Observable<EntryWeighingVehicleType[]> {\r\n return this.vehicleTypeService.getList().pipe(\r\n map(types => types.map(t => ({\r\n code: t.code, name: t.name,\r\n u_TrtmYpilck: t.u_TrtmYpilck, u_MalGC: t.u_MalGC\r\n })))\r\n );\r\n }\r\n\r\n doGoodsMovement(docEntry: number): Observable<EntryWeighing> {\r\n return this.restService.request<void, ApiResponse<EntryWeighing>>(\r\n { method: 'POST', url: `${this.baseUrl}/${docEntry}/do-goods-movement` },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n getWeighingSlip(docEntry: number): Observable<{ base64: string }> {\r\n return this.restService.request<void, { base64: string }>(\r\n { method: 'GET', url: `${this.baseUrl}/${docEntry}/weighing-slip` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { DxDataGridComponent } from 'devextreme-angular';\r\nimport { HitEntryWeighingService } from '../../../hit-proxy/hit-entry-weighing/hit-entry-weighing.service';\r\nimport { EntryWeighing } from '../../../hit-proxy/hit-entry-weighing/models';\r\nimport { VehicleType } from '../../../hit-proxy/hit-vehicle-type/models';\r\nimport { HitGateService } from '../../../hit-proxy/hit-gate/hit-gate.service';\r\nimport { Gate } from '../../../hit-proxy/hit-gate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-entry-weighing-list',\r\n templateUrl: './hit-entry-weighing-list.component.html',\r\n styleUrls: ['./hit-entry-weighing-list.component.scss'],\r\n})\r\nexport class HitEntryWeighingListComponent implements OnInit {\r\n @ViewChild('dataGrid', { static: false }) dataGrid!: DxDataGridComponent;\r\n\r\n allData: EntryWeighing[] = [];\r\n filteredData: EntryWeighing[] = [];\r\n vehicleTypeList: VehicleType[] = [];\r\n gateList: Gate[] = [];\r\n malGcTypes = new Set<string>();\r\n weighingTypes = new Set<string>();\r\n\r\n disabledIdColumn = false;\r\n filterMode: 'all' | 'pending' = 'pending';\r\n statusFilterDataSource: { text: string; value: string }[] = [];\r\n\r\n constructor(\r\n private service: HitEntryWeighingService,\r\n private confirmation: ConfirmationService,\r\n private router: Router,\r\n private localizationService: LocalizationService,\r\n private gateService: HitGateService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.statusFilterDataSource = ['0', '1', '2', '3', '4'].map(v => ({\r\n value: v,\r\n text: this.getStatusLabel(v),\r\n }));\r\n this.gateService.getList().subscribe(gates => (this.gateList = gates));\r\n this.service.getVehicleTypes().subscribe(types => {\r\n this.vehicleTypeList = types;\r\n this.malGcTypes = new Set(types.filter(t => t.u_MalGC === 'Y').map(t => t.code));\r\n this.weighingTypes = new Set(types.filter(t => t.u_TrtmYpilck === 'Y').map(t => t.code));\r\n this.loadList();\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data.filter(x => this.weighingTypes.has(x.u_EntryType));\r\n this.applyFilter();\r\n });\r\n }\r\n\r\n setFilter(mode: 'all' | 'pending'): void {\r\n this.filterMode = mode;\r\n this.applyFilter();\r\n this.dataGrid?.instance?.repaint();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n const allText = this.localizationService.instant('Kadooglu::AllWeighings');\r\n const pendingText = this.localizationService.instant('Kadooglu::PendingWeighings');\r\n const newRecordText = this.localizationService.instant('Kadooglu::NewRecord');\r\n e.toolbarOptions.items.unshift(\r\n {\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: newRecordText,\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: allText,\r\n type: this.filterMode === 'all' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'all' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('all'),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n text: pendingText,\r\n type: this.filterMode === 'pending' ? 'success' : 'normal',\r\n stylingMode: this.filterMode === 'pending' ? 'contained' : 'outlined',\r\n onClick: () => this.setFilter('pending'),\r\n },\r\n }\r\n );\r\n }\r\n\r\n applyFilter(): void {\r\n if (this.filterMode === 'pending') {\r\n this.filteredData = this.allData.filter(x => {\r\n if (x.u_Status === '4') return false;\r\n if (x.u_Status === '2' && this.malGcTypes.has(x.u_EntryType)) return true;\r\n return !(x.u_LastWeighing ?? (x as any).u_LastWeighing);\r\n });\r\n } else {\r\n this.filteredData = [...this.allData];\r\n }\r\n }\r\n\r\n isMalGC(entryType: string): boolean {\r\n return this.malGcTypes?.has(entryType) ?? false;\r\n }\r\n\r\n yeniKayit(): void {\r\n this.router.navigate(['/kadooglu/entry-weighing/new']);\r\n }\r\n\r\n duzenle(row: EntryWeighing): void {\r\n this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? (row as any).docEntry], {\r\n state: { rowData: row }\r\n });\r\n }\r\n\r\n tartimYap(row: EntryWeighing, mode: 'first' | 'last'): void {\r\n const msgKey = mode === 'first'\r\n ? 'Kadooglu::FirstWeighingConfirmMessage'\r\n : 'Kadooglu::LastWeighingConfirmMessage';\r\n\r\n this.confirmation\r\n .warn(this.localizationService.instant(msgKey, String(row.u_Plate || row.docNum)), '', {\r\n yesText: this.localizationService.instant('Kadooglu::Yes'),\r\n cancelText: this.localizationService.instant('Kadooglu::No'),\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? (row as any).docEntry], {\r\n queryParams: { mode },\r\n state: { rowData: row }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ozetiGoruntule(row: EntryWeighing): void {\r\n this.router.navigate(['/kadooglu/entry-weighing', row.docEntry ?? (row as any).docEntry], {\r\n state: { rowData: row }\r\n });\r\n }\r\n\r\n sil(row: any): void {\r\n const docEntry = row.docEntry ?? row.docEntry;\r\n this.confirmation\r\n .warn(`\"${row.u_Plate || row.u_Plate || row.docNum || row.docNum}\" kaydı silmek istediğinize emin misiniz?`, ``, {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(docEntry).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n\r\n formatEntryDateTime(dateStr: string | null, timeStr: string | null): string {\r\n if (!dateStr) return '';\r\n const parts = dateStr.split('T')[0].split('-');\r\n if (parts.length < 3) return dateStr;\r\n const d = new Date(+parts[0], +parts[1] - 1, +parts[2]);\r\n if (isNaN(d.getTime())) return dateStr;\r\n const dd = String(d.getDate()).padStart(2, '0');\r\n const mm = String(d.getMonth() + 1).padStart(2, '0');\r\n const yyyy = d.getFullYear();\r\n const time = this.formatTime(timeStr);\r\n return time ? `${dd}.${mm}.${yyyy} ${time}` : `${dd}.${mm}.${yyyy}`;\r\n }\r\n\r\n formatTime(time: string | null): string {\r\n if (!time) return '';\r\n const t = time.replace(/[^0-9]/g, '');\r\n if (t.length === 4) return t.substring(0, 2) + ':' + t.substring(2);\r\n if (t.length === 3) return '0' + t.substring(0, 1) + ':' + t.substring(1);\r\n return time;\r\n }\r\n\r\n getStatusLabel(status: string | null): string {\r\n switch (status) {\r\n case '0': return this.localizationService.instant('Kadooglu::StatusEntered');\r\n case '1': return this.localizationService.instant('Kadooglu::StatusFirstWeighingDone');\r\n case '2': return this.localizationService.instant('Kadooglu::StatusLastWeighingDone');\r\n case '3': return this.localizationService.instant('Kadooglu::StatusExited');\r\n case '4': return this.localizationService.instant('Kadooglu::StatusGoodsMovementDone');\r\n default: return this.localizationService.instant('Kadooglu::StatusUnknown');\r\n }\r\n }\r\n\r\n getStatusClass(status: string | null): string {\r\n switch (status) {\r\n case '0': return 'badge rounded-pill bg-secondary fs-6 fw-normal';\r\n case '1': return 'badge rounded-pill bg-info fs-6 fw-normal';\r\n case '2': return 'badge rounded-pill bg-success fs-6 fw-normal';\r\n case '3': return 'badge rounded-pill bg-success fs-6 fw-normal';\r\n case '4': return 'badge rounded-pill bg-success fs-6 fw-normal';\r\n default: return 'badge rounded-pill bg-secondary fs-6 fw-normal';\r\n }\r\n }\r\n\r\n malGcYap(row: EntryWeighing): void {\r\n const docEntry = row.docEntry ?? (row as any).docEntry;\r\n this.confirmation\r\n .warn(this.localizationService.instant('Kadooglu::MalGcConfirmMessage', String(row.u_Plate || row.docNum)), '', {\r\n yesText: this.localizationService.instant('Kadooglu::Yes'),\r\n cancelText: this.localizationService.instant('Kadooglu::No'),\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.doGoodsMovement(docEntry).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n barkodYazdir(row: EntryWeighing): void {\r\n const docEntry = row.docEntry ?? (row as any).docEntry;\r\n this.service.getWeighingSlip(docEntry).subscribe({\r\n next: (response) => {\r\n const byteChars = atob(response.base64);\r\n const byteNumbers = new Array(byteChars.length);\r\n for (let i = 0; i < byteChars.length; i++) {\r\n byteNumbers[i] = byteChars.charCodeAt(i);\r\n }\r\n const blob = new Blob([new Uint8Array(byteNumbers)], { type: 'application/pdf' });\r\n const url = URL.createObjectURL(blob);\r\n window.open(url, '_blank');\r\n },\r\n error: () => {\r\n alert('Barkod / kantar fişi oluşturulurken bir hata oluştu.');\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}</h3>\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 <dx-data-grid\r\n #dataGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n keyExpr=\"docEntry\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n style=\"height: calc(100vh - 280px);\">\r\n\r\n <dxo-scrolling showScrollbar=\"always\" [useNative]=\"false\"></dxo-scrolling>\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"docEntry\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n alignment=\"center\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\" style=\"text-align:center\">\r\n <!-- Devam eden tartım: işlemler dropdown (status '0' ve '1') -->\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" style=\"min-width: 110px;\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"tartimYap(row.data, 'first')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformFirstWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '1'\" (click)=\"tartimYap(row.data, 'last')\">\r\n <i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i> {{ 'Kadooglu::PerformLastWeighing' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '2' && isMalGC(row.data.u_EntryType)\" (click)=\"malGcYap(row.data)\">\r\n <i class=\"fa fa-exchange\" aria-hidden=\"true\"></i> {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '2' || row.data.u_Status === '3' || row.data.u_Status === '4'\" (click)=\"ozetiGoruntule(row.data)\">\r\n <i class=\"fa fa-file-text\" aria-hidden=\"true\"></i> {{ 'Kadooglu::ViewSummary' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem *ngIf=\"row.data.u_Status === '0'\" (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"barkodYazdir(row.data)\">\r\n <i class=\"fa fa-print\" aria-hidden=\"true\"></i> Barkod Yazdır\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Status\"\r\n caption=\"{{ 'Kadooglu::Status' | abpLocalization }}\"\r\n [fixed]=\"true\"\r\n alignment=\"center\"\r\n cellTemplate=\"statusTemplate\"\r\n [allowFiltering]=\"true\"\r\n [allowHeaderFiltering]=\"true\">\r\n <dxo-lookup [dataSource]=\"statusFilterDataSource\" valueExpr=\"value\" displayExpr=\"text\"></dxo-lookup>\r\n <dxo-header-filter [dataSource]=\"statusFilterDataSource\"></dxo-header-filter>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"docNum\" caption=\"{{ 'Kadooglu::DocumentNo' | abpLocalization }}\" width=\"100\"></dxi-column>\r\n\r\n <dxi-column dataField=\"u_GateCode\" caption=\"{{ 'Kadooglu::Gate' | abpLocalization }}\">\r\n <dxo-lookup [dataSource]=\"gateList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_EntryDate\"\r\n caption=\"{{ 'Kadooglu::EntryDateTime' | abpLocalization }}\"\r\n cellTemplate=\"entryDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"u_EntryType\" caption=\"Araç Hareket Türü\">\r\n <dxo-lookup [dataSource]=\"vehicleTypeList\" valueExpr=\"code\" displayExpr=\"name\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::TruckPlate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_DorsePlate\" caption=\"{{ 'Kadooglu::DorsePlate' | abpLocalization }}\" cellTemplate=\"dorsePlateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Driver\" caption=\"{{ 'Kadooglu::DriverName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DriverCode\" caption=\"{{ 'Kadooglu::DriverCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_TcNo\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_CardCode\" caption=\"{{ 'Kadooglu::CardCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ItemCode\" caption=\"{{ 'Kadooglu::ItemCode' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_DespatchAdviceNo\" caption=\"{{ 'Kadooglu::DespatchAdviceNo' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_ScaleCode\" caption=\"{{ 'Kadooglu::ScaleCode' | abpLocalization }}\"></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_FirstWeighing\"\r\n caption=\"{{ 'Kadooglu::FirstWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_LastWeighing\"\r\n caption=\"{{ 'Kadooglu::LastWeighingKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_Net\"\r\n caption=\"{{ 'Kadooglu::NetKg' | abpLocalization }}\"\r\n dataType=\"number\"\r\n [format]=\"{ type: 'fixedPoint', precision: 0 }\">\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"u_ExitDate\"\r\n caption=\"{{ 'Kadooglu::ExitDate' | abpLocalization }}\"\r\n cellTemplate=\"exitDateTimeTemplate\"\r\n [allowFiltering]=\"true\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Description\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'dorsePlateTemplate'\">\r\n <span *ngIf=\"cell.data.u_DorsePlate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_DorsePlate) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'entryDateTimeTemplate'\">\r\n {{ formatEntryDateTime(cell.data.u_EntryDate, cell.data.u_EntryTime) }}\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'exitDateTimeTemplate'\">\r\n <span *ngIf=\"cell.data.u_ExitDate\">\r\n {{ cell.data.u_ExitDate | date:'dd.MM.yyyy' }}\r\n <span *ngIf=\"cell.data.u_ExitTime\" class=\"text-muted ms-1\">{{ formatTime(cell.data.u_ExitTime) }}</span>\r\n </span>\r\n </div>\r\n\r\n <div *dxTemplate=\"let cell of 'statusTemplate'\">\r\n <span [class]=\"getStatusClass(cell.data.u_Status)\" style=\"padding: 0.25em .5em .25em .5em;\">\r\n {{ getStatusLabel(cell.data.u_Status) }}\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { Injectable, OnDestroy } from '@angular/core';\nimport {\n HubConnection,\n HubConnectionBuilder,\n HubConnectionState,\n LogLevel,\n} from '@microsoft/signalr';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ScaleSignalRService implements OnDestroy {\n private connection: HubConnection | null = null;\n private readonly _weight$ = new BehaviorSubject<number | null>(null);\n\n readonly weight$: Observable<number | null> = this._weight$.asObservable();\n\n /**\n * SignalR bağlantısını başlatır ve ilgili kantar grubuna abone olur.\n * Zaten bağlıysa sadece gruba abone olur.\n */\n async start(apiBaseUrl: string, scaleId: string): Promise<void> {\n if (this.connection?.state === HubConnectionState.Connected) {\n await this.connection.invoke('SubscribeToScale', scaleId);\n return;\n }\n\n this.connection = new HubConnectionBuilder()\n .withUrl(`${apiBaseUrl}/hubs/scale`, { withCredentials: true })\n .withAutomaticReconnect([0, 2000, 5000, 10000, 30000])\n .configureLogging(LogLevel.Warning)\n .build();\n\n this.connection.on('ReceiveWeight', (reading: { weightKg: number }) => {\n this._weight$.next(reading.weightKg);\n });\n\n this.connection.onreconnected(async () => {\n await this.connection!.invoke('SubscribeToScale', scaleId);\n });\n\n await this.connection.start();\n await this.connection.invoke('SubscribeToScale', scaleId);\n }\n\n /**\n * Kantar grubundan çıkar ve bağlantıyı kapatır.\n */\n async stop(scaleId: string): Promise<void> {\n if (!this.connection) return;\n try {\n if (this.connection.state === HubConnectionState.Connected) {\n await this.connection.invoke('UnsubscribeFromScale', scaleId);\n }\n await this.connection.stop();\n } finally {\n this.connection = null;\n this._weight$.next(null);\n }\n }\n\n ngOnDestroy(): void {\n this.connection?.stop();\n }\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { Observable, Subscription, forkJoin } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { ScaleSignalRService } from '../../../services/scale-signalr.service';\r\nimport { HitEntryWeighingService } from '../../../hit-proxy/hit-entry-weighing/hit-entry-weighing.service';\r\nimport { HitStockTransferService } from '../../../hit-proxy/hit-stock-transfer/hit-stock-transfer.service';\r\nimport { StockTransfer } from '../../../hit-proxy/hit-stock-transfer/models';\r\nimport {\r\n EntryWeighing,\r\n EntryWeighingAccount,\r\n EntryWeighingDocument,\r\n EntryWeighingDriver,\r\n EntryWeighingGate,\r\n EntryWeighingScale,\r\n EntryWeighingStockItem,\r\n EntryWeighingTrailerPlate,\r\n EntryWeighingTruckPlate,\r\n EntryWeighingVehicleType,\r\n SaveEntryWeighingDto,\r\n} from '../../../hit-proxy/hit-entry-weighing/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-entry-weighing-form',\r\n templateUrl: './hit-entry-weighing-form.component.html',\r\n})\r\nexport class HitEntryWeighingFormComponent implements OnInit, OnDestroy {\r\n record: EntryWeighing | null = null;\r\n isUpdateMode = false;\r\n\r\n // Wizard phase: 1 = Araç & Belge, 2 = Tartım Paneli\r\n formPhase: 1 | 2 = 1;\r\n // Weighing mode from query param: 'first' | 'last' | null (null = normal new/edit)\r\n weighingMode: 'first' | 'last' | null = null;\r\n\r\n // Lookup loader functions (called lazily when modal opens)\r\n loadDocuments = () => this.service.getDocuments();\r\n loadScales = () => this.service.getScales();\r\n loadTruckPlates = () => this.service.getTruckPlates();\r\n loadTrailerPlates = () => this.service.getTrailerPlates();\r\n loadDrivers = () => this.service.getDrivers();\r\n loadAccounts = () => this.service.getAccounts();\r\n loadStockItems = () => this.service.getStockItems();\r\n loadWaybills = () => this.stockTransferService.getList();\r\n loadGates = () => this.service.getGates();\r\n loadVehicleTypes = () => this.service.getVehicleTypes();\r\n\r\n // Column configs\r\n documentColumns = [\r\n { dataField: 'code', caption: 'Belge No', width: 120 },\r\n { dataField: 'name', caption: 'Cari Adı' },\r\n ];\r\n scaleColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 80 },\r\n { dataField: 'name', caption: 'Kantar Adı' },\r\n ];\r\n truckPlateColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'plateNo', caption: 'Plaka' },\r\n ];\r\n trailerPlateColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'plateNo', caption: 'Plaka' },\r\n ];\r\n driverColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'name', caption: 'Ad Soyad' },\r\n ];\r\n accountColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'title', caption: 'Unvan' },\r\n ];\r\n stockItemColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 100 },\r\n { dataField: 'name', caption: 'Stok Adı' },\r\n ];\r\n waybillColumns = [\r\n { dataField: 'docNum', caption: 'Belge No', width: 120 },\r\n { dataField: 'cardName', caption: 'Cari Adı' },\r\n { dataField: 'fromWarehouse', caption: 'Çıkış Deposu', width: 140 },\r\n { dataField: 'comments', caption: 'Açıklama' },\r\n ];\r\n gateColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 80 },\r\n { dataField: 'name', caption: 'Kapı Adı' },\r\n ];\r\n vehicleTypeColumns = [\r\n { dataField: 'code', caption: 'Kod', width: 80 },\r\n { dataField: 'name', caption: 'Giriş Tipi' },\r\n ];\r\n\r\n // Form fields\r\n documentCode = '';\r\n documentName = '';\r\n scaleCode = '1';\r\n scaleName = 'Kantar 1';\r\n accountCode = '';\r\n accountTitle = '';\r\n truckPlateCode = '';\r\n truckPlateNo = '';\r\n trailerPlateCode = '';\r\n trailerPlateNo = '';\r\n driverCode = '';\r\n driverName = '';\r\n stockCode = '';\r\n stockName = '';\r\n containerNo = '';\r\n description = '';\r\n waybillNo = '';\r\n departureLocation = '';\r\n arrivalLocation = 'Fabrika';\r\n\r\n // ZZZ_TEST2 yeni alanlar\r\n gateCode = '';\r\n gateName = '';\r\n entryDate: string | null = null;\r\n entryTime = '';\r\n exitDate: string | null = null;\r\n exitTime = '';\r\n entryTypeCode = '';\r\n entryTypeName = '';\r\n driverFullName = '';\r\n tcNo = '';\r\n isTcCitizen = true;\r\n\r\n // Tartım bilgileri (readonly)\r\n firstOperatorCode = '';\r\n firstWeighingValue: number | null = null;\r\n lastOperatorCode = '';\r\n lastWeighingValue: number | null = null;\r\n currentScaleValue: number | null = null;\r\n fixedScaleValue: number | null = null;\r\n\r\n isSaving = false;\r\n isWeighing = false;\r\n entryTypeTrtmYpilck = false;\r\n entryTypeMalGC = false;\r\n isDoingGoodsMovement = false;\r\n\r\n private scaleSub: Subscription | null = null;\r\n private readonly scaleApiUrl = 'https://localhost:44389';\r\n private readonly scaleId = 'KANTAR-01';\r\n\r\n /** SAP response camelCase/PascalCase farkını handle eder */\r\n private getDocEntry(rec: EntryWeighing | null): number | undefined {\r\n if (!rec) return undefined;\r\n return rec.docEntry ?? (rec as any).docEntry;\r\n }\r\n\r\n constructor(\r\n private service: HitEntryWeighingService,\r\n private stockTransferService: HitStockTransferService,\r\n private confirmation: ConfirmationService,\r\n private toaster: ToasterService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private localizationService: LocalizationService,\r\n private scaleSignalRService: ScaleSignalRService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n // Read weighing mode from query params\r\n const mode = this.route.snapshot.queryParamMap.get('mode');\r\n if (mode === 'first' || mode === 'last') {\r\n this.weighingMode = mode;\r\n }\r\n\r\n // Önce router state'den satır verisini oku (liste ekranından aktarılan)\r\n const stateData = history.state?.rowData;\r\n const id = this.route.snapshot.paramMap.get('id');\r\n\r\n if (stateData) {\r\n // State'den gelen veriyi kullan (API çağrısı olmadan)\r\n this.isUpdateMode = true;\r\n this.record = stateData;\r\n this.initForm();\r\n // Son tartım modundaysa direkt tartım panelini aç\r\n if (this.weighingMode === 'last') {\r\n this.formPhase = 2;\r\n this._startScale();\r\n }\r\n } else if (id) {\r\n // Fallback: state yoksa API'den yükle\r\n this.isUpdateMode = true;\r\n this.service.get(+id).subscribe(record => {\r\n this.record = record;\r\n this.initForm();\r\n // Son tartım modundaysa direkt tartım panelini aç\r\n if (this.weighingMode === 'last') {\r\n this.formPhase = 2;\r\n this._startScale();\r\n }\r\n });\r\n }\r\n }\r\n\r\n get weighingStep(): number {\r\n const status = (this.record as any)?.u_Status;\r\n if (this.lastWeighingValue !== null || status === '2' || status === '3' || status === '4') return 3;\r\n if (this.firstWeighingValue !== null || status === '1') return 2;\r\n return 1;\r\n }\r\n\r\n /** İlk tartım yapıldıysa (step >= 2) detay alanlarını kilitle */\r\n get isFormLocked(): boolean {\r\n return this.weighingStep >= 2;\r\n }\r\n\r\n /** Her iki tartım da tamamlandıysa (step === 3) tüm ekranı kilitle */\r\n get isFullyCompleted(): boolean {\r\n return this.weighingStep === 3;\r\n }\r\n\r\n get entryDateTime(): Date | null {\r\n return this.buildDateTime(this.entryDate, this.entryTime);\r\n }\r\n\r\n get exitDateTime(): Date | null {\r\n return this.buildDateTime(this.exitDate, this.exitTime);\r\n }\r\n\r\n /** Tarih string + sayısal saat (ör. 830 = 08:30) değerinden Date oluşturur */\r\n private buildDateTime(dateStr: string | null, timeVal: string | number | null): Date | null {\r\n if (!dateStr) return null;\r\n const d = new Date(dateStr);\r\n if (isNaN(d.getTime())) return null;\r\n const t = Number(timeVal);\r\n if (!isNaN(t)) {\r\n d.setHours(Math.floor(t / 100), t % 100, 0, 0);\r\n }\r\n return d;\r\n }\r\n\r\n get netWeight(): number | null {\r\n if (this.firstWeighingValue !== null && this.lastWeighingValue !== null) {\r\n return Math.abs(this.firstWeighingValue - this.lastWeighingValue);\r\n }\r\n return null;\r\n }\r\n\r\n get weighingModeLabel(): string {\r\n return this.weighingMode === 'first'\r\n ? this.localizationService.instant('Kadooglu::FirstWeighing')\r\n : this.localizationService.instant('Kadooglu::LastWeighing');\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n const r = this.record as any; // SAP camelCase fallback\r\n this.scaleCode = r.u_ScaleCode ?? r.u_ScaleCode ?? '';\r\n this.accountCode = r.u_CardCode ?? r.u_CardCode ?? '';\r\n this.truckPlateCode = r.u_Plate ?? r.u_Plate ?? '';\r\n this.truckPlateNo = r.u_Plate ?? r.u_Plate ?? '';\r\n this.trailerPlateCode = r.u_DorsePlate ?? '';\r\n this.trailerPlateNo = r.u_DorsePlate ?? '';\r\n this.driverCode = r.u_DriverCode ?? r.u_DriverCode ?? '';\r\n this.stockCode = r.u_ItemCode ?? r.u_ItemCode ?? '';\r\n this.containerNo = r.u_ContainerNo ?? r.u_ContainerNo ?? '';\r\n this.waybillNo = r.u_DespatchAdviceNo ?? r.u_DespatchAdviceNo ?? '';\r\n this.departureLocation = r.u_ShipPlace ?? r.u_ShipPlace ?? '';\r\n this.arrivalLocation = r.u_ShipTo ?? r.u_ShipTo ?? 'Fabrika';\r\n this.firstOperatorCode = r.u_FirstOpt ?? r.u_FirstOpt ?? '';\r\n this.lastOperatorCode = r.u_LastOpt ?? r.u_LastOpt ?? '';\r\n const rawFirst = r.u_FirstWeighing ?? r.u_FirstWeighing ?? null;\r\n this.firstWeighingValue = (rawFirst != null && rawFirst !== 0) ? rawFirst : null;\r\n const rawLast = r.u_LastWeighing ?? r.u_LastWeighing ?? null;\r\n this.lastWeighingValue = (rawLast != null && rawLast !== 0) ? rawLast : null;\r\n this.description = r.u_Description ?? r.u_Description ?? '';\r\n\r\n // ZZZ_TEST2 yeni alanlar\r\n this.gateCode = r.u_GateCode ?? r.u_GateCode ?? '';\r\n this.entryDate = r.u_EntryDate ?? r.u_EntryDate ?? null;\r\n this.entryTime = r.u_EntryTime ?? r.u_EntryTime ?? '';\r\n this.exitDate = r.u_ExitDate ?? r.u_ExitDate ?? null;\r\n this.exitTime = r.u_ExitTime ?? r.u_ExitTime ?? '';\r\n this.entryTypeCode = r.u_EntryType ?? r.u_EntryType ?? '';\r\n this.driverFullName = r.u_Driver ?? r.u_Driver ?? '';\r\n this.tcNo = r.u_TcNo ?? r.u_TcNo ?? '';\r\n this.isTcCitizen = true;\r\n\r\n // Lookup alanlarının görünen isimlerini çözümle\r\n this.resolveDisplayNames();\r\n }\r\n }\r\n\r\n /** Kayıttaki kod alanlarına karşılık gelen görünen isimleri lookup servislerinden çözümler */\r\n private resolveDisplayNames(): void {\r\n const lookups: Record<string, any> = {};\r\n\r\n if (this.gateCode) {\r\n lookups['gates'] = this.loadGates();\r\n }\r\n if (this.entryTypeCode) {\r\n lookups['vehicleTypes'] = this.loadVehicleTypes();\r\n }\r\n if (this.scaleCode) {\r\n lookups['scales'] = this.loadScales();\r\n }\r\n if (this.accountCode) {\r\n lookups['accounts'] = this.loadAccounts();\r\n }\r\n if (this.driverCode) {\r\n lookups['drivers'] = this.loadDrivers();\r\n }\r\n if (this.stockCode) {\r\n lookups['stockItems'] = this.loadStockItems();\r\n }\r\n\r\n const keys = Object.keys(lookups);\r\n if (keys.length === 0) return;\r\n\r\n forkJoin(lookups).subscribe((results: any) => {\r\n if (results.gates) {\r\n const gate = results.gates.find((g: any) => g.code === this.gateCode);\r\n if (gate) this.gateName = gate.name;\r\n }\r\n if (results.vehicleTypes) {\r\n const vt = results.vehicleTypes.find((t: any) => t.code === this.entryTypeCode);\r\n if (vt) {\r\n this.entryTypeName = vt.name;\r\n this.entryTypeTrtmYpilck = vt.u_TrtmYpilck === 'Y';\r\n this.entryTypeMalGC = vt.u_MalGC === 'Y';\r\n }\r\n }\r\n if (results.scales) {\r\n const scale = results.scales.find((s: any) => s.code === this.scaleCode);\r\n if (scale) this.scaleName = scale.name;\r\n }\r\n if (results.accounts) {\r\n const account = results.accounts.find((a: any) => a.code === this.accountCode);\r\n if (account) this.accountTitle = account.title;\r\n }\r\n if (results.drivers) {\r\n const driver = results.drivers.find((d: any) => d.code === this.driverCode);\r\n if (driver) this.driverName = driver.name;\r\n }\r\n if (results.stockItems) {\r\n const item = results.stockItems.find((i: any) => i.code === this.stockCode);\r\n if (item) this.stockName = item.name;\r\n }\r\n });\r\n }\r\n\r\n onDocumentSelected(e: EntryWeighingDocument): void {\r\n if (!e) return;\r\n this.documentCode = e.code;\r\n this.documentName = e.name;\r\n }\r\n\r\n onScaleSelected(e: EntryWeighingScale): void {\r\n if (!e) return;\r\n this.scaleCode = e.code;\r\n this.scaleName = e.name;\r\n }\r\n\r\n onAccountSelected(e: EntryWeighingAccount): void {\r\n if (!e) return;\r\n this.accountCode = e.code;\r\n this.accountTitle = e.title;\r\n }\r\n\r\n\r\n onTruckPlateSelected(e: EntryWeighingTruckPlate): void {\r\n if (!e) return;\r\n this.truckPlateCode = e.code;\r\n this.truckPlateNo = e.plateNo;\r\n }\r\n\r\n onTrailerPlateSelected(e: EntryWeighingTrailerPlate): void {\r\n if (!e) return;\r\n this.trailerPlateCode = e.code;\r\n this.trailerPlateNo = e.plateNo;\r\n }\r\n\r\n onDriverSelected(e: EntryWeighingDriver): void {\r\n if (!e) return;\r\n this.driverCode = e.code;\r\n this.driverName = e.name;\r\n }\r\n\r\n onStockItemSelected(e: EntryWeighingStockItem): void {\r\n if (!e) return;\r\n this.stockCode = e.code;\r\n this.stockName = e.name;\r\n }\r\n\r\n onGateSelected(e: EntryWeighingGate): void {\r\n if (!e) return;\r\n this.gateCode = e.code;\r\n this.gateName = e.name;\r\n }\r\n\r\n onVehicleTypeSelected(e: EntryWeighingVehicleType): void {\r\n if (!e) return;\r\n this.entryTypeCode = e.code;\r\n this.entryTypeName = e.name;\r\n this.entryTypeTrtmYpilck = e.u_TrtmYpilck === 'Y';\r\n this.entryTypeMalGC = e.u_MalGC === 'Y';\r\n }\r\n\r\n onWaybillSelected(e: StockTransfer): void {\r\n if (!e) return;\r\n this.waybillNo = e.docNum.toString();\r\n if (e.cardCode) { this.accountCode = e.cardCode; this.accountTitle = e.cardName; }\r\n if (e.fromWarehouse) { this.departureLocation = e.fromWarehouse; }\r\n if (e.comments) { this.description = e.comments; }\r\n\r\n const lines = e.stockTransferLines ?? [];\r\n const uniqueCodes = [...new Set(lines.map(l => l.itemCode).filter(c => !!c))];\r\n if (uniqueCodes.length === 1) {\r\n this.stockCode = uniqueCodes[0];\r\n this.stockName = lines.find(l => l.itemCode === uniqueCodes[0])?.itemDescription ?? '';\r\n } else {\r\n this.stockCode = '';\r\n this.stockName = '';\r\n }\r\n }\r\n\r\n /** Phase 1 → Phase 2 geçişi */\r\n ileriGit(): void {\r\n if (!this.truckPlateCode) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectTruckPlate'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n if (this.entryTypeTrtmYpilck && !this.stockCode) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::StockCodeRequired'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n this.formPhase = 2;\r\n this._startScale();\r\n }\r\n\r\n /** Phase 2 → Phase 1 geri dön */\r\n geriGitPhase(): void {\r\n this._stopScale();\r\n this.formPhase = 1;\r\n }\r\n\r\n save(): void {\r\n // Tartım modundaysa doWeighing API çağır\r\n const docEntry = this.getDocEntry(this.record);\r\n if (this.weighingMode && docEntry) {\r\n if (this.fixedScaleValue == null) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::DoFixFirst'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const doWeigh$ = this.service.doWeighing(docEntry, {\r\n weighingValue: this.fixedScaleValue!,\r\n operatorCode: ''\r\n });\r\n\r\n // İLK tartımda form alanlarını (stok kodu, irsaliye vb.) önce kaydet, sonra tartım yap.\r\n // SON tartımda sadece tartım yap — diğer alanlar ilk tartımdan sonra değiştirilemez.\r\n let obs$: Observable<EntryWeighing>;\r\n if (this.weighingMode === 'first') {\r\n const now = new Date();\r\n const currentDate = now.toISOString().split('T')[0];\r\n const currentTime = now.toTimeString().split(' ')[0];\r\n const dto: SaveEntryWeighingDto = {\r\n u_GateCode: this.gateCode || undefined,\r\n u_EntryDate: this.entryDate || currentDate,\r\n u_EntryTime: this.entryTime || currentTime,\r\n u_ExitDate: this.exitDate || null,\r\n u_ExitTime: this.exitTime || undefined,\r\n u_Plate: this.truckPlateCode,\r\n u_DorsePlate: this.trailerPlateCode || undefined,\r\n u_EntryType: this.entryTypeCode || undefined,\r\n u_Description: this.description || undefined,\r\n u_Driver: this.driverFullName || undefined,\r\n u_DriverCode: this.driverCode || undefined,\r\n u_TcNo: this.tcNo || undefined,\r\n u_CardCode: this.accountCode || undefined,\r\n u_ScaleCode: this.scaleCode || undefined,\r\n u_ItemCode: this.stockCode || undefined,\r\n u_DespatchAdviceNo: this.waybillNo || undefined,\r\n u_DespatchExist: 'N',\r\n u_ShipTo: this.arrivalLocation || undefined,\r\n u_ContainerNo: this.containerNo || undefined,\r\n u_ShipPlace: this.departureLocation || undefined,\r\n };\r\n obs$ = this.service.update(docEntry, dto).pipe(switchMap(() => doWeigh$));\r\n } else {\r\n obs$ = doWeigh$;\r\n }\r\n\r\n this.isSaving = true;\r\n obs$.subscribe({\r\n next: () => {\r\n // Tartım değerlerini weighingMode'a göre güncelle\r\n if (this.weighingMode === 'first') {\r\n this.firstWeighingValue = this.fixedScaleValue;\r\n } else {\r\n this.lastWeighingValue = this.fixedScaleValue;\r\n }\r\n\r\n this.isSaving = false;\r\n this.toaster.success(\r\n this.weighingMode === 'first'\r\n ? this.localizationService.instant('Kadooglu::FirstWeighingSaved')\r\n : this.localizationService.instant('Kadooglu::LastWeighingSaved')\r\n );\r\n\r\n // Kısa bir gecikme ile listeye dön (kullanıcı progress bar değişimini görsün)\r\n setTimeout(() => {\r\n this.router.navigate(['/kadooglu/entry-weighing']);\r\n }, this.weighingMode == 'last' ? 8000 : 1500);\r\n },\r\n error: () => {\r\n this.isSaving = false;\r\n this.toaster.error(this.localizationService.instant('Kadooglu::WeighingRecordError'));\r\n },\r\n });\r\n return;\r\n }\r\n\r\n // Normal kayıt modu (yeni kayıt veya düzenleme)\r\n if (!this.truckPlateCode) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectTruckPlate'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('Kadooglu::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const now = new Date();\r\n const currentDate = now.toISOString().split('T')[0];\r\n const currentTime = now.toTimeString().split(' ')[0]; // HH:mm:ss\r\n\r\n const dto: SaveEntryWeighingDto = {\r\n u_GateCode: this.gateCode || undefined,\r\n u_EntryDate: this.entryDate || currentDate,\r\n u_EntryTime: this.entryTime || currentTime,\r\n u_ExitDate: this.exitDate || null,\r\n u_ExitTime: this.exitTime || undefined,\r\n u_Plate: this.truckPlateCode,\r\n u_DorsePlate: this.trailerPlateCode || undefined,\r\n u_EntryType: this.entryTypeCode || undefined,\r\n u_Description: this.description || undefined,\r\n u_Driver: this.driverFullName || undefined,\r\n u_DriverCode: this.driverCode || undefined,\r\n u_TcNo: this.tcNo || undefined,\r\n u_CardCode: this.accountCode || undefined,\r\n u_ScaleCode: this.scaleCode || undefined,\r\n u_ItemCode: this.stockCode || undefined,\r\n u_DespatchAdviceNo: this.waybillNo || undefined,\r\n u_DespatchExist: 'N',\r\n u_ShipTo: this.arrivalLocation || undefined,\r\n u_ContainerNo: this.containerNo || undefined,\r\n u_ShipPlace: this.departureLocation || undefined,\r\n };\r\n\r\n const obs$ = docEntry\r\n ? this.service.update(docEntry, dto)\r\n : this.service.create(dto);\r\n\r\n this.isSaving = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isSaving = false;\r\n this.toaster.success(this.localizationService.instant('Kadooglu::RecordSavedSuccess'));\r\n this.router.navigate(['/kadooglu/entry-weighing']);\r\n },\r\n error: () => {\r\n this.isSaving = false;\r\n this.toaster.error(this.localizationService.instant('Kadooglu::RecordSaveError'));\r\n },\r\n });\r\n }\r\n\r\n doGoodsMovement(): void {\r\n const docEntry = this.getDocEntry(this.record);\r\n if (!docEntry) return;\r\n\r\n this.isDoingGoodsMovement = true;\r\n this.service.doGoodsMovement(docEntry).subscribe({\r\n next: updated => {\r\n this.record = updated;\r\n this.isDoingGoodsMovement = false;\r\n this.toaster.success(this.localizationService.instant('Kadooglu::GoodsMovementSuccess'));\r\n },\r\n error: () => {\r\n this.isDoingGoodsMovement = false;\r\n },\r\n });\r\n }\r\n\r\n sabitle(): void {\r\n this.fixedScaleValue = this.currentScaleValue;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._stopScale();\r\n }\r\n\r\n private _startScale(): void {\r\n this.scaleSub = this.scaleSignalRService.weight$.subscribe(w => {\r\n if (w !== null) this.currentScaleValue = w;\r\n });\r\n this.scaleSignalRService.start(this.scaleApiUrl, this.scaleId)\r\n .catch(e => console.error('SignalR bağlantı hatası:', e));\r\n }\r\n\r\n private _stopScale(): void {\r\n this.scaleSub?.unsubscribe();\r\n this.scaleSub = null;\r\n this.scaleSignalRService.stop(this.scaleId)\r\n .catch(e => console.error('SignalR kapatma hatası:', e));\r\n }\r\n\r\n goBack(): void {\r\n this.router.navigate(['/kadooglu/entry-weighing']);\r\n }\r\n\r\n private validateTCKN(value: string): boolean {\r\n const tc = value?.trim();\r\n if (!tc || tc.length !== 11) return false;\r\n if (!/^\\d{11}$/.test(tc)) return false;\r\n if (tc[0] === '0') return false;\r\n const d = tc.split('').map(Number);\r\n const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;\r\n if (d10 !== d[9]) return false;\r\n const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;\r\n return d11 === d[10];\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">\r\n {{ 'Kadooglu::EntryWeighingTitle' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-warning text-dark': weighingMode === 'first',\r\n 'bg-primary': weighingMode === 'last'\r\n }\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n <span *ngIf=\"!weighingMode\" class=\"badge ms-2 fs-6\"\r\n [ngClass]=\"{\r\n 'bg-secondary': weighingStep === 1,\r\n 'bg-info': weighingStep === 2,\r\n 'bg-success': weighingStep === 3\r\n }\">\r\n {{ (weighingStep === 1 ? 'Kadooglu::RecordStep' : weighingStep === 2 ? 'Kadooglu::FirstWeighing' : 'Kadooglu::Completed') | abpLocalization }}\r\n </span>\r\n </h3>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <!-- Step Indicator -->\r\n <div class=\"card mb-3\">\r\n <div class=\"card-body py-3\">\r\n <div class=\"d-flex align-items-center justify-content-center\">\r\n\r\n <!-- Step 1: Araç & Belge -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"formPhase > 1 || isFullyCompleted ? '#198754' : (formPhase === 1 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"formPhase > 1 || isFullyCompleted\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"formPhase <= 1 && !isFullyCompleted\">1</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"formPhase > 1 || isFullyCompleted\" [class.text-primary]=\"formPhase === 1 && !isFullyCompleted\">{{ 'Kadooglu::VehicleAndDocument' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"formPhase > 1 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 2: Tartım -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : (formPhase === 2 ? '#0d6efd' : '#6c757d')\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">2</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-primary]=\"formPhase === 2 && weighingStep < 3\" [class.text-muted]=\"formPhase < 2 && weighingStep < 3\">{{ 'Kadooglu::WeighingStep' | abpLocalization }}</small>\r\n </div>\r\n\r\n <div class=\"flex-grow-1 mx-2\" style=\"height:3px; max-width:120px;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#dee2e6'\"></div>\r\n\r\n <!-- Step 3: Tamamlandı -->\r\n <div class=\"d-flex flex-column align-items-center\">\r\n <div class=\"rounded-circle d-flex align-items-center justify-content-center fw-bold text-white\"\r\n style=\"width:40px; height:40px; font-size:1rem;\"\r\n [style.background-color]=\"weighingStep === 3 ? '#198754' : '#6c757d'\">\r\n <i *ngIf=\"weighingStep === 3\" class=\"fa fa-check\"></i>\r\n <span *ngIf=\"weighingStep < 3\">3</span>\r\n </div>\r\n <small class=\"mt-1 fw-semibold\" [class.text-success]=\"weighingStep === 3\" [class.text-muted]=\"weighingStep < 3\">{{ 'Kadooglu::Completed' | abpLocalization }}</small>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 1: Araç & Belge ========== -->\r\n <div *ngIf=\"formPhase === 1 && !isFullyCompleted\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n\r\n <!-- Sol sütun: Giriş/Çıkış + Araç & Sürücü -->\r\n <div class=\"col-md-6\">\r\n\r\n <!-- Grup 1: Giriş / Çıkış Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-sign-in-alt me-2\"></i>{{ 'Kadooglu::EntryExitInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::GateSelection' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadGates\"\r\n [columns]=\"gateColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"gateName\"\r\n [readOnly]=\"isUpdateMode\"\r\n (selected)=\"onGateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">Araç Hareket Türü</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadVehicleTypes\"\r\n [columns]=\"vehicleTypeColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"entryTypeName\"\r\n [readOnly]=\"isUpdateMode\"\r\n (selected)=\"onVehicleTypeSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"entryDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [readOnly]=\"isUpdateMode\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</label>\r\n <dx-date-box\r\n [value]=\"exitDateTime\"\r\n type=\"datetime\"\r\n displayFormat=\"dd.MM.yyyy HH:mm\"\r\n [readOnly]=\"isUpdateMode\"\r\n width=\"100%\">\r\n </dx-date-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Grup 2: Araç & Sürücü Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::VehicleDriverInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::TruckPlate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTruckPlates\"\r\n [columns]=\"truckPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"truckPlateNo\"\r\n [readOnly]=\"isFormLocked\"\r\n (selected)=\"onTruckPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\" *ngIf=\"trailerPlateNo\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadTrailerPlates\"\r\n [columns]=\"trailerPlateColumns\"\r\n displayName=\"plateNo\"\r\n [editingData]=\"trailerPlateNo\"\r\n [readOnly]=\"isFormLocked\"\r\n (selected)=\"onTrailerPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DriverName' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"driverFullName\"\r\n [placeholder]=\"'Kadooglu::EnterDriverName' | abpLocalization\"\r\n [readOnly]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">{{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }}</label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" [readOnly]=\"isUpdateMode\" text=\"T.C. Vatandaşı\"></dx-check-box>\r\n </div>\r\n <dx-text-box\r\n [(value)]=\"tcNo\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\"\r\n [readOnly]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- Sağ sütun: Belge & Yük -->\r\n <div class=\"col-md-6\">\r\n\r\n <!-- Grup 3: Belge & Yük Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-file-alt me-2\"></i>{{ 'Kadooglu::DocumentCargoInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadAccounts\"\r\n [columns]=\"accountColumns\"\r\n displayName=\"title\"\r\n [editingData]=\"accountTitle\"\r\n [readOnly]=\"isFormLocked\"\r\n (selected)=\"onAccountSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::WaybillNumber' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadWaybills\"\r\n [columns]=\"waybillColumns\"\r\n displayName=\"docNum\"\r\n keyExpr=\"docEntry\"\r\n [editingData]=\"waybillNo\"\r\n (selected)=\"onWaybillSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadStockItems\"\r\n [columns]=\"stockItemColumns\"\r\n displayName=\"name\"\r\n [editingData]=\"stockName\"\r\n (selected)=\"onStockItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"containerNo\"\r\n [placeholder]=\"'Kadooglu::ManualEntry' | abpLocalization\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DeparturePlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"departureLocation\"\r\n [disabled]=\"true\"\r\n [placeholder]=\"'Kadooglu::AutoFilledFromWaybill' | abpLocalization\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ArrivalPlace' | abpLocalization }}</label>\r\n <dx-text-box\r\n [(value)]=\"arrivalLocation\"\r\n [disabled]=\"true\"\r\n width=\"100%\">\r\n </dx-text-box>\r\n </div>\r\n <div class=\"col-md-12 mb-3\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-area\r\n [(value)]=\"description\"\r\n [height]=\"70\"\r\n [readOnly]=\"isFormLocked\"\r\n width=\"100%\">\r\n </dx-text-area>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n </div>\r\n <!-- Phase 1 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <div class=\"d-flex gap-2\">\r\n <abp-button\r\n *ngIf=\"!weighingMode && !isFormLocked\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n <button class=\"btn btn-primary\" (click)=\"ileriGit()\">\r\n {{ 'Kadooglu::Next' | abpLocalization }} <i class=\"fa fa-arrow-right ms-1\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== PHASE 2: Tartım Paneli ========== -->\r\n <div *ngIf=\"formPhase === 2 && !isFullyCompleted\">\r\n <div class=\"row\">\r\n <div class=\"col-12\">\r\n <div class=\"card\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-balance-scale me-2\"></i>{{ 'Kadooglu::WeighingPanel' | abpLocalization }}\r\n <span *ngIf=\"weighingMode\" class=\"badge ms-2\"\r\n [ngClass]=\"weighingMode === 'first' ? 'bg-warning text-dark' : 'bg-primary'\">\r\n {{ weighingModeLabel }}\r\n </span>\r\n </div>\r\n <div class=\"card-body\">\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6 mx-auto\">\r\n\r\n <!-- Canlı Tartım ve Sabitlenmiş Değer — İki Sütun -->\r\n <div class=\"row g-3 mb-4\">\r\n\r\n <!-- Sol Sütun: Canlı Tartım -->\r\n <div class=\"col-6\" style=\"display: grid;\">\r\n <div class=\"card bg-light h-100\">\r\n <div class=\"card-body text-center py-4\">\r\n <div class=\"text-muted small mb-1 fw-semibold text-uppercase\">\r\n {{ 'Kadooglu::LiveWeighing' | abpLocalization }}\r\n </div>\r\n <div style=\"font-size: 2.5rem; font-weight: bold; letter-spacing: 0.05em;\">\r\n {{ currentScaleValue != null ? (currentScaleValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Sağ Sütun: Sabitlenmiş Değer -->\r\n <div class=\"col-6\" style=\"display: grid;\">\r\n <div class=\"card h-100\"\r\n [ngClass]=\"fixedScaleValue != null ? 'border-success' : 'bg-light'\"\r\n [style.background-color]=\"fixedScaleValue != null ? 'rgba(25,135,84,0.08)' : ''\">\r\n <div class=\"card-body text-center py-4\">\r\n <div class=\"small mb-1 fw-semibold text-uppercase\"\r\n [ngClass]=\"fixedScaleValue != null ? 'text-success' : 'text-muted'\">\r\n {{ 'Kadooglu::FixedValue' | abpLocalization }}\r\n </div>\r\n <div style=\"font-size: 2.5rem; font-weight: bold; letter-spacing: 0.05em;\"\r\n [ngClass]=\"fixedScaleValue != null ? 'text-success' : ''\">\r\n {{ fixedScaleValue != null ? (fixedScaleValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"!isFullyCompleted\"\r\n class=\"btn btn-success btn-lg w-100 mt-2\"\r\n [disabled]=\"currentScaleValue == null\"\r\n (click)=\"sabitle()\">\r\n <i class=\"fa fa-lock me-2\"></i>\r\n {{ 'Kadooglu::Fix' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n </div>\r\n\r\n <!-- İlk Tartım -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"firstWeighingValue != null; else noFirstWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ firstWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noFirstWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Son Tartım -->\r\n <div class=\"mb-3\">\r\n <div class=\"text-muted small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div *ngIf=\"lastWeighingValue != null; else noLastWeighing\" class=\"card card-body p-2\">\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold fs-5\">{{ lastWeighingValue | number:'1.0-0' }} kg</span>\r\n <span class=\"text-muted small\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode }}</span>\r\n </div>\r\n </div>\r\n <ng-template #noLastWeighing>\r\n <div class=\"card card-body p-2 text-muted text-center fst-italic\">{{ 'Kadooglu::NotYetDone' | abpLocalization }}</div>\r\n </ng-template>\r\n </div>\r\n\r\n <!-- Net Yük (sadece step=3'te göster) -->\r\n <div *ngIf=\"weighingStep === 3 && netWeight != null\" class=\"card border-success mb-3\">\r\n <div class=\"card-body text-center py-3\" style=\"background-color: rgba(25,135,84,0.08);\">\r\n <div class=\"text-success small fw-semibold text-uppercase mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"text-success fw-bold\" style=\"font-size: 2rem;\">\r\n {{ netWeight | number:'1.0-0' }} kg\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Phase 2 Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"geriGitPhase()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::Back' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n *ngIf=\"!isFullyCompleted\"\r\n iconClass=\"fa fa-save\"\r\n buttonType=\"button\"\r\n [loading]=\"isSaving\"\r\n (click)=\"save()\">\r\n {{ 'Kadooglu::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n\r\n <!-- ========== SUMMARY: Tamamlandı Görünümü ========== -->\r\n <div *ngIf=\"isFullyCompleted\">\r\n\r\n <!-- Üst Bölüm — Tartım Sonuç Kartları -->\r\n <div class=\"row mb-4\">\r\n <!-- İlk Tartım -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #0d6efd;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::FirstWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ firstWeighingValue != null ? (firstWeighingValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ firstOperatorCode || '—' }}</div>\r\n </div>\r\n </div>\r\n <!-- Son Tartım -->\r\n <div class=\"col-md-4 mb-3 mb-md-0\">\r\n <div class=\"bg-white shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #6f42c1;\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::LastWeighing' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em;\">\r\n {{ lastWeighingValue != null ? (lastWeighingValue | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n <div class=\"text-muted small mt-1\">{{ 'Kadooglu::Operator' | abpLocalization }}: {{ lastOperatorCode || '—' }}</div>\r\n </div>\r\n </div>\r\n <!-- Net Yük -->\r\n <div class=\"col-md-4\">\r\n <div class=\"shadow-sm rounded py-3 px-4 h-100\" style=\"border-left: 4px solid #198754; background: rgba(25,135,84,0.06);\">\r\n <div class=\"text-uppercase text-muted small fw-semibold mb-1\">{{ 'Kadooglu::NetWeight' | abpLocalization }}</div>\r\n <div class=\"fw-bold\" style=\"font-size: 1.75rem; letter-spacing: 0.02em; color: #198754;\">\r\n {{ netWeight != null ? (netWeight | number:'1.0-0') + ' kg' : '— kg' }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt Bölüm — Detay Bilgileri -->\r\n <div class=\"card shadow-sm\">\r\n <div class=\"card-header fw-bold\">\r\n <i class=\"fa fa-file-text me-2\"></i>{{ 'Kadooglu::RecordDetails' | abpLocalization }}\r\n </div>\r\n <div class=\"card-body\">\r\n <div class=\"row\">\r\n <!-- Sol Sütun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Gate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ gateName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">Araç Hareket Türü</div>\r\n <div class=\"col-7 fw-medium\">{{ entryTypeName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::EntryDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ entryDate ? (entryDate | date:'dd.MM.yyyy') : '—' }} {{ entryTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ExitDate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ exitDate ? (exitDate | date:'dd.MM.yyyy') : '—' }} {{ exitTime || '' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TruckPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ truckPlateNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TrailerPlate' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ trailerPlateNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverName' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverFullName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ tcNo || '—' }}</div>\r\n </div>\r\n </div>\r\n <!-- Sağ Sütun -->\r\n <div class=\"col-md-6\">\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DriverCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ driverName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::BusinessPartner' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ accountTitle || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::WaybillNumber' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ waybillNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ScaleCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ scaleName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ItemCode' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ stockName || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::ContainerNo' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ containerNo || '—' }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::DepartureToArrival' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ (departureLocation || '—') + ' → ' + (arrivalLocation || '—') }}</div>\r\n </div>\r\n <div class=\"row mb-2 py-1\" style=\"border-bottom: 1px solid #f0f0f0;\">\r\n <div class=\"col-5 text-muted small fw-semibold\">{{ 'Kadooglu::Description' | abpLocalization }}</div>\r\n <div class=\"col-7 fw-medium\">{{ description || '—' }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Alt Butonlar -->\r\n <div class=\"d-flex justify-content-between mt-3 mb-3\">\r\n <button class=\"btn btn-secondary\" (click)=\"goBack()\">\r\n <i class=\"fa fa-arrow-left me-1\"></i> {{ 'Kadooglu::BackToList' | abpLocalization }}\r\n </button>\r\n <button\r\n *ngIf=\"entryTypeMalGC && record?.u_Status === '2'\"\r\n class=\"btn btn-warning\"\r\n type=\"button\"\r\n [disabled]=\"isDoingGoodsMovement\"\r\n (click)=\"doGoodsMovement()\">\r\n <i [class]=\"isDoingGoodsMovement ? 'fa fa-spinner fa-spin me-1' : 'fa fa-exchange me-1'\" aria-hidden=\"true\"></i>\r\n {{ 'Kadooglu::MalGcYap' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitEntryWeighingListComponent } from './hit-entry-weighing-list/hit-entry-weighing-list.component';\r\nimport { HitEntryWeighingFormComponent } from './hit-entry-weighing-form/hit-entry-weighing-form.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitEntryWeighingListComponent },\r\n { path: 'new', component: HitEntryWeighingFormComponent },\r\n { path: ':id', component: HitEntryWeighingFormComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitEntryWeighingRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitEntryWeighingRoutingModule } from './hit-entry-weighing-routing.module';\r\nimport { HitEntryWeighingListComponent } from './hit-entry-weighing-list/hit-entry-weighing-list.component';\r\nimport { HitEntryWeighingFormComponent } from './hit-entry-weighing-form/hit-entry-weighing-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxNumberBoxModule,\r\n DxButtonModule, DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [HitEntryWeighingListComponent, HitEntryWeighingFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitEntryWeighingRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n DxTextBoxModule,\r\n DxTextAreaModule,\r\n DxNumberBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxCheckBoxModule\r\n ],\r\n})\r\nexport class HitEntryWeighingModule {}\r\n\r\nexport function loadHitEntryWeighingModuleAsChild() {\r\n return Promise.resolve(HitEntryWeighingModule);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map, Observable } from 'rxjs';\r\nimport { Warehouse } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitWarehouseService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/warehouses';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(): Observable<Warehouse[]> {\r\n return this.restService.request<void, ApiResponse<Warehouse[]>>(\r\n { method: 'GET', url: this.baseUrl },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitVehicleTypeService } from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\nimport { VehicleType, SaveVehicleTypeDto } from '../../../hit-proxy/hit-vehicle-type/models';\r\nimport { HitWarehouseService } from '../../../hit-proxy/hit-warehouse/hit-warehouse.service';\r\nimport { Warehouse } from '../../../hit-proxy/hit-warehouse/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-vehicle-type-form',\r\n templateUrl: './hit-vehicle-type-form.component.html',\r\n})\r\nexport class HitVehicleTypeFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: VehicleType | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n trtmYpilck = false;\r\n malGC = false;\r\n sourceWH = '';\r\n targetWH = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n warehouseData: Warehouse[] = [];\r\n warehouseColumns = [\r\n { dataField: 'warehouseCode', caption: 'Kod', width: 120 },\r\n { dataField: 'warehouseName', caption: 'Depo Adı' },\r\n ];\r\n\r\n constructor(\r\n private service: HitVehicleTypeService,\r\n private warehouseService: HitWarehouseService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.warehouseService.getList().subscribe(d => (this.warehouseData = d));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.trtmYpilck = this.record.u_TrtmYpilck === 'Y';\r\n this.malGC = this.record.u_MalGC === 'Y';\r\n this.sourceWH = this.record.u_SourceWH ?? '';\r\n this.targetWH = this.record.u_TargetWH ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.trtmYpilck = false;\r\n this.malGC = false;\r\n this.sourceWH = '';\r\n this.targetWH = '';\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n onSourceWHSelected(wh: Warehouse): void {\r\n this.sourceWH = wh.warehouseCode;\r\n }\r\n\r\n onTargetWHSelected(wh: Warehouse): void {\r\n this.targetWH = wh.warehouseCode;\r\n }\r\n\r\n save(): void {\r\n if (!this.code || !this.name) {\r\n this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.malGC && (!this.sourceWH || !this.targetWH)) {\r\n this.confirmation.warn('Mal G/Ç yapılacak araç türleri için Kaynak ve Hedef Depo zorunludur.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.malGC && this.sourceWH && this.targetWH && this.sourceWH === this.targetWH) {\r\n this.confirmation.warn('Kaynak Depo ve Hedef Depo aynı olamaz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveVehicleTypeDto = {\r\n code: this.code,\r\n name: this.name,\r\n u_TrtmYpilck: this.trtmYpilck ? 'Y' : 'N',\r\n u_MalGC: this.malGC ? 'Y' : 'N',\r\n u_SourceWH: this.sourceWH,\r\n u_TargetWH: this.targetWH,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Araç hareket türü kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Araç hareket türü adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12 mb-2\">\r\n <dx-check-box [(value)]=\"trtmYpilck\" [text]=\"'Kadooglu::IsWeighingRequired' | abpLocalization\"></dx-check-box>\r\n </div>\r\n <div class=\"col-md-12\">\r\n <dx-check-box [(value)]=\"malGC\" text=\"Mal G/Ç Yapılacak Mı?\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"malGC\" class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-warehouse me-2\"></i>{{ 'Kadooglu::WarehouseSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"sourceWH\"\r\n (selected)=\"onSourceWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"warehouseData\"\r\n [columns]=\"warehouseColumns\"\r\n displayName=\"warehouseCode\"\r\n keyExpr=\"warehouseCode\"\r\n [editingData]=\"targetWH\"\r\n (selected)=\"onTargetWHSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitVehicleTypeService } from '../../../hit-proxy/hit-vehicle-type/hit-vehicle-type.service';\r\nimport { VehicleType } from '../../../hit-proxy/hit-vehicle-type/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-vehicle-type-list',\r\n templateUrl: './hit-vehicle-type-list.component.html',\r\n})\r\nexport class HitVehicleTypeListComponent implements OnInit {\r\n allData: VehicleType[] = [];\r\n filteredData: VehicleType[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: VehicleType | null = null;\r\n\r\n constructor(\r\n private service: HitVehicleTypeService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) {\r\n return false;\r\n }\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: VehicleType): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: VehicleType): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" araç türünü silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">Araç Hareket Türleri</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\">\r\n </dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_SourceWH\" caption=\"{{ 'Kadooglu::SourceWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_TargetWH\" caption=\"{{ 'Kadooglu::TargetWarehouse' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column\r\n dataField=\"u_TrtmYpilck\"\r\n caption=\"{{ 'Kadooglu::WeighingStep' | abpLocalization }}\"\r\n [width]=\"90\"\r\n cellTemplate=\"trtmTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"u_MalGC\"\r\n caption=\"G/Ç Yapılacak mı?\"\r\n [width]=\"130\"\r\n cellTemplate=\"malGcTemplate\"\r\n [allowFiltering]=\"false\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let cell of 'trtmTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n <div *dxTemplate=\"let cell of 'malGcTemplate'\">\r\n <i class=\"fa\" [ngClass]=\"cell.value === 'Y' ? 'fa-check text-success' : 'fa-times text-secondary'\"></i>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-vehicle-type-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-vehicle-type-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitVehicleTypeListComponent } from './hit-vehicle-type-list/hit-vehicle-type-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitVehicleTypeListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitVehicleTypeRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitVehicleTypeRoutingModule } from './hit-vehicle-type-routing.module';\r\nimport { HitVehicleTypeListComponent } from './hit-vehicle-type-list/hit-vehicle-type-list.component';\r\nimport { HitVehicleTypeFormComponent } from './hit-vehicle-type-form/hit-vehicle-type-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule, DevExtremeModule, DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule, NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitVehicleTypeListComponent, HitVehicleTypeFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitVehicleTypeRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitVehicleTypeModule {}\r\n\r\nexport function loadHitVehicleTypeModuleAsChild() {\r\n return Promise.resolve(HitVehicleTypeModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitScaleService } from '../../../hit-proxy/hit-scale/hit-scale.service';\r\nimport { Scale, SaveScaleDto } from '../../../hit-proxy/hit-scale/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-scale-form',\r\n templateUrl: './hit-scale-form.component.html',\r\n})\r\nexport class HitScaleFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: Scale | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n u_Port = '';\r\n u_BaudRate = '';\r\n u_DataBits = '';\r\n u_StopBits = '';\r\n u_Parity = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n dataBitsOptions = [\r\n { value: '7', display: '7BITS' },\r\n { value: '8', display: '8BITS' },\r\n ];\r\n stopBitsOptions = [\r\n { value: '1', display: 'One' },\r\n { value: '2', display: 'Two' },\r\n ];\r\n parityOptions = [\r\n { value: 'N', display: 'None' },\r\n { value: 'O', display: 'Odd' },\r\n { value: 'E', display: 'Even' },\r\n ];\r\n\r\n constructor(\r\n private service: HitScaleService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.u_Port = this.record.u_Port ?? '';\r\n this.u_BaudRate = this.record.u_BaudRate ?? '';\r\n this.u_DataBits = this.record.u_DataBits ?? '';\r\n this.u_StopBits = this.record.u_StopBits ?? '';\r\n this.u_Parity = this.record.u_Parity ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.u_Port = '';\r\n this.u_BaudRate = '';\r\n this.u_DataBits = '';\r\n this.u_StopBits = '';\r\n this.u_Parity = '';\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n save(): void {\r\n if (!this.code || !this.name) {\r\n this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveScaleDto = {\r\n code: this.code,\r\n name: this.name,\r\n u_Port: this.u_Port,\r\n u_BaudRate: this.u_BaudRate,\r\n u_DataBits: this.u_DataBits,\r\n u_StopBits: this.u_StopBits,\r\n u_Parity: this.u_Parity,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-cog me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kantar kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kantar adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-plug me-2\"></i>{{ 'Kadooglu::SerialPortSettings' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Port' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Port\" [placeholder]=\"'Kadooglu::PortExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::BaudRate' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_BaudRate\" [placeholder]=\"'Kadooglu::BaudRateExample' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DataBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_DataBits\" [items]=\"dataBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::StopBits' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_StopBits\" [items]=\"stopBitsOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Parity' | abpLocalization }}</label>\r\n <dx-select-box [(value)]=\"u_Parity\" [items]=\"parityOptions\" valueExpr=\"value\" displayExpr=\"display\" width=\"100%\"></dx-select-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitScaleService } from '../../../hit-proxy/hit-scale/hit-scale.service';\r\nimport { Scale } from '../../../hit-proxy/hit-scale/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-scale-list',\r\n templateUrl: './hit-scale-list.component.html',\r\n})\r\nexport class HitScaleListComponent implements OnInit {\r\n allData: Scale[] = [];\r\n filteredData: Scale[] = [];\r\n\r\n dataBitsLookup = [\r\n { value: '7', display: '7BITS' },\r\n { value: '8', display: '8BITS' },\r\n ];\r\n stopBitsLookup = [\r\n { value: '1', display: 'One' },\r\n { value: '2', display: 'Two' },\r\n ];\r\n parityLookup = [\r\n { value: 'N', display: 'None' },\r\n { value: 'O', display: 'Odd' },\r\n { value: 'E', display: 'Even' },\r\n ];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: Scale | null = null;\r\n\r\n constructor(\r\n private service: HitScaleService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: Scale): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: Scale): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" kantarını silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::ScaleTitle' | abpLocalization }}</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Port\" caption=\"{{ 'Kadooglu::Port' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_BaudRate\" caption=\"{{ 'Kadooglu::BaudRate' | abpLocalization }}\" [width]=\"120\"></dxi-column>\r\n <dxi-column dataField=\"u_DataBits\" caption=\"{{ 'Kadooglu::DataBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"dataBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_StopBits\" caption=\"{{ 'Kadooglu::StopBits' | abpLocalization }}\" [width]=\"100\">\r\n <dxo-lookup [dataSource]=\"stopBitsLookup\" valueExpr=\"value\" displayExpr=\"display\"></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Parity\" caption=\"{{ 'Kadooglu::Parity' | abpLocalization }}\" [width]=\"100\">\r\n </dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-scale-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-scale-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitScaleListComponent } from './hit-scale-list/hit-scale-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitScaleListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitScaleRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitScaleRoutingModule } from './hit-scale-routing.module';\r\nimport { HitScaleListComponent } from './hit-scale-list/hit-scale-list.component';\r\nimport { HitScaleFormComponent } from './hit-scale-form/hit-scale-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule, NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitScaleListComponent, HitScaleFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitScaleRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitScaleModule {}\r\n\r\nexport function loadHitScaleModuleAsChild() {\r\n return Promise.resolve(HitScaleModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitGateService } from '../../../hit-proxy/hit-gate/hit-gate.service';\r\nimport { Gate, SaveGateDto } from '../../../hit-proxy/hit-gate/models';\r\nimport { HitUserGateService } from '../../../hit-proxy/hit-user-gate/hit-user-gate.service';\r\nimport { UserGateItem } from '../../../hit-proxy/hit-user-gate/models';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { map } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'lib-hit-gate-form',\r\n templateUrl: './hit-gate-form.component.html',\r\n})\r\nexport class HitGateFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: Gate | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n userGates: UserGateItem[] = [];\r\n allAbpUsers: { id: string; tenantId: string; userName: string }[] = [];\r\n selectedUserIdToAdd = '';\r\n\r\n constructor(\r\n private service: HitGateService,\r\n private confirmation: ConfirmationService,\r\n private userGateService: HitUserGateService,\r\n private restService: RestService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.restService.request<void, any>(\r\n { method: 'GET', url: '/api/identity/users', params: { maxResultCount: 200 } },\r\n { apiName: 'AbpIdentity' }\r\n ).pipe(map(r => r?.items ?? [])).subscribe(users => {\r\n this.allAbpUsers = users.map((u: any) => ({\r\n id: u.id,\r\n tenantId: u.tenantId ?? '',\r\n userName: u.userName,\r\n }));\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.isActive = this.record.u_Active === 'Y';\r\n this.userGateService.getByGateCode(this.record.code).subscribe(items => {\r\n this.userGates = items.map(item => ({\r\n ...item,\r\n userName: this.allAbpUsers.find(u => u.id === item.u_UserId)?.userName ?? ''\r\n }));\r\n });\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.isActive = true;\r\n this.userGates = [];\r\n }\r\n }\r\n\r\n addUser(): void {\r\n if (!this.selectedUserIdToAdd) return;\r\n const user = this.allAbpUsers.find(u => u.id === this.selectedUserIdToAdd);\r\n if (!user) return;\r\n if (this.userGates.some(g => g.u_UserId === user.id)) return;\r\n this.userGates = [\r\n ...this.userGates,\r\n {\r\n u_GateCode: this.code,\r\n u_UserId: user.id,\r\n u_TenantId: user.tenantId,\r\n u_IsDefault: 'N',\r\n userName: user.userName,\r\n },\r\n ];\r\n this.selectedUserIdToAdd = '';\r\n }\r\n\r\n removeUser(index: number): void {\r\n this.userGates = this.userGates.filter((_, i) => i !== index);\r\n }\r\n\r\n setDefault(index: number): void {\r\n this.userGates = this.userGates.map((g, i) => ({ ...g, u_IsDefault: i === index ? 'Y' : 'N' }));\r\n }\r\n\r\n save(): void {\r\n if (!this.code || !this.name) {\r\n this.confirmation.warn('Lütfen Kod ve Ad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveGateDto = { code: this.code, name: this.name, u_Active: this.isActive ? 'Y' : 'N' };\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: (gate) => {\r\n const gateCode = gate?.code ?? this.code;\r\n this.userGateService.saveGateUsers(gateCode, this.userGates).subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'xl', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-door-open me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Code' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" placeholder=\"Kapı kodu\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Name' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"name\" placeholder=\"Kapı adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-users me-2\"></i>{{ 'Kadooglu::UserAuthorization' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"d-flex gap-2 mb-3\">\r\n <dx-select-box\r\n [(value)]=\"selectedUserIdToAdd\"\r\n [dataSource]=\"allAbpUsers\"\r\n displayExpr=\"userName\"\r\n valueExpr=\"id\"\r\n [placeholder]=\"'Kadooglu::SelectUser' | abpLocalization\"\r\n [searchEnabled]=\"true\"\r\n style=\"flex: 1\">\r\n </dx-select-box>\r\n <button type=\"button\" class=\"btn btn-outline-primary btn-sm text-nowrap\" (click)=\"addUser()\">\r\n <i class=\"fa fa-plus me-1\"></i>{{ 'Kadooglu::Add' | abpLocalization }}\r\n </button>\r\n </div>\r\n\r\n <dx-data-grid\r\n [dataSource]=\"userGates\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [columnAutoWidth]=\"true\"\r\n [noDataText]=\"'Kadooglu::NoUsersAdded' | abpLocalization\">\r\n <dxi-column dataField=\"userName\" caption=\"{{ 'Kadooglu::User' | abpLocalization }}\" [allowEditing]=\"false\"></dxi-column>\r\n <dxi-column dataField=\"u_UserId\" caption=\"{{ 'Kadooglu::UserId' | abpLocalization }}\" [allowEditing]=\"false\" [visible]=\"false\"></dxi-column>\r\n <dxi-column caption=\"{{ 'Kadooglu::Default' | abpLocalization }}\" [width]=\"100\" cellTemplate=\"defaultTemplate\"></dxi-column>\r\n <dxi-column caption=\"{{ 'AbpUi::Delete' | abpLocalization }}\" [width]=\"70\" cellTemplate=\"deleteTemplate\"></dxi-column>\r\n\r\n <div *dxTemplate=\"let d of 'defaultTemplate'\">\r\n <div class=\"text-center\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"d.data.u_IsDefault === 'Y'\"\r\n (change)=\"setDefault(d.rowIndex)\">\r\n </div>\r\n </div>\r\n <div *dxTemplate=\"let d of 'deleteTemplate'\">\r\n <div class=\"text-center\">\r\n <button type=\"button\" class=\"btn btn-outline-danger btn-sm\" (click)=\"removeUser(d.rowIndex)\">\r\n <i class=\"fa fa-trash\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </dx-data-grid>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitGateService } from '../../../hit-proxy/hit-gate/hit-gate.service';\r\nimport { Gate } from '../../../hit-proxy/hit-gate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-gate-list',\r\n templateUrl: './hit-gate-list.component.html',\r\n})\r\nexport class HitGateListComponent implements OnInit {\r\n allData: Gate[] = [];\r\n filteredData: Gate[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: Gate | null = null;\r\n\r\n constructor(\r\n private service: HitGateService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: Gate): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: Gate): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" kapısını silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::GateTitle' | abpLocalization }}</h3>\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 <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Code' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Name' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-gate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-gate-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitGateListComponent } from './hit-gate-list/hit-gate-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitGateListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitGateRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitGateRoutingModule } from './hit-gate-routing.module';\r\nimport { HitGateListComponent } from './hit-gate-list/hit-gate-list.component';\r\nimport { HitGateFormComponent } from './hit-gate-form/hit-gate-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitGateListComponent, HitGateFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitGateRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxSelectBoxModule,\r\n DxCheckBoxModule,\r\n NgbDropdownModule,\r\n ],\r\n})\r\nexport class HitGateModule {}\r\n\r\nexport function loadHitGateModuleAsChild() {\r\n return Promise.resolve(HitGateModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitCarrierPersonService } from '../../../hit-proxy/hit-carrier-person/hit-carrier-person.service';\r\nimport { CarrierPerson, SaveCarrierPersonDto } from '../../../hit-proxy/hit-carrier-person/models';\r\nimport { HitPlateService } from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport { Plate } from '../../../hit-proxy/hit-plate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-carrier-person-form',\r\n templateUrl: './hit-carrier-person-form.component.html',\r\n})\r\nexport class HitCarrierPersonFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: CarrierPerson | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n u_Firstname = '';\r\n u_Lastname = '';\r\n u_Plate = '';\r\n u_Tel = '';\r\n isActive = false;\r\n u_DefBP = '';\r\n u_CarrierFirm = '';\r\n isTcCitizen = true;\r\n isLoading = false;\r\n\r\n plateData: Plate[] = [];\r\n plateColumns = [\r\n { dataField: 'code', caption: 'Plaka', width: 120 },\r\n { dataField: 'name', caption: 'Açıklama' },\r\n { dataField: 'u_Model', caption: 'Model' },\r\n ];\r\n\r\n constructor(\r\n private service: HitCarrierPersonService,\r\n private confirmation: ConfirmationService,\r\n private plateService: HitPlateService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.plateService.getList().subscribe(d => (this.plateData = d));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n this.isTcCitizen = true;\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.u_Firstname = this.record.u_Firstname ?? '';\r\n this.u_Lastname = this.record.u_Lastname ?? '';\r\n this.u_Plate = this.record.u_Plate ?? '';\r\n this.u_Tel = this.record.u_Tel ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n this.u_DefBP = this.record.u_DefBP ?? '';\r\n this.u_CarrierFirm = this.record.u_CarrierFirm ?? '';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.u_Firstname = '';\r\n this.u_Lastname = '';\r\n this.u_Plate = '';\r\n this.u_Tel = '';\r\n this.isActive = true;\r\n this.u_DefBP = '';\r\n this.u_CarrierFirm = '';\r\n }\r\n }\r\n\r\n onPlateSelected(e: Plate): void {\r\n if (!e) return;\r\n this.u_Plate = e.code;\r\n }\r\n\r\n save(): void {\r\n const fullName = [this.u_Firstname, this.u_Lastname].filter(Boolean).join(' ').trim();\r\n\r\n if (!this.code || !fullName) {\r\n this.confirmation.warn('Lütfen T.C. No, Ad ve Soyad alanlarını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.isTcCitizen && !this.record?.code && !this.validateTCKN(this.code)) {\r\n this.confirmation.warn('Geçersiz T.C. Kimlik No. Lütfen 11 haneli, geçerli bir TCKN giriniz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveCarrierPersonDto = {\r\n code: this.code,\r\n name: fullName,\r\n u_Firstname: this.u_Firstname,\r\n u_Lastname: this.u_Lastname,\r\n u_Plate: this.u_Plate,\r\n u_Tel: this.u_Tel,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n u_DefBP: this.u_DefBP,\r\n u_CarrierFirm: this.u_CarrierFirm,\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n\r\n private validateTCKN(value: string): boolean {\r\n const tc = value?.trim();\r\n if (!tc || tc.length !== 11) return false;\r\n if (!/^\\d{11}$/.test(tc)) return false;\r\n if (tc[0] === '0') return false;\r\n const d = tc.split('').map(Number);\r\n const d10 = ((d[0] + d[2] + d[4] + d[6] + d[8]) * 7 - (d[1] + d[3] + d[5] + d[7])) % 10;\r\n if (d10 !== d[9]) return false;\r\n const d11 = d.slice(0, 10).reduce((a, b) => a + b, 0) % 10;\r\n return d11 === d[10];\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <!-- Bölüm 1: Kimlik Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-id-card me-2\"></i>{{ 'Kadooglu::IdentityInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-12\">\r\n <div class=\"d-flex align-items-center gap-2 mb-1\">\r\n <label class=\"form-label mb-0 small fw-semibold text-muted\">\r\n {{ isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No' }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-check-box [(value)]=\"isTcCitizen\" text=\"T.C. Vatandaşı\"></dx-check-box>\r\n </div>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\"\r\n [placeholder]=\"isTcCitizen ? ('Kadooglu::TcIdentityNo' | abpLocalization) : 'Kimlik No'\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::FirstName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Firstname\" [placeholder]=\"'Kadooglu::FirstName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">\r\n {{ 'Kadooglu::LastName' | abpLocalization }} <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-text-box [(value)]=\"u_Lastname\" [placeholder]=\"'Kadooglu::LastName' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Bölüm 2: İletişim & Araç Bilgileri -->\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-truck me-2\"></i>{{ 'Kadooglu::ContactAndVehicleInfo' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Phone' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Tel\" placeholder=\"Telefon numarası\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }}</label>\r\n <hit-lookup-select\r\n [getFn]=\"plateData\"\r\n [columns]=\"plateColumns\"\r\n displayName=\"code\"\r\n keyExpr=\"code\"\r\n [editingData]=\"u_Plate\"\r\n (selected)=\"onPlateSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::CarrierFirm' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CarrierFirm\" placeholder=\"Firma adı\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::DefaultBusinessPartner' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_DefBP\" placeholder=\"Varsayılan cari\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Bölüm 3: Durum -->\r\n <div class=\"border rounded p-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitCarrierPersonService } from '../../../hit-proxy/hit-carrier-person/hit-carrier-person.service';\r\nimport { CarrierPerson } from '../../../hit-proxy/hit-carrier-person/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-carrier-person-list',\r\n templateUrl: './hit-carrier-person-list.component.html',\r\n styleUrls: ['./hit-carrier-person-list.component.scss'],\r\n})\r\nexport class HitCarrierPersonListComponent implements OnInit {\r\n allData: CarrierPerson[] = [];\r\n filteredData: CarrierPerson[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: CarrierPerson | null = null;\r\n\r\n constructor(\r\n private service: HitCarrierPersonService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: CarrierPerson): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: CarrierPerson): void {\r\n this.confirmation\r\n .warn(`\"${row.name}\" şoförünü silmek istediğinize emin misiniz?`, ``, {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::CarrierPersonTitle' | abpLocalization }}</h3>\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 <dx-data-grid\r\n #carrierPersonGrid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::TcIdentityNo' | abpLocalization }}\" [width]=\"140\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::FullName' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Firstname\" caption=\"{{ 'Kadooglu::FirstName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Lastname\" caption=\"{{ 'Kadooglu::LastName' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Plate\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"u_Tel\" caption=\"{{ 'Kadooglu::Phone' | abpLocalization }}\" [width]=\"130\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <dxi-column dataField=\"u_DefBP\" caption=\"{{ 'Kadooglu::DefaultBP' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_CarrierFirm\" caption=\"{{ 'Kadooglu::CarrierFirm' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.u_Plate\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.u_Plate) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-carrier-person-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-carrier-person-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitCarrierPersonListComponent } from './hit-carrier-person-list/hit-carrier-person-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitCarrierPersonListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitCarrierPersonRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitCarrierPersonRoutingModule } from './hit-carrier-person-routing.module';\r\nimport { HitCarrierPersonListComponent } from './hit-carrier-person-list/hit-carrier-person-list.component';\r\nimport { HitCarrierPersonFormComponent } from './hit-carrier-person-form/hit-carrier-person-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [HitCarrierPersonListComponent, HitCarrierPersonFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitCarrierPersonRoutingModule,\r\n HitUIModule,\r\n NgbDropdownModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitCarrierPersonModule {}\r\n\r\nexport function loadHitCarrierPersonModuleAsChild() {\r\n return Promise.resolve(HitCarrierPersonModule);\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitPlateService } from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport { Plate, SavePlateDto } from '../../../hit-proxy/hit-plate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-plate-form',\r\n templateUrl: './hit-plate-form.component.html',\r\n})\r\nexport class HitPlateFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: Plate | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n name = '';\r\n u_Model = '';\r\n u_IsTrailer = false;\r\n isActive = false;\r\n isLoading = false;\r\n\r\n constructor(\r\n private service: HitPlateService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.name = this.record.name;\r\n this.u_Model = this.record.u_Model ?? '';\r\n this.u_IsTrailer = this.record.u_IsTrailer === 'Y';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.name = '';\r\n this.u_Model = '';\r\n this.u_IsTrailer = false;\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n save(): void {\r\n if (!this.code) {\r\n this.confirmation.warn('Lütfen Plaka alanını doldurunuz.', '', {\r\n hideYesBtn: true,\r\n cancelText: 'Kapat',\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SavePlateDto = {\r\n code: this.code,\r\n name: this.name,\r\n u_Model: this.u_Model,\r\n u_IsTrailer: this.u_IsTrailer ? 'Y' : 'N',\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'md', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-car me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Plate' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <dx-text-box [(value)]=\"code\" [disabled]=\"!!record?.code\" [placeholder]=\"'Kadooglu::EnterPlateNumber' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Description' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"name\" [placeholder]=\"'Kadooglu::Description' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::Model' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_Model\" [placeholder]=\"'Kadooglu::EnterVehicleModel' | abpLocalization\" width=\"100%\"></dx-text-box>\r\n </div>\r\n <div class=\"col-md-6 d-flex align-items-end pb-1\">\r\n <dx-check-box [(value)]=\"u_IsTrailer\" [text]=\"'Kadooglu::IsTrailer' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { HitPlateService } from '../../../hit-proxy/hit-plate/hit-plate.service';\r\nimport { Plate } from '../../../hit-proxy/hit-plate/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-plate-list',\r\n templateUrl: './hit-plate-list.component.html',\r\n styleUrls: ['./hit-plate-list.component.scss'],\r\n})\r\nexport class HitPlateListComponent implements OnInit {\r\n allData: Plate[] = [];\r\n filteredData: Plate[] = [];\r\n\r\n filterCode = '';\r\n filterName = '';\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: Plate | null = null;\r\n\r\n constructor(\r\n private service: HitPlateService,\r\n private confirmation: ConfirmationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: 'Yeni Kayıt',\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n bul(): void {\r\n this.filteredData = this.allData.filter(x => {\r\n if (this.filterCode && !x.code?.toLowerCase().includes(this.filterCode.toLowerCase())) return false;\r\n if (this.filterName && !x.name?.toLowerCase().includes(this.filterName.toLowerCase())) return false;\r\n return true;\r\n });\r\n }\r\n\r\n temizle(): void {\r\n this.filterCode = '';\r\n this.filterName = '';\r\n this.filteredData = [...this.allData];\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: Plate): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: Plate): void {\r\n this.confirmation\r\n .warn(`\"${row.code}\" plakasını silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n\r\n formatPlate(plate: string | null): string {\r\n if (!plate) return '';\r\n const p = plate.replace(/\\s+/g, '').toUpperCase();\r\n const match = p.match(/^(\\d{2})([A-ZÇĞİÖŞÜ]{1,3})(\\d{1,4})$/);\r\n return match ? `${match[1]} ${match[2]} ${match[3]}` : plate;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::PlateTitle' | abpLocalization }}</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"code\" caption=\"{{ 'Kadooglu::Plate' | abpLocalization }}\" [width]=\"180\" cellTemplate=\"plateTemplate\"></dxi-column>\r\n <dxi-column dataField=\"name\" caption=\"{{ 'Kadooglu::Description' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Model\" caption=\"{{ 'Kadooglu::Model' | abpLocalization }}\" [width]=\"150\"></dxi-column>\r\n <dxi-column dataField=\"u_IsTrailer\" caption=\"{{ 'Kadooglu::IsTrailer' | abpLocalization }}\" [width]=\"100\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n <div *dxTemplate=\"let cell of 'plateTemplate'\">\r\n <span *ngIf=\"cell.data.code\" class=\"tr-plate\">\r\n <span class=\"tr-plate-blue\">TR</span>\r\n <span class=\"tr-plate-text\">{{ formatPlate(cell.data.code) }}</span>\r\n </span>\r\n </div>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-plate-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-plate-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitPlateListComponent } from './hit-plate-list/hit-plate-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitPlateListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitPlateRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitPlateRoutingModule } from './hit-plate-routing.module';\r\nimport { HitPlateListComponent } from './hit-plate-list/hit-plate-list.component';\r\nimport { HitPlateFormComponent } from './hit-plate-form/hit-plate-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule, DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport {NgbDropdownModule, NgbModule} from \"@ng-bootstrap/ng-bootstrap\";\r\n\r\n@NgModule({\r\n declarations: [HitPlateListComponent, HitPlateFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitPlateRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n NgbDropdownModule,\r\n DxCheckBoxModule,\r\n ],\r\n})\r\nexport class HitPlateModule {}\r\n\r\nexport function loadHitPlateModuleAsChild() {\r\n return Promise.resolve(HitPlateModule);\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestService } from '@abp/ng.core';\r\nimport { Observable, map } from 'rxjs';\r\nimport { KntItemEsl, SaveKntItemEslDto } from './models';\r\nimport { ApiResponse } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HitKntItemEslService {\r\n apiName = 'Kadooglu';\r\n baseUrl = '/api/entegration-service/knt-item-esls';\r\n\r\n constructor(private restService: RestService) {}\r\n\r\n getList(params?: { code?: string; cikisKalemKodu?: string; girisKalemKodu?: string }): Observable<KntItemEsl[]> {\r\n return this.restService.request<void, ApiResponse<KntItemEsl[]>>(\r\n { method: 'GET', url: this.baseUrl, params: { maxResultCount: 50, ...params } },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items ?? [])\r\n );\r\n }\r\n\r\n get(code: string): Observable<KntItemEsl> {\r\n return this.restService.request<void, ApiResponse<KntItemEsl>>(\r\n { method: 'GET', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n ).pipe(\r\n map(response => response?.items)\r\n );\r\n }\r\n\r\n create(body: SaveKntItemEslDto): Observable<KntItemEsl> {\r\n return this.restService.request<SaveKntItemEslDto, ApiResponse<KntItemEsl>>(\r\n { method: 'POST', url: this.baseUrl, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n update(code: string, body: Partial<SaveKntItemEslDto>): Observable<KntItemEsl> {\r\n return this.restService.request<Partial<SaveKntItemEslDto>, ApiResponse<KntItemEsl>>(\r\n { method: 'PATCH', url: `${this.baseUrl}/${code}`, body },\r\n { apiName: this.apiName }\r\n ).pipe(map(r => r?.items));\r\n }\r\n\r\n delete(code: string): Observable<any> {\r\n return this.restService.request<void, any>(\r\n { method: 'DELETE', url: `${this.baseUrl}/${code}` },\r\n { apiName: this.apiName }\r\n );\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { HitKntItemEslService } from '../../../hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service';\r\nimport { KntItemEsl, SaveKntItemEslDto } from '../../../hit-proxy/hit-knt-item-esl/models';\r\nimport { HitItemService } from '../../../hit-proxy/hit-item/hit-item.service';\r\nimport { Item } from '../../../hit-proxy/hit-item/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-knt-item-esl-form',\r\n templateUrl: './hit-knt-item-esl-form.component.html',\r\n})\r\nexport class HitKntItemEslFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Input() record: KntItemEsl | null = null;\r\n @Output() saved = new EventEmitter<void>();\r\n @Output() cancelled = new EventEmitter<void>();\r\n\r\n code = '';\r\n u_CikisKalemTanimi = '';\r\n u_GirisKalemKodu = '';\r\n u_GirisKalemTanimi = '';\r\n isActive = false;\r\n isLoading = false;\r\n\r\n loadItems = () => this.itemService.getList();\r\n itemColumns = [\r\n { dataField: 'itemCode', caption: 'Kod', width: 120 },\r\n { dataField: 'itemName', caption: 'Kalem Adı' },\r\n ];\r\n\r\n constructor(\r\n private service: HitKntItemEslService,\r\n private itemService: HitItemService,\r\n private confirmation: ConfirmationService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue === true) {\r\n this.initForm();\r\n }\r\n }\r\n\r\n private initForm(): void {\r\n if (this.record) {\r\n this.code = this.record.code;\r\n this.u_CikisKalemTanimi = this.record.u_CikisKalemTanimi ?? '';\r\n this.u_GirisKalemKodu = this.record.u_GirisKalemKodu ?? '';\r\n this.u_GirisKalemTanimi = this.record.u_GirisKalemTanimi ?? '';\r\n this.isActive = this.record.u_Active === 'Y';\r\n } else {\r\n this.code = '';\r\n this.u_CikisKalemTanimi = '';\r\n this.u_GirisKalemKodu = '';\r\n this.u_GirisKalemTanimi = '';\r\n this.isActive = true;\r\n }\r\n }\r\n\r\n onExitItemSelected(item: Item): void {\r\n if (!item) return;\r\n this.code = item.itemCode;\r\n this.u_CikisKalemTanimi = item.itemName;\r\n }\r\n\r\n onEntryItemSelected(item: Item): void {\r\n if (!item) return;\r\n this.u_GirisKalemKodu = item.itemCode;\r\n this.u_GirisKalemTanimi = item.itemName;\r\n }\r\n\r\n save(): void {\r\n if (!this.code) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectExitItemCode'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('AbpUi::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (!this.u_GirisKalemKodu) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::SelectEntryItemCode'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('AbpUi::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n if (this.code === this.u_GirisKalemKodu) {\r\n this.confirmation.warn(this.localizationService.instant('Kadooglu::EntryExitItemCodeMustBeDifferent'), '', {\r\n hideYesBtn: true,\r\n cancelText: this.localizationService.instant('AbpUi::Cancel'),\r\n dismissible: false,\r\n });\r\n return;\r\n }\r\n\r\n const dto: SaveKntItemEslDto = {\r\n code: this.code,\r\n u_CikisKalemKodu: this.code,\r\n u_CikisKalemTanimi: this.u_CikisKalemTanimi,\r\n u_GirisKalemKodu: this.u_GirisKalemKodu,\r\n u_GirisKalemTanimi: this.u_GirisKalemTanimi,\r\n u_Active: this.isActive ? 'Y' : 'N',\r\n };\r\n\r\n const obs$ = this.record?.code\r\n ? this.service.update(this.record.code, dto)\r\n : this.service.create(dto);\r\n\r\n this.isLoading = true;\r\n obs$.subscribe({\r\n next: () => {\r\n this.isLoading = false;\r\n this.saved.emit();\r\n },\r\n error: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n onModalVisibleChange(val: boolean): void {\r\n this.visible = val;\r\n this.visibleChange.emit(val);\r\n if (!val) {\r\n this.cancelled.emit();\r\n }\r\n }\r\n\r\n cancel(): void {\r\n this.onModalVisibleChange(false);\r\n }\r\n}\r\n","<abp-modal [visible]=\"visible\" (visibleChange)=\"onModalVisibleChange($event)\" [options]=\"{ size: 'lg', backdrop: 'static' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ record?.code ? ('AbpUi::Edit' | abpLocalization) : ('Kadooglu::NewRecord' | abpLocalization) }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"border rounded p-3 mb-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-link me-2\"></i>{{ 'Kadooglu::BasicInfo' | abpLocalization }}\r\n </div>\r\n <div class=\"row mb-3\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_CikisKalemTanimi\"\r\n [disabled]=\"!!record?.code\"\r\n (selected)=\"onExitItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_CikisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemCode' | abpLocalization }} <span class=\"text-danger\">*</span></label>\r\n <hit-lookup-select\r\n [loadFn]=\"loadItems\"\r\n [columns]=\"itemColumns\"\r\n displayName=\"itemName\"\r\n keyExpr=\"itemCode\"\r\n [editingData]=\"u_GirisKalemTanimi\"\r\n (selected)=\"onEntryItemSelected($event)\">\r\n </hit-lookup-select>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <label class=\"form-label mb-1 small fw-semibold text-muted\">{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}</label>\r\n <dx-text-box [(value)]=\"u_GirisKalemTanimi\" [readOnly]=\"true\" width=\"100%\"></dx-text-box>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Durum -->\r\n <div class=\"border rounded p-3 mt-3\">\r\n <div class=\"border-bottom pb-2 mb-3 fw-bold text-secondary\">\r\n <i class=\"fa fa-toggle-on me-2\"></i>{{ 'Kadooglu::Status' | abpLocalization }}\r\n </div>\r\n <dx-check-box [(value)]=\"isActive\" [text]=\"'Kadooglu::IsActive' | abpLocalization\"></dx-check-box>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-save\" buttonType=\"button\" [loading]=\"isLoading\" (click)=\"save()\">\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmationService } from '@abp/ng.theme.shared';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { HitKntItemEslService } from '../../../hit-proxy/hit-knt-item-esl/hit-knt-item-esl.service';\r\nimport { KntItemEsl } from '../../../hit-proxy/hit-knt-item-esl/models';\r\n\r\n@Component({\r\n selector: 'lib-hit-knt-item-esl-list',\r\n templateUrl: './hit-knt-item-esl-list.component.html',\r\n})\r\nexport class HitKntItemEslListComponent implements OnInit {\r\n allData: KntItemEsl[] = [];\r\n filteredData: KntItemEsl[] = [];\r\n\r\n showForm = false;\r\n disabledIdColumn = false;\r\n selectedRecord: KntItemEsl | null = null;\r\n\r\n constructor(\r\n private service: HitKntItemEslService,\r\n private confirmation: ConfirmationService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n e.toolbarOptions.items.unshift({\r\n location: 'after',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'plus',\r\n text: this.localizationService.instant('Kadooglu::NewRecord'),\r\n type: 'default',\r\n onClick: () => this.yeniKayit(),\r\n },\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.allData = data;\r\n this.filteredData = [...data];\r\n });\r\n }\r\n\r\n yeniKayit(): void {\r\n this.selectedRecord = null;\r\n this.showForm = true;\r\n }\r\n\r\n duzenle(row: KntItemEsl): void {\r\n this.selectedRecord = { ...row };\r\n this.showForm = true;\r\n }\r\n\r\n sil(row: KntItemEsl): void {\r\n this.confirmation\r\n .warn(`\"${row.code}\" kodlu kaydı silmek istediğinize emin misiniz?`, '', {\r\n yesText: 'Evet',\r\n cancelText: 'Hayır',\r\n })\r\n .subscribe(status => {\r\n if (status === 'confirm') {\r\n this.service.delete(row.code).subscribe(() => this.loadList());\r\n }\r\n });\r\n }\r\n\r\n onFormSaved(): void {\r\n this.showForm = false;\r\n this.loadList();\r\n }\r\n\r\n onFormCancelled(): void {\r\n this.showForm = false;\r\n }\r\n}\r\n","<abp-page [breadcrumb]=\"false\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row align-items-center\">\r\n <div class=\"col\">\r\n <h3 class=\"page-title\">{{ 'Kadooglu::KntItemEslTitle' | abpLocalization }}</h3>\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\r\n <dx-data-grid\r\n [dataSource]=\"filteredData\"\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n columnResizingMode=\"widget\"\r\n [rowAlternationEnabled]=\"true\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n keyExpr=\"code\"\r\n style=\"height: calc(100vh - 320px);\">\r\n\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel [visible]=\"true\" [width]=\"200\" [placeholder]=\"'Kadooglu::Ara' | abpLocalization\"></dxo-search-panel>\r\n <dxo-pager [visible]=\"true\" [showInfo]=\"true\" [allowedPageSizes]=\"[10,20,50]\"\r\n [showPageSizeSelector]=\"true\" [showNavigationButtons]=\"true\"></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column [fixed]=\"true\" dataField=\"id\" width=\"120\" [allowGrouping]=\"false\" [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\" [allowHiding]=\"false\" [allowReordering]=\"false\"\r\n cellTemplate=\"operationTemplate\" caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\">\r\n <div *dxTemplate=\"let row of 'operationTemplate'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm dropdown-toggle\" data-toggle=\"dropdown\"\r\n aria-haspopup=\"true\" ngbDropdownToggle [disabled]=\"disabledIdColumn\">\r\n <i class=\"fa fa-cog mr-1\" aria-hidden=\"true\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button ngbDropdownItem (click)=\"duzenle(row.data)\">\r\n <i class=\"fa fa-edit\" aria-hidden=\"true\"></i> {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button ngbDropdownItem (click)=\"sil(row.data)\">\r\n <i class=\"fa fa-trash\" aria-hidden=\"true\"></i> {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemKodu\" caption=\"{{ 'Kadooglu::ExitItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_CikisKalemTanimi\" caption=\"{{ 'Kadooglu::ExitItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemKodu\" caption=\"{{ 'Kadooglu::EntryItemCode' | abpLocalization }}\" [width]=\"180\"></dxi-column>\r\n <dxi-column dataField=\"u_GirisKalemTanimi\" caption=\"{{ 'Kadooglu::EntryItemDesc' | abpLocalization }}\"></dxi-column>\r\n <dxi-column dataField=\"u_Active\" caption=\"{{ 'Kadooglu::IsActive' | abpLocalization }}\" [width]=\"80\"></dxi-column>\r\n </dx-data-grid>\r\n\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-hit-knt-item-esl-form\r\n [(visible)]=\"showForm\"\r\n [record]=\"selectedRecord\"\r\n (saved)=\"onFormSaved()\"\r\n (cancelled)=\"onFormCancelled()\">\r\n</lib-hit-knt-item-esl-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HitKntItemEslListComponent } from './hit-knt-item-esl-list/hit-knt-item-esl-list.component';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: HitKntItemEslListComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitKntItemEslRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { PageModule } from '@abp/ng.components/page';\r\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\r\nimport { HitKntItemEslRoutingModule } from './hit-knt-item-esl-routing.module';\r\nimport { HitKntItemEslListComponent } from './hit-knt-item-esl-list/hit-knt-item-esl-list.component';\r\nimport { HitKntItemEslFormComponent } from './hit-knt-item-esl-form/hit-knt-item-esl-form.component';\r\nimport { HitUIModule } from '../../shared/hit-modal/hit-ui.module';\r\nimport {\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n} from 'devextreme-angular';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [HitKntItemEslListComponent, HitKntItemEslFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitKntItemEslRoutingModule,\r\n HitUIModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n NgbDropdownModule,\r\n ],\r\n})\r\nexport class HitKntItemEslModule {}\r\n\r\nexport function loadHitKntItemEslModuleAsChild() {\r\n return Promise.resolve(HitKntItemEslModule);\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { loadHitFactoryEntryModuleAsChild } from './hit-components/hit-factory-entry/hit-factory-entry.module';\r\nimport { loadHitEntryWeighingModuleAsChild } from './hit-components/hit-entry-weighing/hit-entry-weighing.module';\r\nimport { loadHitVehicleTypeModuleAsChild } from './hit-components/hit-vehicle-type/hit-vehicle-type.module';\r\nimport { loadHitScaleModuleAsChild } from './hit-components/hit-scale/hit-scale.module';\r\nimport { loadHitGateModuleAsChild } from './hit-components/hit-gate/hit-gate.module';\r\nimport { loadHitCarrierPersonModuleAsChild } from './hit-components/hit-carrier-person/hit-carrier-person.module';\r\nimport { loadHitPlateModuleAsChild } from './hit-components/hit-plate/hit-plate.module';\r\nimport { loadHitKntItemEslModuleAsChild } from './hit-components/hit-knt-item-esl/hit-knt-item-esl.module';\r\n\r\nconst routes: Routes = [\r\n { path: 'factory-entry', loadChildren: loadHitFactoryEntryModuleAsChild },\r\n { path: 'entry-weighing', loadChildren: loadHitEntryWeighingModuleAsChild },\r\n { path: 'vehicle-type', loadChildren: loadHitVehicleTypeModuleAsChild },\r\n { path: 'scale', loadChildren: loadHitScaleModuleAsChild },\r\n { path: 'gate', loadChildren: loadHitGateModuleAsChild },\r\n { path: 'carrier-person', loadChildren: loadHitCarrierPersonModuleAsChild },\r\n { path: 'plate', loadChildren: loadHitPlateModuleAsChild },\r\n { path: 'knt-item-esl', loadChildren: loadHitKntItemEslModuleAsChild },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class KadoogluRoutingModule {}\r\n","import { NgModule, NgModuleFactory, ModuleWithProviders } from '@angular/core';\r\nimport { locale } from 'devextreme/localization';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CoreModule, LazyModuleFactory, LocalizationService } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { KadoogluComponent } from './components/kadooglu.component';\r\nimport { KadoogluRoutingModule } from './kadooglu-routing.module';\r\n\r\n@NgModule({\r\n declarations: [KadoogluComponent],\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n KadoogluRoutingModule,\r\n ],\r\n exports: [KadoogluComponent],\r\n})\r\nexport class KadoogluModule {\r\n static forChild(): ModuleWithProviders<KadoogluModule> {\r\n return {\r\n ngModule: KadoogluModule,\r\n providers: [],\r\n };\r\n }\r\n\r\n static forLazy(): NgModuleFactory<KadoogluModule> {\r\n return new LazyModuleFactory(KadoogluModule.forChild());\r\n }\r\n\r\n constructor(private readonly localizationService: LocalizationService) {\r\n this.localizationService.currentLang$.subscribe(item => {\r\n locale(item);\r\n });\r\n }\r\n}\r\n","/*\r\n * Public API Surface of kadooglu\r\n */\r\n\r\nexport * from './lib/components/kadooglu.component';\r\nexport * from './lib/services/kadooglu.service';\r\nexport * from './lib/kadooglu.module';\r\n\r\n// Services\r\nexport * from './lib/hit-proxy/hit-factory-entry/hit-factory-entry.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.KadoogluService","map","i1","i3","i4","i5","i6","i2.HitFactoryEntryService","i3.HitCarrierPersonService","i4.HitPlateService","i5.HitVehicleTypeService","i6.HitBusinessPartnerService","i7.HitUserGateService","i8","i9","i10.HitModalComponent","i11","i3.HitVehicleTypeService","i7","i10","i11.HitFactoryEntryFormComponent","routes","i2.HitScaleService","i3.HitPlateService","i4.HitCarrierPersonService","i5.HitBusinessPartnerService","i6.HitItemService","i7.HitPurchaseDeliveryNoteService","i8.HitStockTransferService","i9.HitGateService","i10.HitVehicleTypeService","i1.HitEntryWeighingService","i2","i5.HitGateService","i2.HitStockTransferService","i6.ScaleSignalRService","i9.HitModalComponent","i1.HitVehicleTypeService","i2.HitWarehouseService","i5.HitModalComponent","i9.HitVehicleTypeFormComponent","i1.HitScaleService","i8.HitScaleFormComponent","i1.HitGateService","i3.HitUserGateService","i8.HitGateFormComponent","i1.HitCarrierPersonService","i4.HitModalComponent","i9.HitCarrierPersonFormComponent","i1.HitPlateService","i9.HitPlateFormComponent","i1.HitKntItemEslService","i2.HitItemService","i9.HitKntItemEslFormComponent"],"mappings":"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"}