@hitsoft/kadooglu.kalite 0.0.0-stage → 1.0.1
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.
- package/README.md +23 -2
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +5 -0
- package/config/index.d.ts +5 -0
- package/config/kalite-config.module.d.ts +8 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/route.provider.d.ts +4 -0
- package/config/public-api.d.ts +3 -0
- package/esm2020/config/enums/index.mjs +2 -0
- package/esm2020/config/enums/route-names.mjs +2 -0
- package/esm2020/config/hitsoft-kadooglu.kalite-config.mjs +5 -0
- package/esm2020/config/kalite-config.module.mjs +18 -0
- package/esm2020/config/providers/index.mjs +2 -0
- package/esm2020/config/providers/route.provider.mjs +57 -0
- package/esm2020/config/public-api.mjs +4 -0
- package/esm2020/hitsoft-kadooglu.kalite.mjs +5 -0
- package/esm2020/lib/components/intake-form.component.mjs +162 -0
- package/esm2020/lib/components/intake-list.component.mjs +80 -0
- package/esm2020/lib/components/kalite.component.mjs +18 -0
- package/esm2020/lib/components/process-analysis.component.mjs +197 -0
- package/esm2020/lib/components/quality-definitions.component.mjs +97 -0
- package/esm2020/lib/components/quality-notifications.component.mjs +64 -0
- package/esm2020/lib/components/quality-parameters.component.mjs +332 -0
- package/esm2020/lib/components/quality-reports.component.mjs +107 -0
- package/esm2020/lib/kalite-notification.module.mjs +23 -0
- package/esm2020/lib/kalite-routing.module.mjs +41 -0
- package/esm2020/lib/kalite.module.mjs +41 -0
- package/esm2020/lib/models/intake.models.mjs +2 -0
- package/esm2020/lib/models/quality.models.mjs +2 -0
- package/esm2020/lib/services/kalite.service.mjs +21 -0
- package/esm2020/lib/services/print-form.mjs +96 -0
- package/esm2020/lib/services/quality-api.service.mjs +119 -0
- package/esm2020/lib/services/quality-measurements.mjs +127 -0
- package/esm2020/public-api.mjs +16 -0
- package/fesm2015/hitsoft-kadooglu.kalite-config.mjs +80 -0
- package/fesm2015/hitsoft-kadooglu.kalite-config.mjs.map +1 -0
- package/fesm2015/hitsoft-kadooglu.kalite.mjs +1483 -0
- package/fesm2015/hitsoft-kadooglu.kalite.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu.kalite-config.mjs +80 -0
- package/fesm2020/hitsoft-kadooglu.kalite-config.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu.kalite.mjs +1442 -0
- package/fesm2020/hitsoft-kadooglu.kalite.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/intake-form.component.d.ts +50 -0
- package/lib/components/intake-list.component.d.ts +48 -0
- package/lib/components/kalite.component.d.ts +10 -0
- package/lib/components/process-analysis.component.d.ts +46 -0
- package/lib/components/quality-definitions.component.d.ts +46 -0
- package/lib/components/quality-notifications.component.d.ts +44 -0
- package/lib/components/quality-parameters.component.d.ts +82 -0
- package/lib/components/quality-reports.component.d.ts +31 -0
- package/lib/kalite-notification.module.d.ts +14 -0
- package/lib/kalite-routing.module.d.ts +7 -0
- package/lib/kalite.module.d.ts +23 -0
- package/lib/models/intake.models.d.ts +185 -0
- package/lib/models/quality.models.d.ts +114 -0
- package/lib/services/kalite.service.d.ts +10 -0
- package/lib/services/print-form.d.ts +2 -0
- package/lib/services/quality-api.service.d.ts +71 -0
- package/lib/services/quality-measurements.d.ts +8 -0
- package/package.json +42 -3
- package/public-api.d.ts +12 -0
package/index.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
3
|
+
import { PermissionService } from '@abp/ng.core';
|
|
4
|
+
import { IntakeForm, QualityTank } from '../models/intake.models';
|
|
5
|
+
import { QualityMeasurement, QualityParameter } from '../models/quality.models';
|
|
6
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
7
|
+
import { statusLabel } from '../services/quality-measurements';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class IntakeFormComponent implements OnInit, OnDestroy {
|
|
10
|
+
private api;
|
|
11
|
+
private route;
|
|
12
|
+
private router;
|
|
13
|
+
private permissions;
|
|
14
|
+
printArea?: ElementRef<HTMLElement>;
|
|
15
|
+
form: IntakeForm | null;
|
|
16
|
+
tanks: QualityTank[];
|
|
17
|
+
busy: boolean;
|
|
18
|
+
error: string;
|
|
19
|
+
success: string;
|
|
20
|
+
validationError: string;
|
|
21
|
+
decision: string;
|
|
22
|
+
viewOnly: boolean;
|
|
23
|
+
compositeEditor: boolean;
|
|
24
|
+
compositeMeasurements: QualityMeasurement[];
|
|
25
|
+
statusLabel: typeof statusLabel;
|
|
26
|
+
private destroy;
|
|
27
|
+
constructor(api: QualityApiService, route: ActivatedRoute, router: Router, permissions: PermissionService);
|
|
28
|
+
ngOnInit(): void;
|
|
29
|
+
ngOnDestroy(): void;
|
|
30
|
+
allowed(action: string): boolean;
|
|
31
|
+
get editable(): boolean;
|
|
32
|
+
get parameters(): QualityParameter[];
|
|
33
|
+
get palm(): boolean;
|
|
34
|
+
private localTime;
|
|
35
|
+
load(id: number): void;
|
|
36
|
+
detailChanged(): void;
|
|
37
|
+
measurement(p: QualityParameter, composite?: boolean): QualityMeasurement;
|
|
38
|
+
limitLabel(p: QualityParameter): string;
|
|
39
|
+
inputStep(p: QualityParameter): number;
|
|
40
|
+
changed(composite?: boolean): void;
|
|
41
|
+
payload(): object;
|
|
42
|
+
save(approve: boolean): void;
|
|
43
|
+
beginComposite(): void;
|
|
44
|
+
saveComposite(): void;
|
|
45
|
+
refreshComposite(): void;
|
|
46
|
+
print(): Promise<void>;
|
|
47
|
+
back(): void;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IntakeFormComponent, never>;
|
|
49
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IntakeFormComponent, "lib-intake-form", never, {}, {}, never, never, false>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { DxDataGridComponent } from 'devextreme-angular';
|
|
3
|
+
import CustomStore from 'devextreme/data/custom_store';
|
|
4
|
+
import { PermissionService } from '@abp/ng.core';
|
|
5
|
+
import { IntakeVehicle, MovementType } from '../models/intake.models';
|
|
6
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
7
|
+
import { statusLabel } from '../services/quality-measurements';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class IntakeListComponent implements OnInit {
|
|
10
|
+
private api;
|
|
11
|
+
private permissions;
|
|
12
|
+
grid?: DxDataGridComponent;
|
|
13
|
+
readonly statuses: {
|
|
14
|
+
value: string;
|
|
15
|
+
text: string;
|
|
16
|
+
}[];
|
|
17
|
+
readonly dataSource: CustomStore<any, any>;
|
|
18
|
+
rows: IntakeVehicle[];
|
|
19
|
+
types: MovementType[];
|
|
20
|
+
total: number;
|
|
21
|
+
busy: boolean;
|
|
22
|
+
error: string;
|
|
23
|
+
query: {
|
|
24
|
+
pendingOnly: boolean;
|
|
25
|
+
from: string;
|
|
26
|
+
until: string;
|
|
27
|
+
search: string;
|
|
28
|
+
movementTypeCode: string;
|
|
29
|
+
status: string;
|
|
30
|
+
skipCount: number;
|
|
31
|
+
maxResultCount: number;
|
|
32
|
+
};
|
|
33
|
+
cancelRow: IntakeVehicle | null;
|
|
34
|
+
reason: string;
|
|
35
|
+
statusLabel: typeof statusLabel;
|
|
36
|
+
constructor(api: QualityApiService, permissions: PermissionService);
|
|
37
|
+
ngOnInit(): void;
|
|
38
|
+
allowed(policy: string): boolean;
|
|
39
|
+
editable(row: IntakeVehicle): boolean;
|
|
40
|
+
load(reset?: boolean): void;
|
|
41
|
+
tab(pending: boolean): void;
|
|
42
|
+
page(direction: number): void;
|
|
43
|
+
get pageNumber(): number;
|
|
44
|
+
print(row: IntakeVehicle): void;
|
|
45
|
+
cancel(): void;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<IntakeListComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<IntakeListComponent, "lib-intake-list", never, {}, {}, never, never, false>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { KaliteService } from '../services/kalite.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class KaliteComponent implements OnInit {
|
|
5
|
+
private service;
|
|
6
|
+
constructor(service: KaliteService);
|
|
7
|
+
ngOnInit(): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KaliteComponent, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<KaliteComponent, "lib-kalite", never, {}, {}, never, never, false>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { PermissionService } from '@abp/ng.core';
|
|
3
|
+
import { QualityAnalysis, QualityFacility, QualityHour, QualityLimit, QualityMeasurement, QualityParameter, QualityStep } from '../models/quality.models';
|
|
4
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
5
|
+
import { QualityTank } from '../models/intake.models';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class ProcessAnalysisComponent implements OnInit {
|
|
8
|
+
private api;
|
|
9
|
+
private permissions;
|
|
10
|
+
tanks: QualityTank[];
|
|
11
|
+
facilities: QualityFacility[];
|
|
12
|
+
facilityCode: string;
|
|
13
|
+
businessDate: string;
|
|
14
|
+
analysis: QualityAnalysis | null;
|
|
15
|
+
groups: {
|
|
16
|
+
step: QualityStep;
|
|
17
|
+
parameters: QualityParameter[];
|
|
18
|
+
}[];
|
|
19
|
+
parameters: QualityParameter[];
|
|
20
|
+
reason: string;
|
|
21
|
+
busy: boolean;
|
|
22
|
+
busyText: string;
|
|
23
|
+
error: string;
|
|
24
|
+
reasonError: string;
|
|
25
|
+
reasonInput?: ElementRef<HTMLTextAreaElement>;
|
|
26
|
+
constructor(api: QualityApiService, permissions: PermissionService);
|
|
27
|
+
ngOnInit(): void;
|
|
28
|
+
get editable(): boolean;
|
|
29
|
+
get hasOutOfLimit(): boolean;
|
|
30
|
+
get statusText(): string;
|
|
31
|
+
allowed(permission: string): boolean;
|
|
32
|
+
load(): void;
|
|
33
|
+
private applyAnalysis;
|
|
34
|
+
measurement(row: QualityHour, parameter: QualityParameter): QualityMeasurement;
|
|
35
|
+
limit(parameter: QualityParameter): QualityLimit | undefined;
|
|
36
|
+
limitLabel(parameter: QualityParameter): string;
|
|
37
|
+
changed(row: QualityHour, parameter: QualityParameter): void;
|
|
38
|
+
oilTypeChanged(): void;
|
|
39
|
+
average(parameter: QualityParameter): string;
|
|
40
|
+
save(): void;
|
|
41
|
+
decision(action: 'sign' | 'check' | 'approve' | 'revoke'): void;
|
|
42
|
+
downloadPdf(): void;
|
|
43
|
+
private today;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ProcessAnalysisComponent, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ProcessAnalysisComponent, "lib-process-analysis", never, {}, {}, never, never, false>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { PermissionService } from '@abp/ng.core';
|
|
3
|
+
import { MovementDetail, MovementType, QualityShift, QualityTank, QualityLaborant } from '../models/intake.models';
|
|
4
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class QualityDefinitionsComponent implements OnInit {
|
|
7
|
+
private api;
|
|
8
|
+
private permissions;
|
|
9
|
+
tab: 'details' | 'tanks' | 'shifts';
|
|
10
|
+
types: MovementType[];
|
|
11
|
+
details: MovementDetail[];
|
|
12
|
+
tanks: QualityTank[];
|
|
13
|
+
shifts: QualityShift[];
|
|
14
|
+
detail: MovementDetail | null;
|
|
15
|
+
tank: QualityTank | null;
|
|
16
|
+
shift: QualityShift | null;
|
|
17
|
+
isNew: boolean;
|
|
18
|
+
busy: boolean;
|
|
19
|
+
error: string;
|
|
20
|
+
modalError: string;
|
|
21
|
+
success: string;
|
|
22
|
+
laborants: QualityLaborant[];
|
|
23
|
+
laborantsBusy: boolean;
|
|
24
|
+
laborantsError: string;
|
|
25
|
+
profiles: {
|
|
26
|
+
code: string;
|
|
27
|
+
name: string;
|
|
28
|
+
}[];
|
|
29
|
+
constructor(api: QualityApiService, permissions: PermissionService);
|
|
30
|
+
get canEdit(): boolean;
|
|
31
|
+
get canDelete(): boolean;
|
|
32
|
+
ngOnInit(): void;
|
|
33
|
+
load(): void;
|
|
34
|
+
selectTab(tab: 'details' | 'tanks' | 'shifts'): void;
|
|
35
|
+
name(code: string): string;
|
|
36
|
+
openDetail(value?: MovementDetail): void;
|
|
37
|
+
openTank(value?: QualityTank): void;
|
|
38
|
+
openShift(value?: QualityShift): void;
|
|
39
|
+
laborantChanged(): void;
|
|
40
|
+
get selectedLaborantMissing(): boolean;
|
|
41
|
+
close(): void;
|
|
42
|
+
save(): void;
|
|
43
|
+
delete(): void;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QualityDefinitionsComponent, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QualityDefinitionsComponent, "lib-quality-definitions", never, {}, {}, never, never, false>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
3
|
+
import { QualityNotification, NotificationSettings } from '../models/intake.models';
|
|
4
|
+
import { Router } from '@angular/router';
|
|
5
|
+
import { ConfigStateService } from '@abp/ng.core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class QualityNotificationsComponent implements OnInit {
|
|
8
|
+
private api;
|
|
9
|
+
private router;
|
|
10
|
+
items: QualityNotification[];
|
|
11
|
+
error: string;
|
|
12
|
+
constructor(api: QualityApiService, router: Router);
|
|
13
|
+
ngOnInit(): void;
|
|
14
|
+
read(n: QualityNotification): void;
|
|
15
|
+
open(n: QualityNotification): void;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QualityNotificationsComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QualityNotificationsComponent, "lib-quality-notifications", never, {}, {}, never, never, false>;
|
|
18
|
+
}
|
|
19
|
+
export declare class QualityNotificationBellComponent implements OnInit, OnDestroy {
|
|
20
|
+
private api;
|
|
21
|
+
private config;
|
|
22
|
+
count: number;
|
|
23
|
+
private subscription?;
|
|
24
|
+
constructor(api: QualityApiService, config: ConfigStateService);
|
|
25
|
+
ngOnInit(): void;
|
|
26
|
+
ngOnDestroy(): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QualityNotificationBellComponent, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QualityNotificationBellComponent, "lib-quality-notification-bell", never, {}, {}, never, never, false>;
|
|
29
|
+
}
|
|
30
|
+
export declare class QualityNotificationSettingsComponent implements OnInit {
|
|
31
|
+
private api;
|
|
32
|
+
settings: NotificationSettings | null;
|
|
33
|
+
failures: any[];
|
|
34
|
+
qualityRoles: string;
|
|
35
|
+
securityRoles: string;
|
|
36
|
+
error: string;
|
|
37
|
+
success: string;
|
|
38
|
+
busy: boolean;
|
|
39
|
+
constructor(api: QualityApiService);
|
|
40
|
+
ngOnInit(): void;
|
|
41
|
+
save(): void;
|
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QualityNotificationSettingsComponent, never>;
|
|
43
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QualityNotificationSettingsComponent, "lib-quality-notification-settings", never, {}, {}, never, never, false>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { ChangeDetectorRef, OnInit } from '@angular/core';
|
|
2
|
+
import { PermissionService } from '@abp/ng.core';
|
|
3
|
+
import { QualityFacility, QualityForm, QualityLimit, QualityParameter, QualityStep, QualityTemplate } from '../models/quality.models';
|
|
4
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
5
|
+
import { ActivatedRoute } from '@angular/router';
|
|
6
|
+
import { MovementDetail, MovementType } from '../models/intake.models';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class QualityParametersComponent implements OnInit {
|
|
9
|
+
private api;
|
|
10
|
+
private permissions;
|
|
11
|
+
private changeDetector;
|
|
12
|
+
private route;
|
|
13
|
+
controlType: 'Input' | 'Process';
|
|
14
|
+
movementTypes: MovementType[];
|
|
15
|
+
movementDetails: MovementDetail[];
|
|
16
|
+
movementTypeCode: string;
|
|
17
|
+
movementDetailCode: string;
|
|
18
|
+
newInputForm: boolean;
|
|
19
|
+
private stepEditor?;
|
|
20
|
+
forms: QualityForm[];
|
|
21
|
+
facilities: QualityFacility[];
|
|
22
|
+
facilityCode: string;
|
|
23
|
+
facilitySteps: QualityStep[];
|
|
24
|
+
editingStep: QualityStep | null;
|
|
25
|
+
newStep: boolean;
|
|
26
|
+
formCode: string;
|
|
27
|
+
template: QualityTemplate | null;
|
|
28
|
+
editingParameter: QualityParameter | null;
|
|
29
|
+
editingLimit: QualityLimit | null;
|
|
30
|
+
newParameter: boolean;
|
|
31
|
+
newLimit: boolean;
|
|
32
|
+
parameterModalVisible: boolean;
|
|
33
|
+
limitModalVisible: boolean;
|
|
34
|
+
modalError: string;
|
|
35
|
+
readonly editorModalOptions: {
|
|
36
|
+
size: "xl";
|
|
37
|
+
centered: boolean;
|
|
38
|
+
};
|
|
39
|
+
optionsText: string;
|
|
40
|
+
private pendingRequests;
|
|
41
|
+
busyText: string;
|
|
42
|
+
get busy(): boolean;
|
|
43
|
+
error: string;
|
|
44
|
+
success: string;
|
|
45
|
+
constructor(api: QualityApiService, permissions: PermissionService, changeDetector: ChangeDetectorRef, route: ActivatedRoute);
|
|
46
|
+
ngOnInit(): void;
|
|
47
|
+
get canEdit(): boolean;
|
|
48
|
+
get canCreate(): boolean;
|
|
49
|
+
get canDelete(): boolean;
|
|
50
|
+
get visibleForms(): QualityForm[];
|
|
51
|
+
get visibleDetails(): MovementDetail[];
|
|
52
|
+
switchType(type: 'Input' | 'Process'): void;
|
|
53
|
+
selectInput(): void;
|
|
54
|
+
load(): void;
|
|
55
|
+
private revealStepEditor;
|
|
56
|
+
parameterModalChanged(visible: boolean): void;
|
|
57
|
+
limitModalChanged(visible: boolean): void;
|
|
58
|
+
closeParameterModal(): void;
|
|
59
|
+
closeLimitModal(): void;
|
|
60
|
+
private track;
|
|
61
|
+
processName(code: string): string;
|
|
62
|
+
steps(): QualityStep[];
|
|
63
|
+
matchingFacilities(): QualityFacility[];
|
|
64
|
+
selectFacility(): void;
|
|
65
|
+
loadSteps(): void;
|
|
66
|
+
addStep(): void;
|
|
67
|
+
editStep(step: QualityStep): void;
|
|
68
|
+
saveStep(): void;
|
|
69
|
+
orderedParameters(): QualityParameter[];
|
|
70
|
+
limitsFor(code: string): QualityLimit[];
|
|
71
|
+
editForm(): void;
|
|
72
|
+
addParameter(): void;
|
|
73
|
+
editParameter(parameter: QualityParameter): void;
|
|
74
|
+
saveParameter(): void;
|
|
75
|
+
deleteParameter(parameter: QualityParameter): void;
|
|
76
|
+
addLimit(parameter: QualityParameter): void;
|
|
77
|
+
editLimit(limit: QualityLimit): void;
|
|
78
|
+
saveLimit(): void;
|
|
79
|
+
deleteLimit(limit: QualityLimit): void;
|
|
80
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QualityParametersComponent, never>;
|
|
81
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QualityParametersComponent, "lib-quality-parameters", never, {}, {}, never, never, false>;
|
|
82
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { PermissionService } from '@abp/ng.core';
|
|
4
|
+
import { QualityApiService } from '../services/quality-api.service';
|
|
5
|
+
import { MovementType, ReportFilter, QualityReport, ReportRow } from '../models/intake.models';
|
|
6
|
+
import { QualityForm, QualityFacility, QualityParameter } from '../models/quality.models';
|
|
7
|
+
import { statusLabel } from '../services/quality-measurements';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class QualityReportsComponent implements OnInit {
|
|
10
|
+
private api;
|
|
11
|
+
private route;
|
|
12
|
+
private permissions;
|
|
13
|
+
filter: ReportFilter;
|
|
14
|
+
report: QualityReport | null;
|
|
15
|
+
forms: QualityForm[];
|
|
16
|
+
facilities: QualityFacility[];
|
|
17
|
+
types: MovementType[];
|
|
18
|
+
busy: boolean;
|
|
19
|
+
error: string;
|
|
20
|
+
statusLabel: typeof statusLabel;
|
|
21
|
+
constructor(api: QualityApiService, route: ActivatedRoute, permissions: PermissionService);
|
|
22
|
+
ngOnInit(): void;
|
|
23
|
+
get canExport(): boolean;
|
|
24
|
+
get visibleForms(): QualityForm[];
|
|
25
|
+
load(): void;
|
|
26
|
+
measurement(row: ReportRow, p: QualityParameter): import("../models/quality.models").QualityMeasurement;
|
|
27
|
+
pdf(): void;
|
|
28
|
+
excel(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QualityReportsComponent, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QualityReportsComponent, "lib-quality-reports", never, {}, {}, never, never, false>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import { NavItemsService } from '@abp/ng.theme.shared';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./components/quality-notifications.component";
|
|
5
|
+
import * as i2 from "@abp/ng.core";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@angular/router";
|
|
8
|
+
export declare class KaliteNotificationModule {
|
|
9
|
+
static forRoot(): ModuleWithProviders<KaliteNotificationModule>;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KaliteNotificationModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KaliteNotificationModule, [typeof i1.QualityNotificationsComponent, typeof i1.QualityNotificationBellComponent, typeof i1.QualityNotificationSettingsComponent], [typeof i2.CoreModule, typeof i3.FormsModule, typeof i4.RouterModule], [typeof i1.QualityNotificationBellComponent, typeof i1.QualityNotificationsComponent, typeof i1.QualityNotificationSettingsComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<KaliteNotificationModule>;
|
|
13
|
+
}
|
|
14
|
+
export declare function configureNotifications(nav: NavItemsService): () => void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/router";
|
|
3
|
+
export declare class KaliteRoutingModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KaliteRoutingModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KaliteRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<KaliteRoutingModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModuleFactory, ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./components/kalite.component";
|
|
4
|
+
import * as i2 from "./components/process-analysis.component";
|
|
5
|
+
import * as i3 from "./components/quality-parameters.component";
|
|
6
|
+
import * as i4 from "./components/intake-list.component";
|
|
7
|
+
import * as i5 from "./components/intake-form.component";
|
|
8
|
+
import * as i6 from "./components/quality-definitions.component";
|
|
9
|
+
import * as i7 from "./components/quality-reports.component";
|
|
10
|
+
import * as i8 from "@abp/ng.core";
|
|
11
|
+
import * as i9 from "@abp/ng.theme.shared";
|
|
12
|
+
import * as i10 from "@angular/forms";
|
|
13
|
+
import * as i11 from "devextreme-angular";
|
|
14
|
+
import * as i12 from "@ng-bootstrap/ng-bootstrap";
|
|
15
|
+
import * as i13 from "./kalite-notification.module";
|
|
16
|
+
import * as i14 from "./kalite-routing.module";
|
|
17
|
+
export declare class KaliteModule {
|
|
18
|
+
static forChild(): ModuleWithProviders<KaliteModule>;
|
|
19
|
+
static forLazy(): NgModuleFactory<KaliteModule>;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KaliteModule, never>;
|
|
21
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<KaliteModule, [typeof i1.KaliteComponent, typeof i2.ProcessAnalysisComponent, typeof i3.QualityParametersComponent, typeof i4.IntakeListComponent, typeof i5.IntakeFormComponent, typeof i6.QualityDefinitionsComponent, typeof i7.QualityReportsComponent], [typeof i8.CoreModule, typeof i9.ThemeSharedModule, typeof i10.FormsModule, typeof i11.DxDataGridModule, typeof i12.NgbDropdownModule, typeof i13.KaliteNotificationModule, typeof i14.KaliteRoutingModule], [typeof i2.ProcessAnalysisComponent, typeof i3.QualityParametersComponent]>;
|
|
22
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<KaliteModule>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { QualityMeasurement, QualityTemplate, QualityParameter, QualityForm } from './quality.models';
|
|
2
|
+
export interface MovementType {
|
|
3
|
+
code: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MovementDetail {
|
|
7
|
+
code: string;
|
|
8
|
+
movementTypeCode: string;
|
|
9
|
+
detailCode: string;
|
|
10
|
+
name: string;
|
|
11
|
+
profile: string;
|
|
12
|
+
active: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface QualityTank {
|
|
15
|
+
code: string;
|
|
16
|
+
name: string;
|
|
17
|
+
type: string;
|
|
18
|
+
capacity: number | null;
|
|
19
|
+
active: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface QualityShift {
|
|
22
|
+
code: string;
|
|
23
|
+
name: string;
|
|
24
|
+
startHour: number;
|
|
25
|
+
endHour: number;
|
|
26
|
+
analyst: string;
|
|
27
|
+
analystUserId?: string | null;
|
|
28
|
+
active: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface QualityLaborant {
|
|
31
|
+
id: string;
|
|
32
|
+
userName: string;
|
|
33
|
+
}
|
|
34
|
+
export interface IntakeVehicle {
|
|
35
|
+
hasExited?: boolean;
|
|
36
|
+
docEntry: number;
|
|
37
|
+
docNum: number;
|
|
38
|
+
sequenceNumber: string;
|
|
39
|
+
gateCode: string;
|
|
40
|
+
entryDate: string;
|
|
41
|
+
movementTypeCode: string;
|
|
42
|
+
movementTypeName: string;
|
|
43
|
+
plate: string;
|
|
44
|
+
trailerPlate: string;
|
|
45
|
+
driver: string;
|
|
46
|
+
driverPhone: string;
|
|
47
|
+
identityNumber: string;
|
|
48
|
+
sealNumber: string;
|
|
49
|
+
vehicleStatus: string;
|
|
50
|
+
firstWeight: number | null;
|
|
51
|
+
lastWeight: number | null;
|
|
52
|
+
netKg: number | null;
|
|
53
|
+
origin: string;
|
|
54
|
+
stockTransferNumber: string;
|
|
55
|
+
receiptDocEntry: number | null;
|
|
56
|
+
receiptNumber: string;
|
|
57
|
+
partnerCode: string;
|
|
58
|
+
partnerName: string;
|
|
59
|
+
shipName: string;
|
|
60
|
+
orderNumber: string;
|
|
61
|
+
qualityStatus: string;
|
|
62
|
+
movementDetailName: string;
|
|
63
|
+
analyst: string;
|
|
64
|
+
inspectedAt: string;
|
|
65
|
+
notes: string;
|
|
66
|
+
}
|
|
67
|
+
export interface IntakeInspection {
|
|
68
|
+
code: string;
|
|
69
|
+
vehicleEntryId: number;
|
|
70
|
+
movementDetailCode: string;
|
|
71
|
+
status: string;
|
|
72
|
+
origin: string;
|
|
73
|
+
tankCode: string;
|
|
74
|
+
oilType: string;
|
|
75
|
+
batchNumber: string;
|
|
76
|
+
compositeSampleCode: string;
|
|
77
|
+
quantityKg: number | null;
|
|
78
|
+
notes: string;
|
|
79
|
+
analyst: string;
|
|
80
|
+
inspectedAt: string;
|
|
81
|
+
revision: number;
|
|
82
|
+
vehicleSnapshot: IntakeVehicle;
|
|
83
|
+
templateSnapshot: QualityTemplate;
|
|
84
|
+
measurements: QualityMeasurement[];
|
|
85
|
+
}
|
|
86
|
+
export interface CompositeSample {
|
|
87
|
+
code: string;
|
|
88
|
+
movementDetailCode: string;
|
|
89
|
+
receiptDocEntry: number | null;
|
|
90
|
+
batchNumber: string;
|
|
91
|
+
shipName: string;
|
|
92
|
+
analyst: string;
|
|
93
|
+
sampledAt: string;
|
|
94
|
+
revision: number;
|
|
95
|
+
templateSnapshot: QualityTemplate;
|
|
96
|
+
measurements: QualityMeasurement[];
|
|
97
|
+
}
|
|
98
|
+
export interface IntakeForm {
|
|
99
|
+
vehicle: IntakeVehicle;
|
|
100
|
+
details: MovementDetail[];
|
|
101
|
+
inspection: IntakeInspection;
|
|
102
|
+
compositeSample: CompositeSample | null;
|
|
103
|
+
canEdit: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface Paged<T> {
|
|
106
|
+
items: T[];
|
|
107
|
+
totalCount: number;
|
|
108
|
+
}
|
|
109
|
+
export interface ReportFilter {
|
|
110
|
+
type: string;
|
|
111
|
+
from: string;
|
|
112
|
+
until: string;
|
|
113
|
+
formCode?: string;
|
|
114
|
+
movementTypeCode?: string;
|
|
115
|
+
movementDetailCode?: string;
|
|
116
|
+
facilityCode?: string;
|
|
117
|
+
partner?: string;
|
|
118
|
+
ship?: string;
|
|
119
|
+
status?: string;
|
|
120
|
+
groupBy: string;
|
|
121
|
+
}
|
|
122
|
+
export interface ReportRow {
|
|
123
|
+
recordCode: string;
|
|
124
|
+
date: string;
|
|
125
|
+
plate: string;
|
|
126
|
+
trailerPlate: string;
|
|
127
|
+
partner: string;
|
|
128
|
+
ship: string;
|
|
129
|
+
movementType: string;
|
|
130
|
+
detail: string;
|
|
131
|
+
status: string;
|
|
132
|
+
analyst: string;
|
|
133
|
+
notes: string;
|
|
134
|
+
origin: string;
|
|
135
|
+
stockTransfer: string;
|
|
136
|
+
tank: string;
|
|
137
|
+
outputTank: string;
|
|
138
|
+
oilType: string;
|
|
139
|
+
quantityKg: number | null;
|
|
140
|
+
composite: boolean;
|
|
141
|
+
measurements: QualityMeasurement[];
|
|
142
|
+
}
|
|
143
|
+
export interface ReportSection {
|
|
144
|
+
form: QualityForm;
|
|
145
|
+
groupName: string;
|
|
146
|
+
averageMode: string;
|
|
147
|
+
columns: QualityParameter[];
|
|
148
|
+
rows: ReportRow[];
|
|
149
|
+
averages: Record<string, number>;
|
|
150
|
+
totalKg: number;
|
|
151
|
+
}
|
|
152
|
+
export interface QualityReport {
|
|
153
|
+
type: string;
|
|
154
|
+
from: string;
|
|
155
|
+
until: string;
|
|
156
|
+
totalRecords: number;
|
|
157
|
+
rejectedRecords: number;
|
|
158
|
+
rejectionRate: number;
|
|
159
|
+
sections: ReportSection[];
|
|
160
|
+
rejectionSummary: {
|
|
161
|
+
groupName: string;
|
|
162
|
+
total: number;
|
|
163
|
+
rejected: number;
|
|
164
|
+
rate: number;
|
|
165
|
+
}[];
|
|
166
|
+
}
|
|
167
|
+
export interface QualityNotification {
|
|
168
|
+
code: string;
|
|
169
|
+
title: string;
|
|
170
|
+
body: string;
|
|
171
|
+
url: string;
|
|
172
|
+
isRead: boolean;
|
|
173
|
+
createdAt: string;
|
|
174
|
+
deliveryStatus: string;
|
|
175
|
+
error: string;
|
|
176
|
+
}
|
|
177
|
+
export interface NotificationSettings {
|
|
178
|
+
portalEnabled: boolean;
|
|
179
|
+
emailEnabled: boolean;
|
|
180
|
+
reminderEnabled: boolean;
|
|
181
|
+
reminderMinutes: number;
|
|
182
|
+
portalBaseUrl?: string;
|
|
183
|
+
qualityRoles: string[];
|
|
184
|
+
securityRoles: string[];
|
|
185
|
+
}
|