@hitsoft/kadooglu-keops 0.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 +24 -0
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +23 -0
- package/config/index.d.ts +5 -0
- package/config/kadooglu-keops-config.module.d.ts +8 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/route.provider.d.ts +8 -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-keops-config.mjs +5 -0
- package/esm2020/config/kadooglu-keops-config.module.mjs +18 -0
- package/esm2020/config/providers/index.mjs +2 -0
- package/esm2020/config/providers/route.provider.mjs +212 -0
- package/esm2020/config/public-api.mjs +4 -0
- package/esm2020/hitsoft-kadooglu-keops.mjs +5 -0
- package/esm2020/lib/features/container-definitions/components/container-definition-form.component.mjs +81 -0
- package/esm2020/lib/features/container-definitions/components/container-definitions.component.mjs +69 -0
- package/esm2020/lib/features/container-definitions/hit-container-definitions-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-definitions/hit-container-definitions.module.mjs +58 -0
- package/esm2020/lib/features/container-loading-counts/components/container-loading-counts.component.mjs +104 -0
- package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts.module.mjs +49 -0
- package/esm2020/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.mjs +106 -0
- package/esm2020/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.mjs +10 -0
- package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.mjs +49 -0
- package/esm2020/lib/features/container-mix-types/components/container-mix-type-form.component.mjs +78 -0
- package/esm2020/lib/features/container-mix-types/components/container-mix-types.component.mjs +69 -0
- package/esm2020/lib/features/container-mix-types/hit-container-mix-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-mix-types/hit-container-mix-types.module.mjs +58 -0
- package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.mjs +95 -0
- package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.mjs +91 -0
- package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.mjs +58 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +103 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-result-sum.component.mjs +36 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +32 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +167 -0
- package/esm2020/lib/features/cost-calculation/cost-calculation.models.mjs +2 -0
- package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +21 -0
- package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +55 -0
- package/esm2020/lib/features/cost-calculation/engine/index.mjs +4 -0
- package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +38 -0
- package/esm2020/lib/features/cost-calculation/engine/models.mjs +20 -0
- package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +56 -0
- package/esm2020/lib/features/cost-calculation/hit-cost-calculation-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-calculation/hit-cost-calculation.module.mjs +64 -0
- package/esm2020/lib/features/cost-groups/components/cost-group-form.component.mjs +121 -0
- package/esm2020/lib/features/cost-groups/components/cost-groups.component.mjs +92 -0
- package/esm2020/lib/features/cost-groups/cost-group-role-l10n-helper.mjs +20 -0
- package/esm2020/lib/features/cost-groups/hit-cost-groups-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-groups/hit-cost-groups.module.mjs +58 -0
- package/esm2020/lib/features/cost-items/components/cost-item-form.component.mjs +88 -0
- package/esm2020/lib/features/cost-items/components/cost-items.component.mjs +73 -0
- package/esm2020/lib/features/cost-items/cost-item-l10n-helper.mjs +7 -0
- package/esm2020/lib/features/cost-items/hit-cost-items-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-items/hit-cost-items.module.mjs +58 -0
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +73 -0
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +93 -0
- package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +9 -0
- package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.mjs +58 -0
- package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +131 -0
- package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +93 -0
- package/esm2020/lib/features/cost-parameters/cost-parameter-l10n-helper.mjs +7 -0
- package/esm2020/lib/features/cost-parameters/hit-cost-parameters-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-parameters/hit-cost-parameters.module.mjs +61 -0
- package/esm2020/lib/features/exchange-rates/components/central-bank-rates.component.mjs +17 -0
- package/esm2020/lib/features/exchange-rates/components/exchange-rates.component.mjs +30 -0
- package/esm2020/lib/features/exchange-rates/components/fixed-rates-form.component.mjs +84 -0
- package/esm2020/lib/features/exchange-rates/hit-exchange-rates-routing.module.mjs +29 -0
- package/esm2020/lib/features/exchange-rates/hit-exchange-rates.module.mjs +65 -0
- package/esm2020/lib/features/index.mjs +15 -0
- package/esm2020/lib/features/packaging-materials/components/packaging-material-form.component.mjs +87 -0
- package/esm2020/lib/features/packaging-materials/components/packaging-materials.component.mjs +69 -0
- package/esm2020/lib/features/packaging-materials/hit-packaging-materials-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-materials/hit-packaging-materials.module.mjs +58 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-price-form.component.mjs +154 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-price-lines.component.mjs +89 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-prices.component.mjs +86 -0
- package/esm2020/lib/features/packaging-prices/hit-packaging-prices-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-prices/hit-packaging-prices.module.mjs +71 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-calculator.mjs +36 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-excel.service.mjs +32 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-form.factory.mjs +31 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-lines.builder.mjs +49 -0
- package/esm2020/lib/features/packaging-types/components/packaging-type-form.component.mjs +78 -0
- package/esm2020/lib/features/packaging-types/components/packaging-types.component.mjs +69 -0
- package/esm2020/lib/features/packaging-types/hit-packaging-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-types/hit-packaging-types.module.mjs +58 -0
- package/esm2020/lib/features/pallet-definitions/components/pallet-definition-form.component.mjs +80 -0
- package/esm2020/lib/features/pallet-definitions/components/pallet-definitions.component.mjs +69 -0
- package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.mjs +29 -0
- package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions.module.mjs +58 -0
- package/esm2020/lib/features/price-parameter-types/components/price-parameter-type-form.component.mjs +79 -0
- package/esm2020/lib/features/price-parameter-types/components/price-parameter-types.component.mjs +69 -0
- package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types.module.mjs +58 -0
- package/esm2020/lib/features/sap-sales-persons/components/sap-sales-person-form.component.mjs +69 -0
- package/esm2020/lib/features/sap-sales-persons/components/sap-sales-persons.component.mjs +53 -0
- package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.mjs +29 -0
- package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons.module.mjs +61 -0
- package/esm2020/lib/features/settings/components/cost-settings.component.mjs +48 -0
- package/esm2020/lib/kadooglu-keops-routing.module.mjs +53 -0
- package/esm2020/lib/kadooglu-keops.module.mjs +53 -0
- package/esm2020/lib/proxy/container-definitions/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-definitions/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-definitions/index.mjs +3 -0
- package/esm2020/lib/proxy/container-loading-counts/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-counts/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-counts/index.mjs +4 -0
- package/esm2020/lib/proxy/container-loading-counts/loading-target-kind.enum.mjs +8 -0
- package/esm2020/lib/proxy/container-loading-scenarios/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-scenarios/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-scenarios/index.mjs +4 -0
- package/esm2020/lib/proxy/container-loading-scenarios/pallet-status.enum.mjs +8 -0
- package/esm2020/lib/proxy/container-mix-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-mix-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-mix-types/index.mjs +3 -0
- package/esm2020/lib/proxy/container-pallet-capacities/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-pallet-capacities/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-pallet-capacities/index.mjs +3 -0
- package/esm2020/lib/proxy/controllers/container-definition.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/container-loading-count.service.mjs +31 -0
- package/esm2020/lib/proxy/controllers/container-loading-scenario.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/container-mix-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/container-pallet-capacity.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-group.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-item.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-parameter-category.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-parameter.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-settings.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/exchange-rate.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/index.mjs +19 -0
- package/esm2020/lib/proxy/controllers/item.service.mjs +23 -0
- package/esm2020/lib/proxy/controllers/packaging-material.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/packaging-price.service.mjs +55 -0
- package/esm2020/lib/proxy/controllers/packaging-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/pallet-definition.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/price-parameter-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/sap-sales-person.service.mjs +27 -0
- package/esm2020/lib/proxy/cost-groups/cost-group-role.enum.mjs +10 -0
- package/esm2020/lib/proxy/cost-groups/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-groups/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-groups/index.mjs +4 -0
- package/esm2020/lib/proxy/cost-items/cost-item-calculation-type.enum.mjs +9 -0
- package/esm2020/lib/proxy/cost-items/cost-item-system-code.enum.mjs +20 -0
- package/esm2020/lib/proxy/cost-items/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-items/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-items/index.mjs +5 -0
- package/esm2020/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +11 -0
- package/esm2020/lib/proxy/cost-parameter-categories/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameter-categories/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameter-categories/index.mjs +4 -0
- package/esm2020/lib/proxy/cost-parameters/cost-parameter-status.enum.mjs +9 -0
- package/esm2020/lib/proxy/cost-parameters/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameters/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameters/index.mjs +4 -0
- package/esm2020/lib/proxy/currencies/currency.enum.mjs +9 -0
- package/esm2020/lib/proxy/currencies/index.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/exchange-rate-source.enum.mjs +8 -0
- package/esm2020/lib/proxy/exchange-rates/index.mjs +4 -0
- package/esm2020/lib/proxy/index.mjs +22 -0
- package/esm2020/lib/proxy/items/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/items/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/items/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-materials/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-materials/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-materials/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-prices/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-prices/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-prices/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-types/index.mjs +3 -0
- package/esm2020/lib/proxy/pallet-definitions/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/pallet-definitions/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/pallet-definitions/index.mjs +3 -0
- package/esm2020/lib/proxy/price-parameter-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/price-parameter-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/price-parameter-types/index.mjs +3 -0
- package/esm2020/lib/proxy/sales-persons/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/sales-persons/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/sales-persons/index.mjs +3 -0
- package/esm2020/lib/proxy/settings/index.mjs +2 -0
- package/esm2020/lib/proxy/settings/models.mjs +2 -0
- package/esm2020/lib/utils/currency.utils.mjs +8 -0
- package/esm2020/lib/utils/date.utils.mjs +12 -0
- package/esm2020/lib/utils/number.utils.mjs +9 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs +235 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -0
- package/fesm2015/hitsoft-kadooglu-keops.mjs +5243 -0
- package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs +235 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu-keops.mjs +5196 -0
- package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/features/container-definitions/components/container-definition-form.component.d.ts +25 -0
- package/lib/features/container-definitions/components/container-definitions.component.d.ts +23 -0
- package/lib/features/container-definitions/hit-container-definitions-routing.module.d.ts +7 -0
- package/lib/features/container-definitions/hit-container-definitions.module.d.ts +18 -0
- package/lib/features/container-loading-counts/components/container-loading-counts.component.d.ts +29 -0
- package/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.d.ts +7 -0
- package/lib/features/container-loading-counts/hit-container-loading-counts.module.d.ts +15 -0
- package/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.d.ts +40 -0
- package/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.d.ts +3 -0
- package/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.d.ts +7 -0
- package/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.d.ts +15 -0
- package/lib/features/container-mix-types/components/container-mix-type-form.component.d.ts +25 -0
- package/lib/features/container-mix-types/components/container-mix-types.component.d.ts +23 -0
- package/lib/features/container-mix-types/hit-container-mix-types-routing.module.d.ts +7 -0
- package/lib/features/container-mix-types/hit-container-mix-types.module.d.ts +18 -0
- package/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.d.ts +33 -0
- package/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.d.ts +29 -0
- package/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.d.ts +7 -0
- package/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.d.ts +18 -0
- package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +43 -0
- package/lib/features/cost-calculation/components/cost-calculation-result-sum.component.d.ts +16 -0
- package/lib/features/cost-calculation/components/cost-calculation-results.component.d.ts +12 -0
- package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +51 -0
- package/lib/features/cost-calculation/cost-calculation.models.d.ts +18 -0
- package/lib/features/cost-calculation/engine/currency.utils.d.ts +4 -0
- package/lib/features/cost-calculation/engine/formulas.d.ts +7 -0
- package/lib/features/cost-calculation/engine/index.d.ts +3 -0
- package/lib/features/cost-calculation/engine/item-resolver.d.ts +4 -0
- package/lib/features/cost-calculation/engine/models.d.ts +64 -0
- package/lib/features/cost-calculation/engine/stage-builder.d.ts +4 -0
- package/lib/features/cost-calculation/hit-cost-calculation-routing.module.d.ts +7 -0
- package/lib/features/cost-calculation/hit-cost-calculation.module.d.ts +19 -0
- package/lib/features/cost-groups/components/cost-group-form.component.d.ts +33 -0
- package/lib/features/cost-groups/components/cost-groups.component.d.ts +31 -0
- package/lib/features/cost-groups/cost-group-role-l10n-helper.d.ts +7 -0
- package/lib/features/cost-groups/hit-cost-groups-routing.module.d.ts +7 -0
- package/lib/features/cost-groups/hit-cost-groups.module.d.ts +18 -0
- package/lib/features/cost-items/components/cost-item-form.component.d.ts +30 -0
- package/lib/features/cost-items/components/cost-items.component.d.ts +24 -0
- package/lib/features/cost-items/cost-item-l10n-helper.d.ts +2 -0
- package/lib/features/cost-items/hit-cost-items-routing.module.d.ts +7 -0
- package/lib/features/cost-items/hit-cost-items.module.d.ts +18 -0
- package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +24 -0
- package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +29 -0
- package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +2 -0
- package/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.d.ts +7 -0
- package/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.d.ts +18 -0
- package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +39 -0
- package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +30 -0
- package/lib/features/cost-parameters/cost-parameter-l10n-helper.d.ts +2 -0
- package/lib/features/cost-parameters/hit-cost-parameters-routing.module.d.ts +7 -0
- package/lib/features/cost-parameters/hit-cost-parameters.module.d.ts +18 -0
- package/lib/features/exchange-rates/components/central-bank-rates.component.d.ts +7 -0
- package/lib/features/exchange-rates/components/exchange-rates.component.d.ts +13 -0
- package/lib/features/exchange-rates/components/fixed-rates-form.component.d.ts +26 -0
- package/lib/features/exchange-rates/hit-exchange-rates-routing.module.d.ts +7 -0
- package/lib/features/exchange-rates/hit-exchange-rates.module.d.ts +19 -0
- package/lib/features/index.d.ts +10 -0
- package/lib/features/packaging-materials/components/packaging-material-form.component.d.ts +29 -0
- package/lib/features/packaging-materials/components/packaging-materials.component.d.ts +23 -0
- package/lib/features/packaging-materials/hit-packaging-materials-routing.module.d.ts +7 -0
- package/lib/features/packaging-materials/hit-packaging-materials.module.d.ts +18 -0
- package/lib/features/packaging-prices/components/packaging-price-form.component.d.ts +44 -0
- package/lib/features/packaging-prices/components/packaging-price-lines.component.d.ts +26 -0
- package/lib/features/packaging-prices/components/packaging-prices.component.d.ts +27 -0
- package/lib/features/packaging-prices/hit-packaging-prices-routing.module.d.ts +7 -0
- package/lib/features/packaging-prices/hit-packaging-prices.module.d.ts +19 -0
- package/lib/features/packaging-prices/packaging-price-calculator.d.ts +8 -0
- package/lib/features/packaging-prices/packaging-price-excel.service.d.ts +15 -0
- package/lib/features/packaging-prices/packaging-price-form.factory.d.ts +5 -0
- package/lib/features/packaging-prices/packaging-price-lines.builder.d.ts +21 -0
- package/lib/features/packaging-types/components/packaging-type-form.component.d.ts +25 -0
- package/lib/features/packaging-types/components/packaging-types.component.d.ts +23 -0
- package/lib/features/packaging-types/hit-packaging-types-routing.module.d.ts +7 -0
- package/lib/features/packaging-types/hit-packaging-types.module.d.ts +18 -0
- package/lib/features/pallet-definitions/components/pallet-definition-form.component.d.ts +25 -0
- package/lib/features/pallet-definitions/components/pallet-definitions.component.d.ts +23 -0
- package/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.d.ts +7 -0
- package/lib/features/pallet-definitions/hit-pallet-definitions.module.d.ts +18 -0
- package/lib/features/price-parameter-types/components/price-parameter-type-form.component.d.ts +25 -0
- package/lib/features/price-parameter-types/components/price-parameter-types.component.d.ts +23 -0
- package/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.d.ts +7 -0
- package/lib/features/price-parameter-types/hit-price-parameter-types.module.d.ts +18 -0
- package/lib/features/sap-sales-persons/components/sap-sales-person-form.component.d.ts +26 -0
- package/lib/features/sap-sales-persons/components/sap-sales-persons.component.d.ts +24 -0
- package/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.d.ts +7 -0
- package/lib/features/sap-sales-persons/hit-sap-sales-persons.module.d.ts +18 -0
- package/lib/features/settings/components/cost-settings.component.d.ts +17 -0
- package/lib/kadooglu-keops-routing.module.d.ts +7 -0
- package/lib/kadooglu-keops.module.d.ts +18 -0
- package/lib/proxy/container-definitions/dtos/index.d.ts +1 -0
- package/lib/proxy/container-definitions/dtos/models.d.ts +22 -0
- package/lib/proxy/container-definitions/index.d.ts +2 -0
- package/lib/proxy/container-loading-counts/dtos/index.d.ts +1 -0
- package/lib/proxy/container-loading-counts/dtos/models.d.ts +23 -0
- package/lib/proxy/container-loading-counts/index.d.ts +3 -0
- package/lib/proxy/container-loading-counts/loading-target-kind.enum.d.ts +5 -0
- package/lib/proxy/container-loading-scenarios/dtos/index.d.ts +1 -0
- package/lib/proxy/container-loading-scenarios/dtos/models.d.ts +22 -0
- package/lib/proxy/container-loading-scenarios/index.d.ts +3 -0
- package/lib/proxy/container-loading-scenarios/pallet-status.enum.d.ts +5 -0
- package/lib/proxy/container-mix-types/dtos/index.d.ts +1 -0
- package/lib/proxy/container-mix-types/dtos/models.d.ts +13 -0
- package/lib/proxy/container-mix-types/index.d.ts +2 -0
- package/lib/proxy/container-pallet-capacities/dtos/index.d.ts +1 -0
- package/lib/proxy/container-pallet-capacities/dtos/models.d.ts +22 -0
- package/lib/proxy/container-pallet-capacities/index.d.ts +2 -0
- package/lib/proxy/controllers/container-definition.service.d.ts +15 -0
- package/lib/proxy/controllers/container-loading-count.service.d.ts +13 -0
- package/lib/proxy/controllers/container-loading-scenario.service.d.ts +12 -0
- package/lib/proxy/controllers/container-mix-type.service.d.ts +15 -0
- package/lib/proxy/controllers/container-pallet-capacity.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-group.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-item.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-parameter-category.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-parameter.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-settings.service.d.ts +12 -0
- package/lib/proxy/controllers/exchange-rate.service.d.ts +12 -0
- package/lib/proxy/controllers/index.d.ts +18 -0
- package/lib/proxy/controllers/item.service.d.ts +11 -0
- package/lib/proxy/controllers/packaging-material.service.d.ts +15 -0
- package/lib/proxy/controllers/packaging-price.service.d.ts +18 -0
- package/lib/proxy/controllers/packaging-type.service.d.ts +15 -0
- package/lib/proxy/controllers/pallet-definition.service.d.ts +15 -0
- package/lib/proxy/controllers/price-parameter-type.service.d.ts +15 -0
- package/lib/proxy/controllers/sap-sales-person.service.d.ts +12 -0
- package/lib/proxy/cost-groups/cost-group-role.enum.d.ts +7 -0
- package/lib/proxy/cost-groups/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-groups/dtos/models.d.ts +21 -0
- package/lib/proxy/cost-groups/index.d.ts +3 -0
- package/lib/proxy/cost-items/cost-item-calculation-type.enum.d.ts +6 -0
- package/lib/proxy/cost-items/cost-item-system-code.enum.d.ts +17 -0
- package/lib/proxy/cost-items/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-items/dtos/models.d.ts +20 -0
- package/lib/proxy/cost-items/index.d.ts +4 -0
- package/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +8 -0
- package/lib/proxy/cost-parameter-categories/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-parameter-categories/dtos/models.d.ts +14 -0
- package/lib/proxy/cost-parameter-categories/index.d.ts +3 -0
- package/lib/proxy/cost-parameters/cost-parameter-status.enum.d.ts +6 -0
- package/lib/proxy/cost-parameters/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-parameters/dtos/models.d.ts +44 -0
- package/lib/proxy/cost-parameters/index.d.ts +3 -0
- package/lib/proxy/currencies/currency.enum.d.ts +6 -0
- package/lib/proxy/currencies/index.d.ts +1 -0
- package/lib/proxy/exchange-rates/dtos/index.d.ts +1 -0
- package/lib/proxy/exchange-rates/dtos/models.d.ts +17 -0
- package/lib/proxy/exchange-rates/exchange-rate-source.enum.d.ts +5 -0
- package/lib/proxy/exchange-rates/index.d.ts +3 -0
- package/lib/proxy/index.d.ts +21 -0
- package/lib/proxy/items/dtos/index.d.ts +1 -0
- package/lib/proxy/items/dtos/models.d.ts +4 -0
- package/lib/proxy/items/index.d.ts +2 -0
- package/lib/proxy/packaging-materials/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-materials/dtos/models.d.ts +14 -0
- package/lib/proxy/packaging-materials/index.d.ts +2 -0
- package/lib/proxy/packaging-prices/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-prices/dtos/models.d.ts +54 -0
- package/lib/proxy/packaging-prices/index.d.ts +2 -0
- package/lib/proxy/packaging-types/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-types/dtos/models.d.ts +13 -0
- package/lib/proxy/packaging-types/index.d.ts +2 -0
- package/lib/proxy/pallet-definitions/dtos/index.d.ts +1 -0
- package/lib/proxy/pallet-definitions/dtos/models.d.ts +19 -0
- package/lib/proxy/pallet-definitions/index.d.ts +2 -0
- package/lib/proxy/price-parameter-types/dtos/index.d.ts +1 -0
- package/lib/proxy/price-parameter-types/dtos/models.d.ts +19 -0
- package/lib/proxy/price-parameter-types/index.d.ts +2 -0
- package/lib/proxy/sales-persons/dtos/index.d.ts +1 -0
- package/lib/proxy/sales-persons/dtos/models.d.ts +10 -0
- package/lib/proxy/sales-persons/index.d.ts +2 -0
- package/lib/proxy/settings/index.d.ts +1 -0
- package/lib/proxy/settings/models.d.ts +3 -0
- package/lib/utils/currency.utils.d.ts +6 -0
- package/lib/utils/date.utils.d.ts +9 -0
- package/lib/utils/number.utils.d.ts +1 -0
- package/package.json +41 -0
- package/public-api.d.ts +3 -0
- package/src/lib/proxy/README.md +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hitsoft-kadooglu-keops.mjs","sources":["../../../projects/kadooglu-keops/src/lib/proxy/container-loading-counts/loading-target-kind.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/container-loading-scenarios/pallet-status.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/container-definition.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/container-loading-count.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/container-loading-scenario.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/container-mix-type.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/container-pallet-capacity.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/cost-group.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/cost-item.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/cost-parameter-category.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/cost-parameter.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/cost-settings.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/exchange-rate.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/item.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/packaging-material.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/packaging-price.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/packaging-type.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/pallet-definition.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/price-parameter-type.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/controllers/sap-sales-person.service.ts","../../../projects/kadooglu-keops/src/lib/proxy/cost-groups/cost-group-role.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/cost-items/cost-item-calculation-type.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/cost-items/cost-item-system-code.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/cost-parameters/cost-parameter-status.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/currencies/currency.enum.ts","../../../projects/kadooglu-keops/src/lib/proxy/exchange-rates/exchange-rate-source.enum.ts","../../../projects/kadooglu-keops/src/lib/features/cost-items/cost-item-l10n-helper.ts","../../../projects/kadooglu-keops/src/lib/features/cost-items/components/cost-item-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-items/components/cost-item-form.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-items/components/cost-items.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-items/components/cost-items.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-items/hit-cost-items-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-items/hit-cost-items.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-groups/cost-group-role-l10n-helper.ts","../../../projects/kadooglu-keops/src/lib/features/cost-groups/components/cost-group-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-groups/components/cost-group-form.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-groups/components/cost-groups.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-groups/components/cost-groups.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-groups/hit-cost-groups-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-groups/hit-cost-groups.module.ts","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/components/central-bank-rates.component.ts","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/components/central-bank-rates.component.html","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/components/fixed-rates-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/components/fixed-rates-form.component.html","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/components/exchange-rates.component.ts","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/components/exchange-rates.component.html","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/hit-exchange-rates-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/exchange-rates/hit-exchange-rates.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/engine/models.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/engine/currency.utils.ts","../../../projects/kadooglu-keops/src/lib/utils/number.utils.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/engine/item-resolver.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/engine/stage-builder.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/engine/formulas.ts","../../../projects/kadooglu-keops/src/lib/utils/currency.utils.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation-inputs.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation-inputs.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation-results.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation-results.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation-result-sum.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation-result-sum.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/components/cost-calculation.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/hit-cost-calculation-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-calculation/hit-cost-calculation.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/cost-parameter-l10n-helper.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/components/cost-parameter-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/components/cost-parameter-form.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/components/cost-parameters.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/components/cost-parameters.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/hit-cost-parameters-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameters/hit-cost-parameters.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.html","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-types/components/packaging-type-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-types/components/packaging-type-form.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-types/components/packaging-types.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-types/components/packaging-types.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-types/hit-packaging-types-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-types/hit-packaging-types.module.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-materials/components/packaging-material-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-materials/components/packaging-material-form.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-materials/components/packaging-materials.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-materials/components/packaging-materials.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-materials/hit-packaging-materials-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-materials/hit-packaging-materials.module.ts","../../../projects/kadooglu-keops/src/lib/utils/date.utils.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/packaging-price-form.factory.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/packaging-price-excel.service.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/packaging-price-calculator.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/packaging-price-lines.builder.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/components/packaging-price-lines.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/components/packaging-price-lines.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/components/packaging-price-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/components/packaging-price-form.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/components/packaging-prices.component.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/components/packaging-prices.component.html","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/hit-packaging-prices-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/packaging-prices/hit-packaging-prices.module.ts","../../../projects/kadooglu-keops/src/lib/features/price-parameter-types/components/price-parameter-type-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/price-parameter-types/components/price-parameter-type-form.component.html","../../../projects/kadooglu-keops/src/lib/features/price-parameter-types/components/price-parameter-types.component.ts","../../../projects/kadooglu-keops/src/lib/features/price-parameter-types/components/price-parameter-types.component.html","../../../projects/kadooglu-keops/src/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/price-parameter-types/hit-price-parameter-types.module.ts","../../../projects/kadooglu-keops/src/lib/features/sap-sales-persons/components/sap-sales-person-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/sap-sales-persons/components/sap-sales-person-form.component.html","../../../projects/kadooglu-keops/src/lib/features/sap-sales-persons/components/sap-sales-persons.component.ts","../../../projects/kadooglu-keops/src/lib/features/sap-sales-persons/components/sap-sales-persons.component.html","../../../projects/kadooglu-keops/src/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/sap-sales-persons/hit-sap-sales-persons.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-definitions/components/container-definition-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-definitions/components/container-definition-form.component.html","../../../projects/kadooglu-keops/src/lib/features/container-definitions/components/container-definitions.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-definitions/components/container-definitions.component.html","../../../projects/kadooglu-keops/src/lib/features/container-definitions/hit-container-definitions-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-definitions/hit-container-definitions.module.ts","../../../projects/kadooglu-keops/src/lib/features/pallet-definitions/components/pallet-definition-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/pallet-definitions/components/pallet-definition-form.component.html","../../../projects/kadooglu-keops/src/lib/features/pallet-definitions/components/pallet-definitions.component.ts","../../../projects/kadooglu-keops/src/lib/features/pallet-definitions/components/pallet-definitions.component.html","../../../projects/kadooglu-keops/src/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/pallet-definitions/hit-pallet-definitions.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.html","../../../projects/kadooglu-keops/src/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.html","../../../projects/kadooglu-keops/src/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-counts/components/container-loading-counts.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-counts/components/container-loading-counts.component.html","../../../projects/kadooglu-keops/src/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-counts/hit-container-loading-counts.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.html","../../../projects/kadooglu-keops/src/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-mix-types/components/container-mix-type-form.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-mix-types/components/container-mix-type-form.component.html","../../../projects/kadooglu-keops/src/lib/features/container-mix-types/components/container-mix-types.component.ts","../../../projects/kadooglu-keops/src/lib/features/container-mix-types/components/container-mix-types.component.html","../../../projects/kadooglu-keops/src/lib/features/container-mix-types/hit-container-mix-types-routing.module.ts","../../../projects/kadooglu-keops/src/lib/features/container-mix-types/hit-container-mix-types.module.ts","../../../projects/kadooglu-keops/src/lib/kadooglu-keops-routing.module.ts","../../../projects/kadooglu-keops/src/lib/kadooglu-keops.module.ts","../../../projects/kadooglu-keops/src/lib/features/settings/components/cost-settings.component.ts","../../../projects/kadooglu-keops/src/lib/features/settings/components/cost-settings.component.html","../../../projects/kadooglu-keops/src/lib/features/index.ts","../../../projects/kadooglu-keops/src/public-api.ts","../../../projects/kadooglu-keops/src/hitsoft-kadooglu-keops.ts"],"sourcesContent":["import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum LoadingTargetKind {\r\n Container = 1,\r\n Pallet = 2,\r\n}\r\n\r\nexport const loadingTargetKindOptions = mapEnumToOptions(LoadingTargetKind);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum PalletStatus {\r\n Unpalletized = 1,\r\n Palletized = 2,\r\n}\r\n\r\nexport const palletStatusOptions = mapEnumToOptions(PalletStatus);\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ContainerDefinitionCreateDto, ContainerDefinitionDto, ContainerDefinitionUpdateDto } from '../container-definitions/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContainerDefinitionService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: ContainerDefinitionCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/container-definitions',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/container-definitions/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, ContainerDefinitionDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/container-definitions/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, ContainerDefinitionDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/container-definitions',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: ContainerDefinitionUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/container-definitions/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ContainerLoadingCountDto, ContainerLoadingCountSaveDto, ProductTypeLookupDto } from '../container-loading-counts/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContainerLoadingCountService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, ContainerLoadingCountDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/container-loading-counts',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getProductTypes = () =>\r\n this.restService.request<any, ProductTypeLookupDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/container-loading-counts/product-types',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n save = (input: ContainerLoadingCountSaveDto[]) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/container-loading-counts/save',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ContainerLoadingScenarioDto, ContainerLoadingScenarioSaveDto } from '../container-loading-scenarios/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContainerLoadingScenarioService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, ContainerLoadingScenarioDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/container-loading-scenarios',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n save = (input: ContainerLoadingScenarioSaveDto[]) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/container-loading-scenarios/save',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ContainerMixTypeCreateDto, ContainerMixTypeDto, ContainerMixTypeUpdateDto } from '../container-mix-types/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContainerMixTypeService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: ContainerMixTypeCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/container-mix-types',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/container-mix-types/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, ContainerMixTypeDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/container-mix-types/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, ContainerMixTypeDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/container-mix-types',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: ContainerMixTypeUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/container-mix-types/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ContainerPalletCapacityCreateDto, ContainerPalletCapacityDto, ContainerPalletCapacityUpdateDto } from '../container-pallet-capacities/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ContainerPalletCapacityService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: ContainerPalletCapacityCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/container-pallet-capacities',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/container-pallet-capacities/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, ContainerPalletCapacityDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/container-pallet-capacities/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, ContainerPalletCapacityDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/container-pallet-capacities',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: ContainerPalletCapacityUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/container-pallet-capacities/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { CostGroupCreateDto, CostGroupDto, CostGroupUpdateDto } from '../cost-groups/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CostGroupService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: CostGroupCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/cost-groups',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/cost-groups/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, CostGroupDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/cost-groups/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, CostGroupDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/cost-groups',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: CostGroupUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/cost-groups/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { CostItemCreateDto, CostItemDto, CostItemUpdateDto } from '../cost-items/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CostItemService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: CostItemCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/cost-items',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/cost-items/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, CostItemDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/cost-items/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, CostItemDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/cost-items',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: CostItemUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/cost-items/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { CostParameterCategoryCreateDto, CostParameterCategoryDto, CostParameterCategoryUpdateDto } from '../cost-parameter-categories/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CostParameterCategoryService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: CostParameterCategoryCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/cost-parameter-categories',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/cost-parameter-categories/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, CostParameterCategoryDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/cost-parameter-categories/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, CostParameterCategoryDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/cost-parameter-categories',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: CostParameterCategoryUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/cost-parameter-categories/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { CostParameterCodeLookupDto, CostParameterCreateDto, CostParameterDto, CostParameterUpdateDto } from '../cost-parameters/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CostParameterService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: CostParameterCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/cost-parameters',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/cost-parameters/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getCodeLookups = () =>\r\n this.restService.request<any, CostParameterCodeLookupDto>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/cost-parameters/code-lookups',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, CostParameterDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/cost-parameters',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: CostParameterUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/cost-parameters/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { CostSettingsDto } from '../settings/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CostSettingsService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n get = () =>\r\n this.restService.request<any, CostSettingsDto>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/cost-settings',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (input: CostSettingsDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: '/api/kadoogluKeops/cost-settings',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ExchangeRateDto, ExchangeRateUpdateDto } from '../exchange-rates/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ExchangeRateService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n get = () =>\r\n this.restService.request<any, ExchangeRateDto>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/exchange-rates',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (input: ExchangeRateUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: '/api/kadoogluKeops/exchange-rates',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { ItemDto } from '../items/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ItemService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n getList = (codePrefix: string) =>\r\n this.restService.request<any, ItemDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/items',\r\n params: { codePrefix },\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { PackagingMaterialCreateDto, PackagingMaterialDto, PackagingMaterialUpdateDto } from '../packaging-materials/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PackagingMaterialService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: PackagingMaterialCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/packaging-materials',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/packaging-materials/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, PackagingMaterialDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/packaging-materials/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, PackagingMaterialDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/packaging-materials',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: PackagingMaterialUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/packaging-materials/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { PackagingPriceCreateDto, PackagingPriceDto, PackagingPriceExcelDownloadDto, PackagingPriceLineDto, PackagingPriceUpdateDto } from '../packaging-prices/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PackagingPriceService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: PackagingPriceCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/packaging-prices',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (docEntry: number) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/packaging-prices/${docEntry}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (docEntry: number) =>\r\n this.restService.request<any, PackagingPriceDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/packaging-prices/${docEntry}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getLinesAsExcelFile = (input: PackagingPriceExcelDownloadDto) =>\r\n this.restService.request<any, Blob>({\r\n method: 'GET',\r\n responseType: 'blob',\r\n url: '/api/kadoogluKeops/packaging-prices/lines-as-excel-file',\r\n params: { docEntry: input.docEntry, materialTypeCode: input.materialTypeCode },\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, PackagingPriceDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/packaging-prices',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getMergedLines = (docEntry: number, materialTypeCode: string) =>\r\n this.restService.request<any, PackagingPriceLineDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/packaging-prices/merged-lines',\r\n params: { docEntry, materialTypeCode },\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (docEntry: number, input: PackagingPriceUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/packaging-prices/${docEntry}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n updateSapItemPrices = (docEntry: number) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: `/api/kadoogluKeops/packaging-prices/${docEntry}/update-sap-item-prices`,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { PackagingTypeCreateDto, PackagingTypeDto, PackagingTypeUpdateDto } from '../packaging-types/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PackagingTypeService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: PackagingTypeCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/packaging-types',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/packaging-types/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, PackagingTypeDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/packaging-types/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, PackagingTypeDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/packaging-types',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: PackagingTypeUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/packaging-types/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { PalletDefinitionCreateDto, PalletDefinitionDto, PalletDefinitionUpdateDto } from '../pallet-definitions/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PalletDefinitionService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: PalletDefinitionCreateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/pallet-definitions',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/pallet-definitions/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n get = (code: string) =>\r\n this.restService.request<any, PalletDefinitionDto>({\r\n method: 'GET',\r\n url: `/api/kadoogluKeops/pallet-definitions/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, PalletDefinitionDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/pallet-definitions',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: PalletDefinitionUpdateDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/pallet-definitions/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { CreatePriceParameterTypeDto, PriceParameterTypeDto, PriceParameterTypeLookupDto, UpdatePriceParameterTypeDto } from '../price-parameter-types/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PriceParameterTypeService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n create = (input: CreatePriceParameterTypeDto) =>\r\n this.restService.request<any, PriceParameterTypeDto>({\r\n method: 'POST',\r\n url: '/api/kadoogluKeops/price-parameter-types',\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n delete = (code: string) =>\r\n this.restService.request<any, void>({\r\n method: 'DELETE',\r\n url: `/api/kadoogluKeops/price-parameter-types/${code}`,\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, PriceParameterTypeDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/price-parameter-types',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n getLookup = () =>\r\n this.restService.request<any, PriceParameterTypeLookupDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/price-parameter-types/lookup',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (code: string, input: UpdatePriceParameterTypeDto) =>\r\n this.restService.request<any, PriceParameterTypeDto>({\r\n method: 'PUT',\r\n url: `/api/kadoogluKeops/price-parameter-types/${code}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\nimport type { SapSalesPersonDto, UpdateSapSalesPersonDto } from '../sales-persons/dtos/models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SapSalesPersonService {\r\n apiName = 'KadoogluKeops';\r\n \r\n\r\n getList = () =>\r\n this.restService.request<any, SapSalesPersonDto[]>({\r\n method: 'GET',\r\n url: '/api/kadoogluKeops/sap-sales-persons',\r\n },\r\n { apiName: this.apiName });\r\n \r\n\r\n update = (salesEmployeeCode: number, input: UpdateSapSalesPersonDto) =>\r\n this.restService.request<any, void>({\r\n method: 'PATCH',\r\n url: `/api/kadoogluKeops/sap-sales-persons/${salesEmployeeCode}`,\r\n body: input,\r\n },\r\n { apiName: this.apiName });\r\n\r\n constructor(private restService: RestService) {}\r\n}\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum CostGroupRole {\r\n None = 0,\r\n Production = 1,\r\n Operating = 2,\r\n Profit = 3,\r\n}\r\n\r\nexport const costGroupRoleOptions = mapEnumToOptions(CostGroupRole);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum CostItemCalculationType {\r\n Amount = 1,\r\n Rate = 2,\r\n Custom = 3,\r\n}\r\n\r\nexport const costItemCalculationTypeOptions = mapEnumToOptions(CostItemCalculationType);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum CostItemSystemCode {\r\n Port = 1,\r\n InspectionCustoms = 2,\r\n Freight = 3,\r\n Loss = 4,\r\n RefineryOverhead = 5,\r\n RefineryAuxMaterials = 6,\r\n FillingPackagingOverhead = 7,\r\n Packaging = 8,\r\n SalesMarketing = 9,\r\n GeneralAdmin = 10,\r\n Finance = 11,\r\n Contingency = 12,\r\n VariableDepreciation = 13,\r\n ProfitRate = 14,\r\n}\r\n\r\nexport const costItemSystemCodeOptions = mapEnumToOptions(CostItemSystemCode);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum CostParameterCategoryParentCode {\r\n Code1 = 1,\r\n Code2 = 2,\r\n Code3 = 3,\r\n Code4 = 4,\r\n Code5 = 5,\r\n}\r\n\r\nexport const costParameterCategoryParentCodeOptions = mapEnumToOptions(CostParameterCategoryParentCode);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum CostParameterStatus {\r\n Active = 1,\r\n Passive = 2,\r\n InProgress = 3,\r\n}\r\n\r\nexport const costParameterStatusOptions = mapEnumToOptions(CostParameterStatus);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum Currency {\r\n TRY = 1,\r\n USD = 2,\r\n EUR = 3,\r\n}\r\n\r\nexport const currencyOptions = mapEnumToOptions(Currency);\r\n","import { mapEnumToOptions } from '@abp/ng.core';\r\n\r\nexport enum ExchangeRateSource {\r\n Fixed = 1,\r\n CentralBank = 2,\r\n}\r\n\r\nexport const exchangeRateSourceOptions = mapEnumToOptions(ExchangeRateSource);\r\n","import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\n\nexport const calculationTypeLabels: Record<CostItemCalculationType, string> = {\n [CostItemCalculationType.Amount]: 'Keops::CostItems:CalculationType:Amount',\n [CostItemCalculationType.Rate]: 'Keops::CostItems:CalculationType:Rate',\n [CostItemCalculationType.Custom]: 'Keops::CostItems:CalculationType:Custom',\n};\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { CostItemService } from '@proxy/controllers';\r\nimport { CostItemDto } from '@proxy/cost-items/dtos';\r\nimport { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\r\nimport { calculationTypeLabels } from '../cost-item-l10n-helper';\r\n\r\nconst calculationTypeOptions = [\r\n CostItemCalculationType.Amount,\r\n CostItemCalculationType.Rate,\r\n CostItemCalculationType.Custom,\r\n].map(value => ({ value, label: calculationTypeLabels[value] }));\r\n\r\n@Component({\r\n selector: 'lib-cost-item-form',\r\n templateUrl: './cost-item-form.component.html',\r\n})\r\nexport class CostItemFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: CostItemDto | null = null;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n readonly calculationTypeOptions = calculationTypeOptions;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: CostItemService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current'] || changes['mode']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(256)]],\r\n calculationType: [{ value: this.current?.calculationType ?? null, disabled: !!this.current?.isSystem }, Validators.required],\r\n displayOrder: [this.current?.displayOrder ?? 0, Validators.required],\r\n });\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::CostItems:CreateTitle'\r\n : 'Keops::CostItems:EditTitle';\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.form.value;\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(value)\r\n : this.service.update(this.current!.code!, value);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::CostItems:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"calculationType\" class=\"form-label\">\r\n {{ 'Keops::CostItems:CalculationType' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"calculationType\" class=\"form-select\" formControlName=\"calculationType\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let opt of calculationTypeOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"displayOrder\" class=\"form-label\">\r\n {{ 'Keops::CostItems:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"displayOrder\"\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"displayOrder\"\r\n />\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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';\nimport { ConfirmationService, Confirmation, ToasterService } from '@abp/ng.theme.shared';\nimport { CostItemService } from '@proxy/controllers';\nimport { CostItemDto } from '@proxy/cost-items/dtos';\nimport { calculationTypeLabels } from '../cost-item-l10n-helper';\n\n@Component({\n selector: 'lib-cost-items',\n templateUrl: './cost-items.component.html',\n})\nexport class CostItemsComponent implements OnInit {\n items: CostItemDto[] = [];\n\n selected: CostItemDto | null = null;\n formVisible = false;\n formMode: 'create' | 'edit' = 'create';\n\n getCalculationTypeLabel(value: any): string {\n return calculationTypeLabels[value as keyof typeof calculationTypeLabels] ?? '';\n }\n\n constructor(\n private readonly service: CostItemService,\n private readonly toaster: ToasterService,\n private readonly confirmation: ConfirmationService,\n ) {}\n\n ngOnInit(): void {\n this.loadList();\n }\n\n loadList(): void {\n this.service.getList().subscribe(data => {\n this.items = data;\n });\n }\n\n openCreate(): void {\n this.selected = null;\n this.formMode = 'create';\n this.formVisible = true;\n }\n\n openEdit(row: CostItemDto): void {\n this.selected = row;\n this.formMode = 'edit';\n this.formVisible = true;\n }\n\n onSaved(): void {\n this.formVisible = false;\n this.selected = null;\n this.toaster.success('AbpUi::SuccessfullySaved');\n this.loadList();\n }\n\n remove(row: CostItemDto): void {\n this.confirmation\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\n .subscribe(status => {\n if (status === Confirmation.Status.confirm) {\n this.service.delete(row.code!).subscribe({\n next: () => {\n this.toaster.success('AbpUi::SuccessfullyDeleted');\n this.loadList();\n },\n });\n }\n });\n }\n}\n","<abp-page [title]=\"'Keops::CostItems:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"CostItemsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.CostItems.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::CostItems:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"CostItemsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostItems.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <ng-container *abpPermission=\"'KeopsCost.CostItems.Delete'\">\r\n <button\r\n *ngIf=\"!row.data.isSystem\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"100\"\r\n caption=\"{{ 'Keops::CostItems:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::CostItems:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"calculationType\"\r\n cellTemplate=\"calculationTypeTpl\"\r\n alignment=\"left\"\r\n caption=\"{{ 'Keops::CostItems:CalculationType' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'calculationTypeTpl'\">\r\n <span>{{ getCalculationTypeLabel(row.data.calculationType) | abpLocalization }}</span>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"isSystem\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n cellTemplate=\"isSystemTpl\"\r\n caption=\"{{ 'Keops::CostItems:IsSystem' | abpLocalization }}\"\r\n width=\"120\"\r\n alignment=\"center\"\r\n >\r\n <div *dxTemplate=\"let row of 'isSystemTpl'\">\r\n <i [class]=\"row.data.isSystem ? 'fa fa-check text-success' : 'fa fa-times text-danger'\"></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-cost-item-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-cost-item-form>\r\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { CostItemsComponent } from './components/cost-items.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: CostItemsComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.CostItems',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitCostItemsRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CostItemsComponent } from './components/cost-items.component';\nimport { CostItemFormComponent } from './components/cost-item-form.component';\nimport { HitCostItemsRoutingModule } from './hit-cost-items-routing.module';\nimport { DxDataGridModule } from 'devextreme-angular';\n\n@NgModule({\n declarations: [CostItemsComponent, CostItemFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n CommercialUiModule,\n NgbDropdownModule,\n HitCostItemsRoutingModule,\n DxDataGridModule,\n ],\n})\nexport class HitCostItemsModule {}\n\nexport function loadHitCostItemsModuleAsChild() {\n return Promise.resolve(HitCostItemsModule);\n}\n","import { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';\r\n\r\nexport const costGroupRoleLabels: Record<CostGroupRole, string> = {\r\n [CostGroupRole.None]: 'Keops::CostGroups:GroupRole:None',\r\n [CostGroupRole.Production]: 'Keops::CostGroups:GroupRole:Production',\r\n [CostGroupRole.Operating]: 'Keops::CostGroups:GroupRole:Operating',\r\n [CostGroupRole.Profit]: 'Keops::CostGroups:GroupRole:Profit',\r\n};\r\n\r\nexport const costGroupRoleTotalLabels: Record<CostGroupRole, string> = {\r\n [CostGroupRole.None]: 'Keops::CostCalculations:OtherTotal',\r\n [CostGroupRole.Production]: 'Keops::CostCalculations:ProductionTotal',\r\n [CostGroupRole.Operating]: 'Keops::CostCalculations:OperatingTotal',\r\n [CostGroupRole.Profit]: 'Keops::CostCalculations:ProfitTotal',\r\n};\r\n\r\nexport const costGroupRoleOptions = [\r\n CostGroupRole.None,\r\n CostGroupRole.Production,\r\n CostGroupRole.Operating,\r\n CostGroupRole.Profit,\r\n].map(value => ({ value, label: costGroupRoleLabels[value] }));\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { CostGroupService } from '@proxy/controllers';\r\nimport { CostGroupDto } from '@proxy/cost-groups/dtos';\r\nimport { CostItemDto } from '@proxy/cost-items/dtos';\r\nimport { costGroupRoleOptions } from '../cost-group-role-l10n-helper';\r\n\r\n@Component({\r\n selector: 'lib-cost-group-form',\r\n templateUrl: './cost-group-form.component.html',\r\n})\r\nexport class CostGroupFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: CostGroupDto | null = null;\r\n @Input() allCostItems: CostItemDto[] = [];\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n readonly groupRoleOptions = costGroupRoleOptions;\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: CostGroupService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['visible']?.currentValue && this.form) {\r\n this.resetForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n code: ['', Validators.required],\r\n name: ['', Validators.required],\r\n displayOrder: [0, Validators.required],\r\n groupRole: [null, Validators.required],\r\n itemCodes: [[] as string[]],\r\n });\r\n this.resetForm();\r\n }\r\n\r\n private resetForm(): void {\r\n if (!this.form) return;\r\n\r\n if (this.mode === 'edit' && this.current) {\r\n this.form.patchValue({\r\n code: this.current.code ?? '',\r\n name: this.current.name ?? '',\r\n displayOrder: this.current.displayOrder ?? 0,\r\n groupRole: this.current.groupRole ?? null,\r\n itemCodes: this.current.itemCodes ?? [],\r\n });\r\n this.form.get('code')?.disable();\r\n } else {\r\n this.form.reset({ code: '', name: '', displayOrder: 0, groupRole: null, itemCodes: [] });\r\n this.form.get('code')?.enable();\r\n }\r\n }\r\n\r\n isItemSelected(code: string): boolean {\r\n const selected: string[] = this.form.get('itemCodes')?.value ?? [];\r\n return selected.includes(code);\r\n }\r\n\r\n toggleItem(code: string): void {\r\n const control = this.form.get('itemCodes');\r\n const current: string[] = [...(control?.value ?? [])];\r\n const idx = current.indexOf(code);\r\n if (idx >= 0) {\r\n current.splice(idx, 1);\r\n } else {\r\n current.push(code);\r\n }\r\n control?.setValue(current);\r\n }\r\n\r\n close(): void {\r\n this.visibleChange.emit(false);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) return;\r\n\r\n const itemCodes: string[] = this.form.get('itemCodes')?.value ?? [];\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create({\r\n code: this.form.get('code')?.value,\r\n name: this.form.get('name')?.value,\r\n displayOrder: this.form.get('displayOrder')?.value,\r\n groupRole: this.form.get('groupRole')?.value,\r\n itemCodes,\r\n })\r\n : this.service.update(this.current!.code!, {\r\n name: this.form.get('name')?.value,\r\n displayOrder: this.form.get('displayOrder')?.value,\r\n groupRole: this.form.get('groupRole')?.value,\r\n itemCodes,\r\n });\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => this.saved.emit(),\r\n });\r\n }\r\n}\r\n","<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\" [busy]=\"saving\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostGroups:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostGroups:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costGroupForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:Code' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"code\"\r\n [readOnly]=\"mode === 'edit'\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"number\" min=\"0\" class=\"form-control\" formControlName=\"displayOrder\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:GroupRole' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select class=\"form-select\" formControlName=\"groupRole\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let opt of groupRoleOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostGroups:ItemCodes' | abpLocalization }}\r\n </label>\r\n <div class=\"border rounded p-2\" style=\"max-height: 300px; overflow-y: auto;\">\r\n <div\r\n *ngFor=\"let item of allCostItems\"\r\n class=\"form-check\"\r\n >\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n [id]=\"'item-' + item.code\"\r\n [checked]=\"isItemSelected(item.code!)\"\r\n (change)=\"toggleItem(item.code!)\"\r\n />\r\n <label class=\"form-check-label\" [for]=\"'item-' + item.code\">\r\n {{ item.displayOrder }} – {{ item.name }}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"close()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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 { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { CostGroupService } from '@proxy/controllers';\r\nimport { CostGroupDto } from '@proxy/cost-groups/dtos';\r\nimport { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';\r\nimport { CostItemService } from '@proxy/controllers';\r\nimport { CostItemDto } from '@proxy/cost-items/dtos';\r\nimport { forkJoin } from 'rxjs';\r\nimport { costGroupRoleLabels } from '../cost-group-role-l10n-helper';\r\n\r\n@Component({\r\n selector: 'lib-cost-groups',\r\n templateUrl: './cost-groups.component.html',\r\n})\r\nexport class CostGroupsComponent implements OnInit {\r\n items: CostGroupDto[] = [];\r\n costItems: CostItemDto[] = [];\r\n\r\n selected: CostGroupDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: CostGroupService,\r\n private readonly costItemService: CostItemService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n forkJoin({\r\n groups: this.service.getList(),\r\n items: this.costItemService.getList(),\r\n }).subscribe(({ groups, items }) => {\r\n this.items = groups;\r\n this.costItems = items;\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n getItemLabel(code: string): string {\r\n const item = this.costItems.find(x => x.code === code);\r\n return item ? `${item.displayOrder}-${item.name}` : code;\r\n }\r\n\r\n getItemsLabels(codes: string[] | undefined): string[] {\r\n if (!codes || codes.length === 0) return [];\r\n return codes.map(c => this.getItemLabel(c));\r\n }\r\n\r\n roleLabel(role: CostGroupRole | undefined): string {\r\n return costGroupRoleLabels[role ?? CostGroupRole.None];\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: CostGroupDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: CostGroupDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::CostGroups:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"CostGroupsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::CostGroups:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"CostGroupsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostGroups.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"100\"\r\n caption=\"{{ 'Keops::CostGroups:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"code\"\r\n width=\"160\"\r\n caption=\"{{ 'Keops::CostGroups:Code' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n width=\"200\"\r\n caption=\"{{ 'Keops::CostGroups:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"groupRole\"\r\n width=\"150\"\r\n cellTemplate=\"groupRoleTpl\"\r\n caption=\"{{ 'Keops::CostGroups:GroupRole' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'groupRoleTpl'\">\r\n {{ roleLabel(row.data.groupRole) | abpLocalization }}\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"itemCodes\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"itemCodesTpl\"\r\n caption=\"{{ 'Keops::CostGroups:ItemCodes' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'itemCodesTpl'\">\r\n <div *ngFor=\"let label of getItemsLabels(row.data.itemCodes)\">{{ label }}</div>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-cost-group-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [allCostItems]=\"costItems\"\r\n (saved)=\"onSaved()\"\r\n></lib-cost-group-form>\r\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { CostGroupsComponent } from './components/cost-groups.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: CostGroupsComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.CostGroups',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitCostGroupsRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CostGroupsComponent } from './components/cost-groups.component';\nimport { CostGroupFormComponent } from './components/cost-group-form.component';\nimport { HitCostGroupsRoutingModule } from './hit-cost-groups-routing.module';\nimport { DxDataGridModule } from 'devextreme-angular';\n\n@NgModule({\n declarations: [CostGroupsComponent, CostGroupFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n CommercialUiModule,\n NgbDropdownModule,\n HitCostGroupsRoutingModule,\n DxDataGridModule,\n ],\n})\nexport class HitCostGroupsModule {}\n\nexport function loadHitCostGroupsModuleAsChild() {\n return Promise.resolve(HitCostGroupsModule);\n}\n","import { Component, Input } from '@angular/core';\r\nimport { CentralBankExchangeRateDto } from '@proxy/exchange-rates/dtos';\r\n\r\n@Component({\r\n selector: 'lib-central-bank-rates',\r\n templateUrl: './central-bank-rates.component.html',\r\n})\r\nexport class CentralBankRatesComponent {\r\n @Input() cbExchangeRate: CentralBankExchangeRateDto | undefined = undefined;\r\n}\r\n","<div class=\"card\">\n <div class=\"card-header\">\n <h5>{{ 'Keops::ExchangeRates:CentralBankRates' | abpLocalization }}</h5>\n </div>\n\n <div class=\"card-body py-0\">\n <table class=\"table table-borderless\">\n <thead>\n <tr class=\"small\">\n <th>\n {{ 'Keops::ExchangeRates:UsdBuying' | abpLocalization }}\n </th>\n <th>\n {{ 'Keops::ExchangeRates:EurBuying' | abpLocalization }}\n </th>\n </tr>\n </thead>\n <tbody>\n <tr class=\"text-muted\">\n <td>{{ cbExchangeRate?.usdBuyingRate }}</td>\n <td>{{ cbExchangeRate?.eurBuyingRate }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { ToasterService } from '@abp/ng.theme.shared';\nimport { ExchangeRateSource } from '@proxy/exchange-rates';\nimport { ExchangeRateDto } from '@proxy/exchange-rates/dtos';\nimport { ExchangeRateService } from '@proxy/controllers';\n\n@Component({\n selector: 'lib-fixed-rates-form',\n templateUrl: './fixed-rates-form.component.html',\n})\nexport class FixedRatesFormComponent implements OnInit {\n readonly ExchangeRateSource = ExchangeRateSource;\n\n _exchangeRate: ExchangeRateDto | null = null;\n\n @Input() set exchangeRate(val: any) {\n this._exchangeRate = val;\n\n if (val) {\n this.form.patchValue({ source: this.exchangeRate.source }, { emitEvent: false });\n this.applySourceRates(this.exchangeRate.source);\n }\n }\n\n get exchangeRate() {\n return this._exchangeRate;\n }\n\n @Output() saved = new EventEmitter<void>();\n\n form!: FormGroup;\n saving = false;\n\n constructor(\n private readonly fb: FormBuilder,\n private readonly service: ExchangeRateService,\n private readonly toaster: ToasterService,\n ) {}\n\n ngOnInit(): void {\n this.form = this.fb.group({\n source: [ExchangeRateSource.Fixed, Validators.required],\n fixedUsdRate: [0, [Validators.required, Validators.min(1)]],\n fixedEurRate: [0, [Validators.required, Validators.min(1)]],\n });\n\n this.form.get('source')!.valueChanges.subscribe((source: ExchangeRateSource) => {\n this.applySourceRates(source);\n });\n }\n\n get isFixed(): boolean {\n return this.form?.get('source')!.value === ExchangeRateSource.Fixed;\n }\n\n private applySourceRates(source: ExchangeRateSource): void {\n if (!this.exchangeRate) {\n return;\n }\n\n const rates =\n source === ExchangeRateSource.CentralBank\n ? {\n fixedUsdRate: this.exchangeRate.cbExchangeRate?.usdBuyingRate ?? 0,\n fixedEurRate: this.exchangeRate.cbExchangeRate?.eurBuyingRate ?? 0,\n }\n : {\n fixedUsdRate: this.exchangeRate.fixedUsdRate,\n fixedEurRate: this.exchangeRate.fixedEurRate,\n };\n\n this.form.patchValue(rates, { emitEvent: false });\n }\n\n save(): void {\n if (this.form.invalid) {\n return;\n }\n\n this.saving = true;\n\n this.service\n .update(this.form.value)\n .pipe(finalize(() => (this.saving = false)))\n .subscribe({\n next: () => {\n this.toaster.success('AbpUi::SuccessfullySaved');\n this.saved.emit();\n },\n });\n }\n}\n","<form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"card\">\n <div class=\"card-header\">\n <div class=\"row align-items-center\">\n <div class=\"col-6 d-flex flex-wrap gap-4\">\n <div class=\"form-check\">\n <input\n type=\"radio\"\n id=\"sourceFixed\"\n class=\"form-check-input\"\n formControlName=\"source\"\n [value]=\"ExchangeRateSource.Fixed\"\n />\n <h5 for=\"sourceFixed\" class=\"form-check-label\">\n {{ 'Keops::ExchangeRates:Source:Fixed' | abpLocalization }}\n </h5>\n </div>\n\n <div class=\"form-check\">\n <input\n type=\"radio\"\n id=\"sourceCentralBank\"\n class=\"form-check-input\"\n formControlName=\"source\"\n [value]=\"ExchangeRateSource.CentralBank\"\n />\n <h5 for=\"sourceCentralBank\" class=\"form-check-label\">\n {{ 'Keops::ExchangeRates:Source:CentralBank' | abpLocalization }}\n </h5>\n </div>\n </div>\n\n <div class=\"col-6\">\n <small class=\"text-muted d-inline-flex align-items-center gap-1 text-nowrap\">\n <i class=\"fa fa-clock\"></i>\n <span>{{ 'Keops::ExchangeRates:LastUpdated' | abpLocalization }}:</span>\n <span>{{ (exchangeRate?.lastModificationTime | shortDateTime: 'UTC') || '...' }}</span>\n </small>\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"row\">\n <div class=\"col-6\">\n <label for=\"fixedUsdRate\" class=\"form-label\">\n {{ 'Keops::ExchangeRates:UsdRate' | abpLocalization }}\n </label>\n <input\n id=\"fixedUsdRate\"\n type=\"number\"\n class=\"form-control\"\n formControlName=\"fixedUsdRate\"\n [readonly]=\"!isFixed\"\n />\n </div>\n\n <div class=\"col-6\">\n <label for=\"fixedEurRate\" class=\"form-label\">\n {{ 'Keops::ExchangeRates:EurRate' | abpLocalization }}\n </label>\n <input\n id=\"fixedEurRate\"\n type=\"number\"\n class=\"form-control\"\n formControlName=\"fixedEurRate\"\n [readonly]=\"!isFixed\"\n />\n </div>\n </div>\n </div>\n <div class=\"card-footer\">\n <abp-button\n *abpPermission=\"'KeopsCost.ExchangeRates.Update'\"\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary color-white\"\n buttonType=\"submit\"\n [loading]=\"saving\"\n [disabled]=\"form?.invalid\"\n >{{ 'Keops::Save' | abpLocalization }}</abp-button\n >\n </div>\n </div>\n</form>\n","import { Component, OnInit } from '@angular/core';\r\nimport { ExchangeRateService } from '@proxy/controllers';\r\nimport { ExchangeRateDto } from '@proxy/exchange-rates/dtos';\r\n\r\n@Component({\r\n selector: 'lib-exchange-rates',\r\n templateUrl: './exchange-rates.component.html'\r\n})\r\nexport class ExchangeRatesComponent implements OnInit {\r\n exchangeRate: ExchangeRateDto | null = null;\r\n\r\n constructor(private readonly service: ExchangeRateService) {}\r\n\r\n ngOnInit(): void {\r\n this.loadExchangeRate();\r\n }\r\n\r\n loadExchangeRate(): void {\r\n this.service.get().subscribe({\r\n next: dto => {\r\n this.exchangeRate = dto;\r\n },\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::ExchangeRates:Title' | abpLocalization\">\n <div id=\"ExchangeRatesWrapper\">\n <lib-central-bank-rates\n [cbExchangeRate]=\"exchangeRate?.cbExchangeRate\"\n ></lib-central-bank-rates>\n <lib-fixed-rates-form\n [exchangeRate]=\"exchangeRate\"\n (saved)=\"loadExchangeRate()\"\n ></lib-fixed-rates-form>\n </div>\n</abp-page>\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { ExchangeRatesComponent } from './components/exchange-rates.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ExchangeRatesComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsSystem.ExchangeRates',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitExchangeRatesRoutingModule {}\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 { 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\nimport { ExchangeRatesComponent } from './components/exchange-rates.component';\r\nimport { HitExchangeRatesRoutingModule } from './hit-exchange-rates-routing.module';\r\nimport { CentralBankRatesComponent } from './components/central-bank-rates.component';\r\nimport { FixedRatesFormComponent } from './components/fixed-rates-form.component';\r\n\r\n@NgModule({\r\n declarations: [ExchangeRatesComponent, CentralBankRatesComponent, FixedRatesFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n DxDataGridModule,\r\n DxTextBoxModule,\r\n DxButtonModule,\r\n DxCheckBoxModule,\r\n HitExchangeRatesRoutingModule,\r\n ],\r\n})\r\nexport class HitExchangeRatesModule {}\r\n\r\nexport function loadHitExchangeRatesModuleAsChild() {\r\n return Promise.resolve(HitExchangeRatesModule);\r\n}\r\n","import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\r\nimport { Currency } from '@proxy/currencies/currency.enum';\r\nimport { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';\r\nimport { CostCalculationStage } from '../cost-calculation.models';\r\n\r\nexport interface CostAmount {\r\n try: number;\r\n usd: number;\r\n eur: number;\r\n}\r\n\r\nexport interface EngineRequest {\r\n rawOilPrice: number;\r\n rawOilCurrency: Currency;\r\n rateUsd: number;\r\n rateEur: number;\r\n stages: CostCalculationStage[];\r\n}\r\n\r\nexport interface CostLine {\r\n costItemCode: string;\r\n costItemName: string;\r\n calculationType: CostItemCalculationType;\r\n systemCode?: number;\r\n currency?: Currency;\r\n ratePercent?: number;\r\n amount: CostAmount;\r\n}\r\n\r\nexport interface CostStage {\r\n groupCode?: string;\r\n groupName?: string;\r\n displayOrder: number;\r\n groupRole: CostGroupRole;\r\n lines: CostLine[];\r\n subtotal: CostAmount;\r\n}\r\n\r\nexport interface CostResult {\r\n rawOil: CostAmount;\r\n stages: CostStage[];\r\n productionCost: CostAmount;\r\n totalCost: CostAmount;\r\n profit: CostAmount;\r\n totalSalePrice: CostAmount;\r\n}\r\n\r\nexport interface RoleGroup {\r\n role: CostGroupRole;\r\n stages: CostStage[];\r\n roleTotal: CostAmount;\r\n}\r\n\r\nexport function addAmounts(...amounts: CostAmount[]): CostAmount {\r\n return amounts.reduce(\r\n (acc, a) => ({ try: acc.try + a.try, usd: acc.usd + a.usd, eur: acc.eur + a.eur }),\r\n { try: 0, usd: 0, eur: 0 },\r\n );\r\n}\r\n\r\nexport function buildRoleGroups(rawOil: CostAmount, stages: CostStage[]): RoleGroup[] {\r\n const ORDER = [CostGroupRole.Production, CostGroupRole.Operating, CostGroupRole.Profit, CostGroupRole.None];\r\n const map = new Map<CostGroupRole, CostStage[]>();\r\n for (const stage of stages) {\r\n const list = map.get(stage.groupRole) ?? [];\r\n list.push(stage);\r\n map.set(stage.groupRole, list);\r\n }\r\n return ORDER.filter(role => map.has(role)).map(role => {\r\n const roleStages = map.get(role)!;\r\n const base = role === CostGroupRole.Production ? rawOil : { try: 0, usd: 0, eur: 0 };\r\n const roleTotal = addAmounts(base, ...roleStages.map(st => st.subtotal));\r\n return { role, stages: roleStages, roleTotal };\r\n });\r\n}\r\n\r\nexport interface ResolvedItems {\r\n port: number;\r\n inspectionCustoms: number;\r\n freight: number;\r\n lossRate: number;\r\n refineryOverhead: number;\r\n refineryAuxMaterials: number;\r\n fillingPackagingOverhead: number;\r\n packaging: number;\r\n salesMarketing: number;\r\n generalAdmin: number;\r\n finance: number;\r\n contingency: number;\r\n variableDepreciation: number;\r\n profitRate: number;\r\n}\r\n","import { Currency } from '@proxy/currencies/currency.enum';\r\nimport { CostAmount } from './models';\r\n\r\nexport function toAmount(baseUsd: number, rateUsd: number, rateEur: number): CostAmount {\r\n return {\r\n usd: baseUsd,\r\n try: baseUsd * rateUsd,\r\n eur: rateEur > 0 ? (baseUsd * rateUsd) / rateEur : 0,\r\n };\r\n}\r\n\r\nexport function toBaseUsd(\r\n value: number,\r\n currency: Currency | undefined,\r\n rateUsd: number,\r\n rateEur: number,\r\n): number {\r\n switch (currency) {\r\n case Currency.USD:\r\n return value;\r\n case Currency.TRY:\r\n return rateUsd <= 0 ? 0 : value / rateUsd;\r\n case Currency.EUR:\r\n return rateUsd <= 0 ? 0 : (value * rateEur) / rateUsd;\r\n default:\r\n return value;\r\n }\r\n}\r\n","export function parseDecimal(value: number | string | null | undefined): number {\r\n if (value == null || value === '') return 0;\r\n if (typeof value === 'number') return isNaN(value) ? 0 : value;\r\n const parsed = parseFloat(value.replace(',', '.'));\r\n return isNaN(parsed) ? 0 : parsed;\r\n}\r\n","import { CostItemSystemCode } from '@proxy/cost-items/cost-item-system-code.enum';\r\nimport { parseDecimal } from '../../../utils/number.utils';\r\nimport { CostCalculationItem, CostCalculationStage } from '../cost-calculation.models';\r\nimport { toBaseUsd } from './currency.utils';\r\nimport { ResolvedItems } from './models';\r\n\r\nexport function indexItemsBySystemCode(\r\n stages: CostCalculationStage[],\r\n): Map<number, CostCalculationItem> {\r\n const map = new Map<number, CostCalculationItem>();\r\n for (const stage of stages) {\r\n for (const item of stage.items) {\r\n if (item.systemCode != null) {\r\n map.set(item.systemCode, item);\r\n }\r\n }\r\n }\r\n return map;\r\n}\r\n\r\nexport function resolveItems(\r\n itemsByCode: Map<number, CostCalculationItem>,\r\n rateUsd: number,\r\n rateEur: number,\r\n): ResolvedItems {\r\n const baseUsd = (code: CostItemSystemCode): number => {\r\n const item = itemsByCode.get(code);\r\n return item ? toBaseUsd(parseDecimal(item.value), item.currency, rateUsd, rateEur) : 0;\r\n };\r\n const ratePercent = (code: CostItemSystemCode): number =>\r\n parseDecimal(itemsByCode.get(code)?.value ?? 0);\r\n\r\n return {\r\n port: baseUsd(CostItemSystemCode.Port),\r\n inspectionCustoms: baseUsd(CostItemSystemCode.InspectionCustoms),\r\n freight: baseUsd(CostItemSystemCode.Freight),\r\n lossRate: ratePercent(CostItemSystemCode.Loss),\r\n refineryOverhead: baseUsd(CostItemSystemCode.RefineryOverhead),\r\n refineryAuxMaterials: baseUsd(CostItemSystemCode.RefineryAuxMaterials),\r\n fillingPackagingOverhead: baseUsd(CostItemSystemCode.FillingPackagingOverhead),\r\n packaging: baseUsd(CostItemSystemCode.Packaging),\r\n salesMarketing: baseUsd(CostItemSystemCode.SalesMarketing),\r\n generalAdmin: baseUsd(CostItemSystemCode.GeneralAdmin),\r\n finance: baseUsd(CostItemSystemCode.Finance),\r\n contingency: baseUsd(CostItemSystemCode.Contingency),\r\n variableDepreciation: baseUsd(CostItemSystemCode.VariableDepreciation),\r\n profitRate: ratePercent(CostItemSystemCode.ProfitRate),\r\n };\r\n}\r\n","import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\r\nimport { CostItemSystemCode } from '@proxy/cost-items/cost-item-system-code.enum';\r\nimport { parseDecimal } from '../../../utils/number.utils';\r\nimport { CostCalculationItem, CostCalculationStage } from '../cost-calculation.models';\r\nimport { toAmount, toBaseUsd } from './currency.utils';\r\nimport { CostLine, CostStage, ResolvedItems } from './models';\r\n\r\nexport function buildComputedBaseByCode(\r\n resolvedItems: ResolvedItems,\r\n loss: number,\r\n profit: number,\r\n): Map<number, number> {\r\n return new Map([\r\n [CostItemSystemCode.Port, resolvedItems.port],\r\n [CostItemSystemCode.InspectionCustoms, resolvedItems.inspectionCustoms],\r\n [CostItemSystemCode.Freight, resolvedItems.freight],\r\n [CostItemSystemCode.Loss, loss],\r\n [CostItemSystemCode.RefineryOverhead, resolvedItems.refineryOverhead],\r\n [CostItemSystemCode.RefineryAuxMaterials, resolvedItems.refineryAuxMaterials],\r\n [CostItemSystemCode.FillingPackagingOverhead, resolvedItems.fillingPackagingOverhead],\r\n [CostItemSystemCode.Packaging, resolvedItems.packaging],\r\n [CostItemSystemCode.SalesMarketing, resolvedItems.salesMarketing],\r\n [CostItemSystemCode.GeneralAdmin, resolvedItems.generalAdmin],\r\n [CostItemSystemCode.Finance, resolvedItems.finance],\r\n [CostItemSystemCode.Contingency, resolvedItems.contingency],\r\n [CostItemSystemCode.VariableDepreciation, resolvedItems.variableDepreciation],\r\n [CostItemSystemCode.ProfitRate, profit],\r\n ]);\r\n}\r\n\r\nexport function buildCostStages(\r\n stages: CostCalculationStage[],\r\n computedBaseByCode: Map<number, number>,\r\n itemsByCode: Map<number, CostCalculationItem>,\r\n rateUsd: number,\r\n rateEur: number,\r\n): CostStage[] {\r\n return stages\r\n .slice()\r\n .sort((a, b) => a.displayOrder - b.displayOrder)\r\n .map(stage => {\r\n let stageTotalUsd = 0;\r\n const lines: CostLine[] = stage.items.map(item => {\r\n const itemUsd =\r\n item.systemCode != null\r\n ? (computedBaseByCode.get(item.systemCode) ?? 0)\r\n : toBaseUsd(parseDecimal(item.value), item.currency, rateUsd, rateEur);\r\n stageTotalUsd += itemUsd;\r\n return {\r\n costItemCode: item.costItemCode,\r\n costItemName: item.costItemName,\r\n calculationType: item.calculationType,\r\n systemCode: item.systemCode,\r\n currency: item.currency,\r\n ratePercent:\r\n item.calculationType === CostItemCalculationType.Rate\r\n ? parseDecimal(itemsByCode.get(item.systemCode!)?.value ?? 0)\r\n : undefined,\r\n amount: toAmount(itemUsd, rateUsd, rateEur),\r\n };\r\n });\r\n return {\r\n groupCode: stage.groupCode,\r\n groupName: stage.groupName,\r\n displayOrder: stage.displayOrder,\r\n groupRole: stage.groupRole,\r\n lines,\r\n subtotal: toAmount(stageTotalUsd, rateUsd, rateEur),\r\n };\r\n });\r\n}\r\n","import { toAmount, toBaseUsd } from './currency.utils';\r\nimport { indexItemsBySystemCode, resolveItems } from './item-resolver';\r\nimport { buildComputedBaseByCode, buildCostStages } from './stage-builder';\r\nimport { CostResult, EngineRequest, ResolvedItems } from './models';\r\n\r\nexport function calculateLoss(rawOilUsd: number, resolvedItems: ResolvedItems): number {\r\n return (\r\n ((rawOilUsd + resolvedItems.port + resolvedItems.inspectionCustoms + resolvedItems.freight) *\r\n resolvedItems.lossRate) /\r\n 100\r\n );\r\n}\r\n\r\nexport function calculateProductionCost(\r\n rawOilUsd: number,\r\n resolvedItems: ResolvedItems,\r\n loss: number,\r\n): number {\r\n return (\r\n rawOilUsd +\r\n resolvedItems.port +\r\n resolvedItems.inspectionCustoms +\r\n resolvedItems.freight +\r\n loss +\r\n resolvedItems.refineryOverhead +\r\n resolvedItems.refineryAuxMaterials +\r\n resolvedItems.fillingPackagingOverhead\r\n );\r\n}\r\n\r\nexport function calculateTotalCost(productionCost: number, resolvedItems: ResolvedItems): number {\r\n return (\r\n productionCost +\r\n resolvedItems.packaging +\r\n resolvedItems.salesMarketing +\r\n resolvedItems.generalAdmin +\r\n resolvedItems.finance +\r\n resolvedItems.contingency +\r\n resolvedItems.variableDepreciation\r\n );\r\n}\r\n\r\nexport function calculateProfit(totalCost: number, profitRate: number): number {\r\n return (totalCost * profitRate) / 100;\r\n}\r\n\r\nexport function calculateTotalSalePrice(totalCost: number, profit: number): number {\r\n return totalCost + profit;\r\n}\r\n\r\nexport function calculateCost(request: EngineRequest): CostResult {\r\n const { rateUsd, rateEur } = request;\r\n const rawOilUsd = toBaseUsd(request.rawOilPrice, request.rawOilCurrency, rateUsd, rateEur);\r\n const itemsByCode = indexItemsBySystemCode(request.stages);\r\n const resolvedItems = resolveItems(itemsByCode, rateUsd, rateEur);\r\n\r\n const loss = calculateLoss(rawOilUsd, resolvedItems);\r\n const productionCost = calculateProductionCost(rawOilUsd, resolvedItems, loss);\r\n const totalCost = calculateTotalCost(productionCost, resolvedItems);\r\n const profit = calculateProfit(totalCost, resolvedItems.profitRate);\r\n const totalSalePrice = calculateTotalSalePrice(totalCost, profit);\r\n\r\n const computedBaseByCode = buildComputedBaseByCode(resolvedItems, loss, profit);\r\n const stages = buildCostStages(request.stages, computedBaseByCode, itemsByCode, rateUsd, rateEur);\r\n\r\n return {\r\n rawOil: toAmount(rawOilUsd, rateUsd, rateEur),\r\n stages,\r\n productionCost: toAmount(productionCost, rateUsd, rateEur),\r\n totalCost: toAmount(totalCost, rateUsd, rateEur),\r\n profit: toAmount(profit, rateUsd, rateEur),\r\n totalSalePrice: toAmount(totalSalePrice, rateUsd, rateEur),\r\n };\r\n}\r\n","import { Currency } from '@proxy/currencies/currency.enum';\n\nexport interface CurrencyOption {\n value: Currency;\n label: string;\n}\n\n// Single source of truth for the currency dropdown options shared across feature forms.\nexport const CURRENCY_OPTIONS: CurrencyOption[] = [\n { value: Currency.TRY, label: 'TRY' },\n { value: Currency.USD, label: 'USD' },\n { value: Currency.EUR, label: 'EUR' },\n];\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport { CostParameterDto } from '@proxy/cost-parameters/dtos';\r\nimport { ItemDto } from '@proxy/items/dtos';\r\nimport { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\r\nimport { Currency } from '@proxy/currencies/currency.enum';\r\nimport { CostCalculationStage } from '../cost-calculation.models';\r\nimport { CURRENCY_OPTIONS } from '../../../utils/currency.utils';\r\n\r\n@Component({\r\n selector: 'lib-cost-calculation-inputs',\r\n templateUrl: './cost-calculation-inputs.component.html',\r\n})\r\nexport class CostCalculationInputsComponent {\r\n readonly RateType = CostItemCalculationType.Rate;\r\n readonly currencyOptions = CURRENCY_OPTIONS;\r\n\r\n @Input() itemsDataSource: DataSource | null = null;\r\n @Input() itemDisplayExpr!: (item: ItemDto) => string;\r\n\r\n @Input() parameters: CostParameterDto[] = [];\r\n @Input() parameterDisplayExpr!: (p: CostParameterDto) => string;\r\n\r\n @Input() stages: CostCalculationStage[] = [];\r\n\r\n @Input() selectedItemCode: string | null = null;\r\n @Output() selectedItemCodeChange = new EventEmitter<string | null>();\r\n\r\n @Input() selectedParameterCode: string | null = null;\r\n @Output() selectedParameterCodeChange = new EventEmitter<string | null>();\r\n\r\n @Input() rawOilPrice = 0;\r\n @Output() rawOilPriceChange = new EventEmitter<number>();\r\n\r\n @Input() rawOilCurrency: Currency = Currency.USD;\r\n @Output() rawOilCurrencyChange = new EventEmitter<Currency>();\r\n\r\n @Input() systemRateUsd = 0;\r\n @Input() systemRateEur = 0;\r\n\r\n @Input() rateUsd = 0;\r\n @Output() rateUsdChange = new EventEmitter<number>();\r\n\r\n @Input() rateEur = 0;\r\n @Output() rateEurChange = new EventEmitter<number>();\r\n\r\n @Output() itemChange = new EventEmitter<void>();\r\n @Output() parameterChange = new EventEmitter<void>();\r\n @Output() recalc = new EventEmitter<void>();\r\n\r\n onItemSelected(): void {\r\n this.selectedItemCodeChange.emit(this.selectedItemCode);\r\n this.itemChange.emit();\r\n }\r\n\r\n onParameterSelected(): void {\r\n this.selectedParameterCodeChange.emit(this.selectedParameterCode);\r\n this.parameterChange.emit();\r\n }\r\n\r\n onRawOilPriceChange(): void { this.emitAndRecalc(this.rawOilPriceChange, this.rawOilPrice); }\r\n onRawOilCurrencyChange(): void { this.emitAndRecalc(this.rawOilCurrencyChange, this.rawOilCurrency); }\r\n onRateUsdChange(): void { this.emitAndRecalc(this.rateUsdChange, this.rateUsd); }\r\n onRateEurChange(): void { this.emitAndRecalc(this.rateEurChange, this.rateEur); }\r\n\r\n private emitAndRecalc<T>(emitter: EventEmitter<T>, value: T): void {\r\n emitter.emit(value);\r\n this.recalc.emit();\r\n }\r\n}\r\n","<div class=\"card\">\r\n <div class=\"card-header fw-bold\">{{ 'Keops::CostCalculations:Inputs' | abpLocalization }}</div>\r\n <div class=\"card-body pt-0\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'Keops::CostCalculations:Item' | abpLocalization }}</label>\r\n <dx-select-box\r\n [dataSource]=\"itemsDataSource\"\r\n valueExpr=\"code\"\r\n [displayExpr]=\"itemDisplayExpr\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"['code', 'name']\"\r\n searchMode=\"contains\"\r\n [searchTimeout]=\"200\"\r\n [minSearchLength]=\"0\"\r\n [showDataBeforeSearch]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"selectedItemCode\"\r\n (onValueChanged)=\"onItemSelected()\"\r\n [placeholder]=\"'Keops::SelectAnOption' | abpLocalization\"\r\n >\r\n <div *dxTemplate=\"let it of 'item'\" class=\"text-truncate\" [title]=\"itemDisplayExpr(it)\">\r\n {{ itemDisplayExpr(it) }}\r\n </div>\r\n </dx-select-box>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'Keops::CostCalculations:CostParameter' | abpLocalization }}</label>\r\n <dx-select-box\r\n [dataSource]=\"parameters\"\r\n valueExpr=\"code\"\r\n [displayExpr]=\"parameterDisplayExpr\"\r\n [searchEnabled]=\"true\"\r\n [showClearButton]=\"true\"\r\n [(value)]=\"selectedParameterCode\"\r\n (onValueChanged)=\"onParameterSelected()\"\r\n [placeholder]=\"'Keops::SelectAnOption' | abpLocalization\"\r\n ></dx-select-box>\r\n </div>\r\n\r\n <div class=\"border rounded p-2 mb-3\">\r\n <div class=\"text-uppercase small mb-2\">{{ 'Keops::CostCalculations:Rates' | abpLocalization }}</div>\r\n\r\n <div class=\"row g-2 mb-2\">\r\n <div class=\"col-6\">\r\n <label class=\"form-label small mb-1\">{{ 'Keops::CostCalculations:SystemUsdRate' | abpLocalization }}</label>\r\n <div class=\"text-muted\">{{ systemRateUsd | number }}</div>\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"form-label small mb-1\">{{ 'Keops::CostCalculations:SystemEurRate' | abpLocalization }}</label>\r\n <div class=\"text-muted\">{{ systemRateEur | number }}</div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row g-2\">\r\n <div class=\"col-6\">\r\n <label class=\"form-label small mb-1\">{{ 'Keops::CostCalculations:UsdRate' | abpLocalization }}</label>\r\n <input type=\"number\" class=\"form-control form-control-sm\" [(ngModel)]=\"rateUsd\" (ngModelChange)=\"onRateUsdChange()\" />\r\n </div>\r\n <div class=\"col-6\">\r\n <label class=\"form-label small mb-1\">{{ 'Keops::CostCalculations:EurRate' | abpLocalization }}</label>\r\n <input type=\"number\" class=\"form-control form-control-sm\" [(ngModel)]=\"rateEur\" (ngModelChange)=\"onRateEurChange()\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">{{ 'Keops::CostCalculations:RawOilPrice' | abpLocalization }}</label>\r\n <div class=\"input-group\">\r\n <input type=\"number\" class=\"form-control\" [(ngModel)]=\"rawOilPrice\" (ngModelChange)=\"onRawOilPriceChange()\" />\r\n <select\r\n class=\"form-select flex-grow-0 w-auto\"\r\n [(ngModel)]=\"rawOilCurrency\"\r\n (ngModelChange)=\"onRawOilCurrencyChange()\"\r\n >\r\n <option *ngFor=\"let c of currencyOptions\" [ngValue]=\"c.value\">{{ c.label }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngFor=\"let stage of stages\">\r\n <div class=\"mb-2\">\r\n <div class=\"text-muted text-uppercase small fw-bold border-bottom pb-1\">\r\n <span>{{ stage.groupCode }} - </span>\r\n <span>{{ stage.groupName }}</span>\r\n </div>\r\n </div>\r\n <div class=\"mb-2\" *ngFor=\"let item of stage.items\">\r\n <label class=\"form-label small mb-1\">\r\n {{ item.costItemName }}\r\n </label>\r\n <div class=\"input-group\">\r\n <input type=\"number\" class=\"form-control\" [(ngModel)]=\"item.value\" (ngModelChange)=\"recalc.emit()\" />\r\n <span class=\"input-group-text\" *ngIf=\"item.calculationType === RateType\">%</span>\r\n <select\r\n *ngIf=\"item.calculationType !== RateType\"\r\n class=\"form-select flex-grow-0 w-auto\"\r\n [(ngModel)]=\"item.currency\"\r\n (ngModelChange)=\"recalc.emit()\"\r\n >\r\n <option *ngFor=\"let c of currencyOptions\" [ngValue]=\"c.value\">{{ c.label }}</option>\r\n </select>\r\n </div>\r\n </div>\r\n <div class=\"mb-2 text-muted small fst-italic\" *ngIf=\"stage.items.length === 0\">\r\n — {{ 'Keops::CostCalculations:NoItems' | abpLocalization }} —\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { costGroupRoleTotalLabels } from '../../cost-groups/cost-group-role-l10n-helper';\r\nimport { CostResult, RoleGroup } from '../engine';\r\n\r\n@Component({\r\n selector: 'lib-cost-calculation-results',\r\n templateUrl: './cost-calculation-results.component.html',\r\n})\r\nexport class CostCalculationResultsComponent {\r\n @Input() result: CostResult | null = null;\r\n @Input() roleGroups: RoleGroup[] = [];\r\n @Input() itemName: string | null = null;\r\n @Input() rateUsd = 0;\r\n @Input() rateEur = 0;\r\n\r\n readonly costGroupRoleTotalLabels = costGroupRoleTotalLabels;\r\n}\r\n","<div class=\"card\">\r\n <div class=\"card-header d-flex justify-content-between align-items-center\">\r\n <span class=\"fw-bold\">{{ 'Keops::CostCalculations:Results' | abpLocalization }}</span>\r\n <span class=\"text-muted small\">\r\n <span>{{ 'Keops::CostCalculations:UsdRate' | abpLocalization }}: <strong>{{ rateUsd | number }}</strong></span>\r\n <span class=\"mx-2\">·</span>\r\n <span>{{ 'Keops::CostCalculations:EurRate' | abpLocalization }}: <strong>{{ rateEur | number }}</strong></span>\r\n </span>\r\n </div>\r\n <div class=\"card-body\" *ngIf=\"result; else noResult\">\r\n <table class=\"table table-bordered mb-0\">\r\n <thead class=\"table-dark\">\r\n <tr>\r\n <th>{{ itemName || ('Keops::CostCalculations:Item' | abpLocalization) }}</th>\r\n <th class=\"text-end\">TRY</th>\r\n <th class=\"text-end\">USD</th>\r\n <th class=\"text-end\">EUR</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr class=\"table-light fw-bold\">\r\n <td>{{ 'Keops::CostCalculations:RawOil' | abpLocalization }}</td>\r\n <td class=\"text-end\">{{ result.rawOil.try | number }}</td>\r\n <td class=\"text-end\">{{ result.rawOil.usd | number }}</td>\r\n <td class=\"text-end\">{{ result.rawOil.eur | number }}</td>\r\n </tr>\r\n\r\n <ng-container *ngFor=\"let group of roleGroups\">\r\n <ng-container *ngFor=\"let stage of group.stages\">\r\n <tr class=\"table-secondary fw-semibold\">\r\n <td colspan=\"4\">{{ stage.groupCode }} - {{ stage.groupName }}</td>\r\n </tr>\r\n <tr *ngFor=\"let line of stage.lines\">\r\n <td class=\"ps-3\">\r\n {{ line.costItemName }}\r\n <span *ngIf=\"line.ratePercent != null\" class=\"text-muted\">(%{{ line.ratePercent }})</span>\r\n </td>\r\n <td class=\"text-end\">{{ line.amount.try | number }}</td>\r\n <td class=\"text-end\">{{ line.amount.usd | number }}</td>\r\n <td class=\"text-end\">{{ line.amount.eur | number }}</td>\r\n </tr>\r\n </ng-container>\r\n <tr class=\"table-info fw-bold\">\r\n <td>{{ costGroupRoleTotalLabels[group.role] | abpLocalization }}</td>\r\n <td class=\"text-end\">{{ group.roleTotal.try | number }}</td>\r\n <td class=\"text-end\">{{ group.roleTotal.usd | number }}</td>\r\n <td class=\"text-end\">{{ group.roleTotal.eur | number }}</td>\r\n </tr>\r\n </ng-container>\r\n\r\n <tr class=\"table-warning fw-bold\" *ngIf=\"result\">\r\n <td>{{ 'Keops::CostCalculations:TotalSalePrice' | abpLocalization }}</td>\r\n <td class=\"text-end\">{{ result.totalSalePrice.try | number }}</td>\r\n <td class=\"text-end\">{{ result.totalSalePrice.usd | number }}</td>\r\n <td class=\"text-end\">{{ result.totalSalePrice.eur | number }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <ng-template #noResult>\r\n <div class=\"card-body p-4 text-center text-muted\">\r\n {{ 'Keops::CostCalculations:CostParameter' | abpLocalization }} …\r\n </div>\r\n </ng-template>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';\r\nimport { costGroupRoleTotalLabels } from '../../cost-groups/cost-group-role-l10n-helper';\r\nimport { addAmounts, RoleGroup } from '../engine';\r\n\r\n@Component({\r\n selector: 'lib-cost-calculation-result-sum',\r\n templateUrl: './cost-calculation-result-sum.component.html',\r\n})\r\nexport class CostCalculationResultSumComponent {\r\n @Input() roleGroups: RoleGroup[] = [];\r\n\r\n get summaryCards() {\r\n const production = this.roleGroups.find(g => g.role === CostGroupRole.Production)\r\n ?.roleTotal ?? { try: 0, usd: 0, eur: 0 };\r\n const operating = this.roleGroups.find(g => g.role === CostGroupRole.Operating)?.roleTotal ?? {\r\n try: 0,\r\n usd: 0,\r\n eur: 0,\r\n };\r\n const total = addAmounts(...this.roleGroups.map(g => g.roleTotal));\r\n return [\r\n { label: costGroupRoleTotalLabels[CostGroupRole.Production], amount: production },\r\n { label: costGroupRoleTotalLabels[CostGroupRole.Operating], amount: operating },\r\n { label: 'Keops::CostCalculations:TotalSalePrice', amount: total, highlight: true },\r\n ];\r\n }\r\n}\r\n","<div class=\"row mb-3\">\r\n <div class=\"col-md-4\" *ngFor=\"let card of summaryCards\">\r\n <div class=\"card h-100\" [class.border-warning]=\"card.highlight\">\r\n <div class=\"card-body\">\r\n <div class=\"text-muted text-uppercase small fw-bold\">\r\n {{ card.label | abpLocalization }}\r\n </div>\r\n <div class=\"fs-4 fw-bold\">$ {{ card.amount.usd | number }}</div>\r\n <div class=\"text-muted small\">€ {{ card.amount.eur | number }}</div>\r\n <div class=\"text-muted small\">₺ {{ card.amount.try | number }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { forkJoin } from 'rxjs';\r\nimport DataSource from 'devextreme/data/data_source';\r\nimport ArrayStore from 'devextreme/data/array_store';\r\nimport {\r\n CostGroupService,\r\n CostItemService,\r\n CostParameterService,\r\n ExchangeRateService,\r\n ItemService,\r\n} from '@proxy/controllers';\r\nimport { ItemDto } from '@proxy/items/dtos';\r\nimport { CostParameterCategoryLookupDto, CostParameterDto } from '@proxy/cost-parameters/dtos';\r\nimport { CostItemDto } from '@proxy/cost-items/dtos';\r\nimport { CostGroupDto } from '@proxy/cost-groups/dtos';\r\nimport { ExchangeRateDto } from '@proxy/exchange-rates/dtos';\r\nimport { ExchangeRateSource } from '@proxy/exchange-rates/exchange-rate-source.enum';\r\nimport { Currency } from '@proxy/currencies/currency.enum';\r\nimport { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\r\nimport { buildRoleGroups, calculateCost, CostResult, RoleGroup } from '../engine';\r\nimport { CostCalculationItem, CostCalculationStage } from '../cost-calculation.models';\r\nimport { parseDecimal } from '../../../utils/number.utils';\r\n\r\n@Component({\r\n selector: 'lib-cost-calculation',\r\n templateUrl: './cost-calculation.component.html',\r\n styleUrls: ['./cost-calculation.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class CostCalculationComponent implements OnInit {\r\n readonly itemCodePrefix = '05';\r\n productItems: ItemDto[] = [];\r\n itemsDataSource: DataSource | null = null;\r\n selectedItemCode: string | null = null;\r\n selectedItemName: string | null = null;\r\n\r\n parameters: CostParameterDto[] = [];\r\n selectedParameterCode: string | null = null;\r\n\r\n rawOilPrice = 0;\r\n rawOilCurrency = Currency.USD;\r\n\r\n systemRateUsd = 0;\r\n systemRateEur = 0;\r\n\r\n rateUsd = 0;\r\n rateEur = 0;\r\n\r\n stages: CostCalculationStage[] = [];\r\n result: CostResult | null = null;\r\n roleGroups: RoleGroup[] = [];\r\n\r\n private costItemsByCode = new Map<string, CostItemDto>();\r\n private groups: CostGroupDto[] = [];\r\n private productGroupNames = new Map<string, string>();\r\n private regionNames = new Map<string, string>();\r\n\r\n constructor(\r\n private readonly parameterService: CostParameterService,\r\n private readonly costItemService: CostItemService,\r\n private readonly costGroupService: CostGroupService,\r\n private readonly exchangeRateService: ExchangeRateService,\r\n private readonly itemService: ItemService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.calculate();\r\n\r\n forkJoin({\r\n parameters: this.parameterService.getList(),\r\n costItems: this.costItemService.getList(),\r\n groups: this.costGroupService.getList(),\r\n rate: this.exchangeRateService.get(),\r\n lookups: this.parameterService.getCodeLookups(),\r\n items: this.itemService.getList(this.itemCodePrefix),\r\n }).subscribe(({ parameters, costItems, groups, rate, lookups, items }) => {\r\n this.parameters = parameters ?? [];\r\n this.productItems = items ?? [];\r\n this.itemsDataSource = new DataSource({\r\n store: new ArrayStore({ key: 'code', data: this.productItems }),\r\n paginate: true,\r\n pageSize: 50,\r\n });\r\n\r\n this.productGroupNames = this.toNameMap(lookups?.productGroups);\r\n this.regionNames = this.toNameMap(lookups?.regions);\r\n\r\n this.costItemsByCode = new Map<string, CostItemDto>();\r\n for (const ci of costItems ?? []) {\r\n if (ci.code) this.costItemsByCode.set(ci.code, ci);\r\n }\r\n\r\n this.groups = (groups ?? []).slice().sort((a, b) => a.displayOrder - b.displayOrder);\r\n\r\n const [usd, eur] = this.resolveRates(rate);\r\n this.systemRateUsd = usd;\r\n this.systemRateEur = eur;\r\n this.rateUsd = usd;\r\n this.rateEur = eur;\r\n\r\n this.calculate();\r\n });\r\n }\r\n\r\n parameterLabel(p: CostParameterDto): string {\r\n const productGroup = this.productGroupNames.get(p.productGroup ?? '') ?? p.productGroup;\r\n const region = this.regionNames.get(p.region ?? '') ?? p.region;\r\n return [productGroup, region].filter(Boolean).join(' — ') || (p.code ?? '');\r\n }\r\n\r\n onItemChange(): void {\r\n const item = this.productItems.find(x => x.code === this.selectedItemCode);\r\n this.selectedItemName = item?.name ?? null;\r\n }\r\n\r\n readonly itemDisplayExpr = (item: ItemDto): string =>\r\n item ? [item.code, item.name].filter(Boolean).join(' — ') : '';\r\n\r\n readonly parameterDisplayExpr = (p: CostParameterDto): string => (p ? this.parameterLabel(p) : '');\r\n\r\n private toNameMap(options: CostParameterCategoryLookupDto[] | undefined): Map<string, string> {\r\n const map = new Map<string, string>();\r\n for (const option of options ?? []) {\r\n if (option.code) map.set(option.code, option.name ?? option.code);\r\n }\r\n return map;\r\n }\r\n\r\n onParameterChange(): void {\r\n const parameter = this.parameters.find(p => p.code === this.selectedParameterCode);\r\n this.stages = parameter ? this.buildStages(parameter) : [];\r\n this.calculate();\r\n }\r\n\r\n private buildValuesByCode(parameter: CostParameterDto): Map<string, { value: number; currency?: Currency }> {\r\n const map = new Map<string, { value: number; currency?: Currency }>();\r\n for (const item of parameter.items ?? []) {\r\n if (item.costItemCode) {\r\n map.set(item.costItemCode, { value: parseDecimal(item.value), currency: item.currency });\r\n }\r\n }\r\n return map;\r\n }\r\n\r\n private buildStages(parameter: CostParameterDto): CostCalculationStage[] {\r\n const valuesByCode = this.buildValuesByCode(parameter);\r\n return this.groups.map(group => {\r\n const items: CostCalculationItem[] = [];\r\n for (const code of group.itemCodes ?? []) {\r\n const costItem = this.costItemsByCode.get(code);\r\n if (!costItem) continue;\r\n const stored = valuesByCode.get(code);\r\n const isRate = costItem.calculationType === CostItemCalculationType.Rate;\r\n items.push({\r\n costItemCode: code,\r\n costItemName: costItem.name ?? code,\r\n calculationType: costItem.calculationType,\r\n systemCode: costItem.systemCode ?? undefined,\r\n currency: stored?.currency ?? (isRate ? undefined : Currency.TRY),\r\n value: stored?.value ?? 0,\r\n });\r\n }\r\n return {\r\n groupCode: group.code ?? '',\r\n groupName: group.name ?? '',\r\n displayOrder: group.displayOrder,\r\n groupRole: group.groupRole,\r\n items,\r\n };\r\n });\r\n }\r\n\r\n calculate(): void {\r\n this.result = calculateCost({\r\n rawOilPrice: parseDecimal(this.rawOilPrice),\r\n rawOilCurrency: this.rawOilCurrency,\r\n rateUsd: parseDecimal(this.rateUsd),\r\n rateEur: parseDecimal(this.rateEur),\r\n stages: this.stages,\r\n });\r\n this.roleGroups = buildRoleGroups(this.result.rawOil, this.result.stages);\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n private resolveRates(rate: ExchangeRateDto): [number, number] {\r\n if (!rate) return [0, 0];\r\n if (rate.source === ExchangeRateSource.Fixed) {\r\n return [rate.fixedUsdRate ?? 0, rate.fixedEurRate ?? 0];\r\n }\r\n return [rate.cbExchangeRate?.usdBuyingRate ?? 0, rate.cbExchangeRate?.eurBuyingRate ?? 0];\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::CostCalculations:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2\">\r\n <button class=\"btn btn-outline-primary\" type=\"button\" (click)=\"print()\" [disabled]=\"!result\">\r\n <i class=\"fa fa-print me-1\"></i>\r\n <span>{{ 'Keops::CostCalculations:Print' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-lg-4 mb-3\">\r\n <lib-cost-calculation-inputs\r\n [itemsDataSource]=\"itemsDataSource\"\r\n [itemDisplayExpr]=\"itemDisplayExpr\"\r\n [parameters]=\"parameters\"\r\n [parameterDisplayExpr]=\"parameterDisplayExpr\"\r\n [stages]=\"stages\"\r\n [(selectedItemCode)]=\"selectedItemCode\"\r\n [(selectedParameterCode)]=\"selectedParameterCode\"\r\n [(rawOilPrice)]=\"rawOilPrice\"\r\n [(rawOilCurrency)]=\"rawOilCurrency\"\r\n [systemRateUsd]=\"systemRateUsd\"\r\n [systemRateEur]=\"systemRateEur\"\r\n [(rateUsd)]=\"rateUsd\"\r\n [(rateEur)]=\"rateEur\"\r\n (itemChange)=\"onItemChange()\"\r\n (parameterChange)=\"onParameterChange()\"\r\n (recalc)=\"calculate()\"\r\n ></lib-cost-calculation-inputs>\r\n </div>\r\n\r\n <div class=\"col-lg-8 mb-3\">\r\n <div class=\"d-print-none\">\r\n <lib-cost-calculation-result-sum [roleGroups]=\"roleGroups\"></lib-cost-calculation-result-sum>\r\n </div>\r\n <div id=\"cost-calculation-results\">\r\n <lib-cost-calculation-results [result]=\"result\" [roleGroups]=\"roleGroups\" [itemName]=\"selectedItemName\" [rateUsd]=\"rateUsd\" [rateEur]=\"rateEur\"></lib-cost-calculation-results>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { CostCalculationComponent } from './components/cost-calculation.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: CostCalculationComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsCost.CostCalculations',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitCostCalculationRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { DxSelectBoxModule } from 'devextreme-angular';\r\nimport { CostCalculationComponent } from './components/cost-calculation.component';\r\nimport { CostCalculationInputsComponent } from './components/cost-calculation-inputs.component';\r\nimport { CostCalculationResultsComponent } from './components/cost-calculation-results.component';\r\nimport { CostCalculationResultSumComponent } from './components/cost-calculation-result-sum.component';\r\nimport { HitCostCalculationRoutingModule } from './hit-cost-calculation-routing.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n CostCalculationComponent,\r\n CostCalculationInputsComponent,\r\n CostCalculationResultsComponent,\r\n CostCalculationResultSumComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitCostCalculationRoutingModule,\r\n DxSelectBoxModule,\r\n ],\r\n})\r\nexport class HitCostCalculationModule {}\r\n\r\nexport function loadHitCostCalculationModuleAsChild() {\r\n return Promise.resolve(HitCostCalculationModule);\r\n}\r\n","import { CostParameterStatus } from '@proxy/cost-parameters/cost-parameter-status.enum';\n\nexport const statusLabels: Record<CostParameterStatus, string> = {\n [CostParameterStatus.Active]: 'Keops::CostParameters:Status:Active',\n [CostParameterStatus.Passive]: 'Keops::CostParameters:Status:Passive',\n [CostParameterStatus.InProgress]: 'Keops::CostParameters:Status:InProgress',\n};\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { CostItemService, CostParameterService } from '@proxy/controllers';\r\nimport { CostItemDto } from '@proxy/cost-items/dtos';\r\nimport { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';\r\nimport { Currency } from '@proxy/currencies/currency.enum';\r\nimport { CostParameterCategoryLookupDto, CostParameterDto } from '@proxy/cost-parameters/dtos';\r\nimport { CostParameterStatus } from '@proxy/cost-parameters/cost-parameter-status.enum';\r\nimport { statusLabels } from '../cost-parameter-l10n-helper';\r\nimport { calculationTypeLabels } from '../../cost-items/cost-item-l10n-helper';\r\nimport { CURRENCY_OPTIONS } from '../../../utils/currency.utils';\r\n\r\nconst statusOptions = [\r\n CostParameterStatus.InProgress,\r\n CostParameterStatus.Active,\r\n CostParameterStatus.Passive,\r\n].map(value => ({ value, label: statusLabels[value] }));\r\n\r\n@Component({\r\n selector: 'lib-cost-parameter-form',\r\n templateUrl: './cost-parameter-form.component.html',\r\n})\r\nexport class CostParameterFormComponent implements OnInit {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: CostParameterDto | null = null;\r\n @Input() productGroupOptions: CostParameterCategoryLookupDto[] = [];\r\n @Input() regionOptions: CostParameterCategoryLookupDto[] = [];\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n costItems: CostItemDto[] = [];\r\n\r\n readonly statusOptions = statusOptions;\r\n readonly currencyOptions = CURRENCY_OPTIONS;\r\n readonly customLabel = calculationTypeLabels[CostItemCalculationType.Custom];\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: CostParameterService,\r\n private readonly costItemService: CostItemService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n region: [this.current?.region ?? null, [Validators.required]],\r\n productGroup: [this.current?.productGroup ?? null, [Validators.required]],\r\n status: [this.current?.status ?? CostParameterStatus.InProgress, [Validators.required]],\r\n description: [this.current?.description ?? '', [Validators.maxLength(512)]],\r\n items: this.fb.array([]),\r\n });\r\n\r\n this.loadCostItems();\r\n }\r\n\r\n get itemsArray(): FormArray {\r\n return this.form.get('items') as FormArray;\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::CostParameters:CreateTitle'\r\n : 'Keops::CostParameters:EditTitle';\r\n }\r\n\r\n isRate(costItem: CostItemDto): boolean {\r\n return costItem.calculationType === CostItemCalculationType.Rate;\r\n }\r\n\r\n isCustom(costItem: CostItemDto): boolean {\r\n return costItem.calculationType === CostItemCalculationType.Custom;\r\n }\r\n\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n this.saving = true;\r\n\r\n const { items, ...rest } = this.form.value;\r\n\r\n const input = {\r\n ...rest,\r\n items: this.costItems.map((costItem, index) => ({\r\n costItemCode: costItem.code,\r\n value:\r\n items[index].value != null && items[index].value !== ''\r\n ? String(items[index].value)\r\n : null,\r\n currency:\r\n this.isRate(costItem) || this.isCustom(costItem) ? null : items[index].currency,\r\n })),\r\n };\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(input)\r\n : this.service.update(this.current!.code!, input);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n\r\n private loadCostItems(): void {\r\n this.costItemService.getList().subscribe(data => {\r\n this.costItems = [...data].sort((a, b) =>\r\n (a.code ?? '').localeCompare(b.code ?? '', undefined, { numeric: true }),\r\n );\r\n\r\n const currentItemsByCode = new Map(\r\n (this.current?.items ?? []).map(item => [item.costItemCode, item]),\r\n );\r\n\r\n this.itemsArray.clear();\r\n this.costItems.forEach(costItem => {\r\n const currentItem = currentItemsByCode.get(costItem.code);\r\n\r\n this.itemsArray.push(\r\n this.fb.group({\r\n value: [currentItem?.value ?? null],\r\n currency: [currentItem?.currency ?? Currency.TRY],\r\n }),\r\n );\r\n });\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:Info' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div class=\"mb-3\">\r\n <label for=\"region\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Region' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"region\" class=\"form-select\" formControlName=\"region\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let region of regionOptions\" [ngValue]=\"region.code\">\r\n {{ region.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"productGroup\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:ProductGroup' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"productGroup\" class=\"form-select\" formControlName=\"productGroup\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let productGroup of productGroupOptions\" [ngValue]=\"productGroup.code\">\r\n {{ productGroup.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"status\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Status' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"status\" class=\"form-select\" formControlName=\"status\">\r\n <option *ngFor=\"let opt of statusOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"description\" class=\"form-label\">\r\n {{ 'Keops::CostParameters:Description' | abpLocalization }}\r\n </label>\r\n <textarea\r\n id=\"description\"\r\n class=\"form-control\"\r\n formControlName=\"description\"\r\n rows=\"3\"\r\n ></textarea>\r\n </div>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'Keops::CostParameters:ItemValues' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <table class=\"table table-sm align-middle\">\r\n <colgroup>\r\n <col style=\"width: 50%\" />\r\n <col style=\"width: 30%\" />\r\n <col style=\"width: 20%\" />\r\n </colgroup>\r\n <tbody formArrayName=\"items\">\r\n <tr *ngFor=\"let costItem of costItems; let i = index\" [formGroupName]=\"i\">\r\n <td>\r\n {{ costItem.name }}\r\n <span class=\"badge bg-info ms-1\" *ngIf=\"isCustom(costItem)\">\r\n {{ customLabel | abpLocalization }}\r\n </span>\r\n </td>\r\n <td>\r\n <input\r\n *ngIf=\"isCustom(costItem); else valueInput\"\r\n type=\"text\"\r\n class=\"form-control form-control-sm\"\r\n disabled\r\n [placeholder]=\"'Keops::CostParameters:AutoCalculated' | abpLocalization\"\r\n />\r\n <ng-template #valueInput>\r\n <div class=\"input-group input-group-sm\">\r\n <input type=\"number\" class=\"form-control\" formControlName=\"value\" />\r\n <span class=\"input-group-text px-3\" *ngIf=\"isRate(costItem)\">%</span>\r\n </div>\r\n </ng-template>\r\n </td>\r\n <td>\r\n <select\r\n *ngIf=\"!isRate(costItem) && !isCustom(costItem)\"\r\n class=\"form-select form-select-sm\"\r\n formControlName=\"currency\"\r\n >\r\n <option *ngFor=\"let currency of currencyOptions\" [ngValue]=\"currency.value\">\r\n {{ currency.label }}\r\n </option>\r\n </select>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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 { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { CostParameterService } from '@proxy/controllers';\r\nimport { CostParameterCategoryLookupDto, CostParameterDto } from '@proxy/cost-parameters/dtos';\r\nimport { statusLabels } from '../cost-parameter-l10n-helper';\r\n\r\n@Component({\r\n selector: 'lib-cost-parameters',\r\n templateUrl: './cost-parameters.component.html',\r\n})\r\nexport class CostParametersComponent implements OnInit {\r\n items: CostParameterDto[] = [];\r\n\r\n productGroupOptions: CostParameterCategoryLookupDto[] = [];\r\n regionOptions: CostParameterCategoryLookupDto[] = [];\r\n\r\n selected: CostParameterDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: CostParameterService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadCodeLookups();\r\n this.loadList();\r\n }\r\n\r\n getStatusLabel(value: any): string {\r\n return statusLabels[value as keyof typeof statusLabels] ?? '';\r\n }\r\n\r\n getProductGroupName(code: string | undefined | null): string {\r\n return this.resolveName(this.productGroupOptions, code);\r\n }\r\n\r\n getRegionName(code: string | undefined | null): string {\r\n return this.resolveName(this.regionOptions, code);\r\n }\r\n\r\n private resolveName(\r\n options: CostParameterCategoryLookupDto[],\r\n code: string | undefined | null,\r\n ): string {\r\n if (!code) return '';\r\n return options.find(x => x.code === code)?.name ?? code;\r\n }\r\n\r\n loadCodeLookups(): void {\r\n this.service.getCodeLookups().subscribe(data => {\r\n this.productGroupOptions = data.productGroups ?? [];\r\n this.regionOptions = data.regions ?? [];\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: CostParameterDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: CostParameterDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::CostParameters:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParametersToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameters.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameters:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParametersWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameters.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameters.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"region\"\n cellTemplate=\"regionTpl\"\n caption=\"{{ 'Keops::CostParameters:Region' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'regionTpl'\">\n <span>{{ getRegionName(row.data.region) }}</span>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"productGroup\"\n cellTemplate=\"productGroupTpl\"\n caption=\"{{ 'Keops::CostParameters:ProductGroup' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'productGroupTpl'\">\n <span>{{ getProductGroupName(row.data.productGroup) }}</span>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"status\"\n width=\"160\"\n cellTemplate=\"statusTpl\"\n caption=\"{{ 'Keops::CostParameters:Status' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'statusTpl'\">\n <span>{{ getStatusLabel(row.data.status) | abpLocalization }}</span>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"description\"\n caption=\"{{ 'Keops::CostParameters:Description' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"updateDate\"\n cellTemplate=\"updateTpl\"\n caption=\"{{ 'Keops::CostParameters:LastUpdate' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'updateTpl'\">\n <span>{{ row.data.updateDate | shortDate }} {{ row.data.updateTime?.substring(0, 5) }}</span>\n </div>\n </dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n [productGroupOptions]=\"productGroupOptions\"\n [regionOptions]=\"regionOptions\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-form>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { CostParametersComponent } from './components/cost-parameters.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: CostParametersComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.CostParameters',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitCostParametersRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CostParametersComponent } from './components/cost-parameters.component';\nimport { CostParameterFormComponent } from './components/cost-parameter-form.component';\nimport { HitCostParametersRoutingModule } from './hit-cost-parameters-routing.module';\nimport { DxDataGridModule } from 'devextreme-angular';\n\n@NgModule({\n declarations: [CostParametersComponent, CostParameterFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n CommercialUiModule,\n NgbDropdownModule,\n NgbNavModule,\n HitCostParametersRoutingModule,\n DxDataGridModule,\n ],\n})\nexport class HitCostParametersModule {}\n\nexport function loadHitCostParametersModuleAsChild() {\n return Promise.resolve(HitCostParametersModule);\n}\n","import { CostParameterCategoryParentCode } from '@proxy/cost-parameter-categories';\r\n\r\nexport const parentCodeLabels: Record<CostParameterCategoryParentCode, string> = {\r\n [CostParameterCategoryParentCode.Code1]: 'Keops::CostParameterCategories:ParentCode:Code1',\r\n [CostParameterCategoryParentCode.Code2]: 'Keops::CostParameterCategories:ParentCode:Code2',\r\n [CostParameterCategoryParentCode.Code3]: 'Keops::CostParameterCategories:ParentCode:Code3',\r\n [CostParameterCategoryParentCode.Code4]: 'Keops::CostParameterCategories:ParentCode:Code4',\r\n [CostParameterCategoryParentCode.Code5]: 'Keops::CostParameterCategories:ParentCode:Code5',\r\n};\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { CostParameterCategoryService } from '@proxy/controllers';\nimport { CostParameterCategoryDto } from '@proxy/cost-parameter-categories/dtos';\nimport {\n CostParameterCategoryParentCode,\n costParameterCategoryParentCodeOptions,\n} from '@proxy/cost-parameter-categories';\nimport { parentCodeLabels } from '../cost-parameter-category-l10n-helper';\n\n@Component({\n selector: 'lib-cost-parameter-category-form',\n templateUrl: './cost-parameter-category-form.component.html',\n})\nexport class CostParameterCategoryFormComponent implements OnInit, OnChanges {\n @Input() visible = false;\n @Input() mode: 'create' | 'edit' = 'create';\n @Input() current: CostParameterCategoryDto | null = null;\n\n @Output() visibleChange = new EventEmitter<boolean>();\n @Output() saved = new EventEmitter<void>();\n\n form!: FormGroup;\n\n readonly parentCodeOptions = costParameterCategoryParentCodeOptions.map(option => ({\n value: option.value,\n label: parentCodeLabels[option.value as CostParameterCategoryParentCode] ?? option.key,\n }));\n\n constructor(\n private readonly fb: FormBuilder,\n private readonly service: CostParameterCategoryService,\n ) {}\n\n ngOnInit(): void {\n this.buildForm();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['visible']?.currentValue && this.form) {\n this.resetForm();\n }\n }\n\n private buildForm(): void {\n this.form = this.fb.group({\n name: ['', Validators.required],\n parentCode: [null, Validators.required],\n });\n this.resetForm();\n }\n\n private resetForm(): void {\n if (!this.form) return;\n\n if (this.mode === 'edit' && this.current) {\n this.form.patchValue({\n name: this.current.name ?? '',\n parentCode: this.current.parentCode ?? null,\n });\n } else {\n this.form.reset({ name: '', parentCode: null });\n }\n }\n\n close(): void {\n this.visibleChange.emit(false);\n }\n\n save(): void {\n if (this.form.invalid) return;\n\n if (this.mode === 'create') {\n this.service\n .create({\n name: this.form.get('name')?.value,\n parentCode: this.form.get('parentCode')?.value,\n })\n .subscribe({ next: () => this.saved.emit() });\n } else {\n this.service\n .update(this.current!.code!, {\n name: this.form.get('name')?.value,\n parentCode: this.form.get('parentCode')?.value,\n })\n .subscribe({ next: () => this.saved.emit() });\n }\n }\n}\n","<abp-modal [(visible)]=\"visible\" (disappear)=\"close()\">\r\n <ng-template #abpHeader>\r\n <h3>\r\n <span *ngIf=\"mode === 'create'\">{{ 'Keops::CostParameterCategories:CreateTitle' | abpLocalization }}</span>\r\n <span *ngIf=\"mode === 'edit'\">{{ 'Keops::CostParameterCategories:EditTitle' | abpLocalization }}</span>\r\n </h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" id=\"costParameterCategoryForm\">\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label class=\"form-label\">\r\n {{ 'Keops::CostParameterCategories:ParentCode' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select class=\"form-select\" formControlName=\"parentCode\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let option of parentCodeOptions\" [ngValue]=\"option.value\">\r\n {{ option.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"close()\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-primary\"\r\n [disabled]=\"form.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component, OnInit } from '@angular/core';\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\nimport { CostParameterCategoryService } from '@proxy/controllers';\nimport { CostParameterCategoryDto } from '@proxy/cost-parameter-categories/dtos';\nimport { parentCodeLabels } from '../cost-parameter-category-l10n-helper';\n\n@Component({\n selector: 'lib-cost-parameter-categories',\n templateUrl: './cost-parameter-categories.component.html',\n})\nexport class CostParameterCategoriesComponent implements OnInit {\n items: CostParameterCategoryDto[] = [];\n\n selected: CostParameterCategoryDto | null = null;\n formVisible = false;\n formMode: 'create' | 'edit' = 'create';\n\n constructor(\n private readonly service: CostParameterCategoryService,\n private readonly toaster: ToasterService,\n private readonly confirmation: ConfirmationService,\n ) {}\n\n ngOnInit(): void {\n this.loadList();\n }\n\n getParentCodeLabel(value: any): string {\n return parentCodeLabels[value as keyof typeof parentCodeLabels] ?? '';\n }\n\n loadList(): void {\n this.service.getList().subscribe(data => {\n this.items = data;\n });\n }\n\n openCreate(): void {\n this.selected = null;\n this.formMode = 'create';\n this.formVisible = true;\n }\n\n openEdit(row: CostParameterCategoryDto): void {\n this.selected = row;\n this.formMode = 'edit';\n this.formVisible = true;\n }\n\n onSaved(): void {\n this.formVisible = false;\n this.selected = null;\n this.toaster.success('AbpUi::SuccessfullySaved');\n this.loadList();\n }\n\n remove(row: CostParameterCategoryDto): void {\n this.confirmation\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\n .subscribe(status => {\n if (status === Confirmation.Status.confirm) {\n this.service.delete(row.code!).subscribe({\n next: () => {\n this.toaster.success('AbpUi::SuccessfullyDeleted');\n this.loadList();\n },\n });\n }\n });\n }\n}\n","<abp-page [title]=\"'Keops::CostParameterCategories:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"CostParameterCategoriesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::CostParameterCategories:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"CostParameterCategoriesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.CostParameterCategories.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::CostParameterCategories:Name' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"parentCode\"\n cellTemplate=\"parentCodeTpl\"\n alignment=\"left\"\n caption=\"{{ 'Keops::CostParameterCategories:ParentCode' | abpLocalization }}\"\n >\n <div *dxTemplate=\"let row of 'parentCodeTpl'\">\n {{ getParentCodeLabel(row.data.parentCode) | abpLocalization }}\n </div>\n </dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-cost-parameter-category-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-cost-parameter-category-form>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { CostParameterCategoriesComponent } from './components/cost-parameter-categories.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: CostParameterCategoriesComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.CostParameterCategories',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitCostParameterCategoriesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CostParameterCategoriesComponent } from './components/cost-parameter-categories.component';\nimport { CostParameterCategoryFormComponent } from './components/cost-parameter-category-form.component';\nimport { HitCostParameterCategoriesRoutingModule } from './hit-cost-parameter-categories-routing.module';\nimport { DxDataGridModule } from 'devextreme-angular';\n\n@NgModule({\n declarations: [CostParameterCategoriesComponent, CostParameterCategoryFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n CommercialUiModule,\n NgbDropdownModule,\n HitCostParameterCategoriesRoutingModule,\n DxDataGridModule,\n ],\n})\nexport class HitCostParameterCategoriesModule {}\n\nexport function loadHitCostParameterCategoriesModuleAsChild() {\n return Promise.resolve(HitCostParameterCategoriesModule);\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { PackagingTypeService } from '@proxy/controllers';\nimport { PackagingTypeDto } from '@proxy/packaging-types/dtos';\n\n@Component({\n selector: 'lib-packaging-type-form',\n templateUrl: './packaging-type-form.component.html',\n})\nexport class PackagingTypeFormComponent implements OnInit, OnChanges {\n @Input() visible = false;\n @Input() mode: 'create' | 'edit' = 'create';\n @Input() current: PackagingTypeDto | null = null;\n\n @Output() visibleChange = new EventEmitter<boolean>();\n @Output() saved = new EventEmitter<void>();\n\n form!: FormGroup;\n saving = false;\n\n constructor(\n private readonly fb: FormBuilder,\n private readonly service: PackagingTypeService,\n ) {}\n\n ngOnInit(): void {\n this.buildForm();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['current'] || changes['mode']) {\n this.buildForm();\n }\n }\n\n private buildForm(): void {\n this.form = this.fb.group({\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(50)]],\n displayOrder: [this.current?.displayOrder ?? 0, [Validators.required, Validators.min(0)]],\n });\n }\n\n get title(): string {\n return this.mode === 'create'\n ? 'Keops::PackagingTypes:CreateTitle'\n : 'Keops::PackagingTypes:EditTitle';\n }\n\n onVisibleChange(value: boolean): void {\n this.visible = value;\n this.visibleChange.emit(value);\n }\n\n save(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return;\n }\n\n const value = this.form.value;\n\n this.saving = true;\n\n const request$ =\n this.mode === 'create'\n ? this.service.create(value)\n : this.service.update(this.current!.code!, value);\n\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\n next: () => {\n this.saved.emit();\n this.visible = false;\n this.visibleChange.emit(false);\n },\n });\n }\n}\n","<abp-modal\n [(visible)]=\"visible\"\n (visibleChange)=\"onVisibleChange($event)\"\n [busy]=\"saving\"\n [options]=\"{ size: 'md' }\"\n>\n <ng-template #abpHeader>\n <h3>{{ title | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"mb-3\">\n <label for=\"name\" class=\"form-label\">\n {{ 'Keops::PackagingTypes:Name' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\n </div>\n\n <div class=\"mb-3\">\n <label for=\"displayOrder\" class=\"form-label\">\n {{ 'Keops::PackagingTypes:DisplayOrder' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input\n id=\"displayOrder\"\n type=\"number\"\n min=\"0\"\n class=\"form-control\"\n formControlName=\"displayOrder\"\n />\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\n {{ 'AbpUi::Cancel' | abpLocalization }}\n </button>\n <abp-button\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary\"\n [loading]=\"saving\"\n [disabled]=\"form?.invalid\"\n (click)=\"save()\"\n >\n {{ 'AbpUi::Save' | abpLocalization }}\n </abp-button>\n </ng-template>\n</abp-modal>\n","import { Component, OnInit } from '@angular/core';\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\nimport { PackagingTypeService } from '@proxy/controllers';\nimport { PackagingTypeDto } from '@proxy/packaging-types/dtos';\n\n@Component({\n selector: 'lib-packaging-types',\n templateUrl: './packaging-types.component.html',\n})\nexport class PackagingTypesComponent implements OnInit {\n items: PackagingTypeDto[] = [];\n\n selected: PackagingTypeDto | null = null;\n formVisible = false;\n formMode: 'create' | 'edit' = 'create';\n\n constructor(\n private readonly service: PackagingTypeService,\n private readonly toaster: ToasterService,\n private readonly confirmation: ConfirmationService,\n ) {}\n\n ngOnInit(): void {\n this.loadList();\n }\n\n loadList(): void {\n this.service.getList().subscribe(data => {\n this.items = data;\n });\n }\n\n openCreate(): void {\n this.selected = null;\n this.formMode = 'create';\n this.formVisible = true;\n }\n\n openEdit(row: PackagingTypeDto): void {\n this.selected = row;\n this.formMode = 'edit';\n this.formVisible = true;\n }\n\n onSaved(): void {\n this.formVisible = false;\n this.selected = null;\n this.toaster.success('AbpUi::SuccessfullySaved');\n this.loadList();\n }\n\n remove(row: PackagingTypeDto): void {\n this.confirmation\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\n .subscribe(status => {\n if (status === Confirmation.Status.confirm) {\n this.service.delete(row.code!).subscribe({\n next: () => {\n this.toaster.success('AbpUi::SuccessfullyDeleted');\n this.loadList();\n },\n });\n }\n });\n }\n}\n","<abp-page [title]=\"'Keops::PackagingTypes:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"PackagingTypesToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::PackagingTypes:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"PackagingTypesWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.PackagingTypes.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"displayOrder\"\n dataType=\"number\"\n width=\"100\"\n caption=\"{{ 'Keops::PackagingTypes:DisplayOrder' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::PackagingTypes:Name' | abpLocalization }}\"\n ></dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-packaging-type-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-packaging-type-form>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { PackagingTypesComponent } from './components/packaging-types.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: PackagingTypesComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.PackagingTypes',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitPackagingTypesRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PackagingTypesComponent } from './components/packaging-types.component';\nimport { PackagingTypeFormComponent } from './components/packaging-type-form.component';\nimport { HitPackagingTypesRoutingModule } from './hit-packaging-types-routing.module';\nimport { DxDataGridModule } from 'devextreme-angular';\n\n@NgModule({\n declarations: [PackagingTypesComponent, PackagingTypeFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n CommercialUiModule,\n NgbDropdownModule,\n HitPackagingTypesRoutingModule,\n DxDataGridModule,\n ],\n})\nexport class HitPackagingTypesModule {}\n\nexport function loadHitPackagingTypesModuleAsChild() {\n return Promise.resolve(HitPackagingTypesModule);\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { PackagingMaterialService, PackagingTypeService } from '@proxy/controllers';\nimport { PackagingMaterialDto } from '@proxy/packaging-materials/dtos';\nimport { PackagingTypeDto } from '@proxy/packaging-types/dtos';\n\n@Component({\n selector: 'lib-packaging-material-form',\n templateUrl: './packaging-material-form.component.html',\n})\nexport class PackagingMaterialFormComponent implements OnInit, OnChanges {\n @Input() visible = false;\n @Input() mode: 'create' | 'edit' = 'create';\n @Input() current: PackagingMaterialDto | null = null;\n\n @Output() visibleChange = new EventEmitter<boolean>();\n @Output() saved = new EventEmitter<void>();\n\n form!: FormGroup;\n saving = false;\n packagingTypes: PackagingTypeDto[] = [];\n\n constructor(\n private readonly fb: FormBuilder,\n private readonly service: PackagingMaterialService,\n private readonly packagingTypeService: PackagingTypeService,\n ) {}\n\n ngOnInit(): void {\n this.buildForm();\n this.loadPackagingTypes();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['current'] || changes['mode']) {\n this.buildForm();\n }\n }\n\n private buildForm(): void {\n this.form = this.fb.group({\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(100)]],\n typeCode: [this.current?.typeCode ?? '', Validators.required],\n });\n }\n\n get title(): string {\n return this.mode === 'create'\n ? 'Keops::PackagingMaterials:CreateTitle'\n : 'Keops::PackagingMaterials:EditTitle';\n }\n\n onVisibleChange(value: boolean): void {\n this.visible = value;\n this.visibleChange.emit(value);\n }\n\n private loadPackagingTypes(): void {\n this.packagingTypeService.getList().subscribe(data => {\n this.packagingTypes = data;\n });\n }\n\n save(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return;\n }\n\n const value = this.form.value;\n\n this.saving = true;\n\n const request$ =\n this.mode === 'create'\n ? this.service.create(value)\n : this.service.update(this.current!.code!, value);\n\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\n next: () => {\n this.saved.emit();\n this.visible = false;\n this.visibleChange.emit(false);\n },\n });\n }\n}\n","<abp-modal\n [(visible)]=\"visible\"\n (visibleChange)=\"onVisibleChange($event)\"\n [busy]=\"saving\"\n [options]=\"{ size: 'md' }\"\n>\n <ng-template #abpHeader>\n <h3>{{ title | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"mb-3\">\n <label for=\"name\" class=\"form-label\">\n {{ 'Keops::PackagingMaterials:Name' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\n </div>\n\n <div class=\"mb-3\">\n <label for=\"type\" class=\"form-label\">\n {{ 'Keops::PackagingMaterials:Type' | abpLocalization }}\n <span class=\"text-danger\">*</span>\n </label>\n <select id=\"type\" class=\"form-select\" formControlName=\"typeCode\">\n <option value=\"\">{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\n <option *ngFor=\"let packagingType of packagingTypes\" [value]=\"packagingType.code\">\n {{ packagingType.name }}\n </option>\n </select>\n </div>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\n {{ 'AbpUi::Cancel' | abpLocalization }}\n </button>\n <abp-button\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary\"\n [loading]=\"saving\"\n [disabled]=\"form?.invalid\"\n (click)=\"save()\"\n >\n {{ 'AbpUi::Save' | abpLocalization }}\n </abp-button>\n </ng-template>\n</abp-modal>\n","import { Component, OnInit } from '@angular/core';\nimport { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\nimport { PackagingMaterialService } from '@proxy/controllers';\nimport { PackagingMaterialDto } from '@proxy/packaging-materials/dtos';\n\n@Component({\n selector: 'lib-packaging-materials',\n templateUrl: './packaging-materials.component.html',\n})\nexport class PackagingMaterialsComponent implements OnInit {\n items: PackagingMaterialDto[] = [];\n\n selected: PackagingMaterialDto | null = null;\n formVisible = false;\n formMode: 'create' | 'edit' = 'create';\n\n constructor(\n private readonly service: PackagingMaterialService,\n private readonly toaster: ToasterService,\n private readonly confirmation: ConfirmationService,\n ) {}\n\n ngOnInit(): void {\n this.loadList();\n }\n\n loadList(): void {\n this.service.getList().subscribe(data => {\n this.items = data;\n });\n }\n\n openCreate(): void {\n this.selected = null;\n this.formMode = 'create';\n this.formVisible = true;\n }\n\n openEdit(row: PackagingMaterialDto): void {\n this.selected = row;\n this.formMode = 'edit';\n this.formVisible = true;\n }\n\n onSaved(): void {\n this.formVisible = false;\n this.selected = null;\n this.toaster.success('AbpUi::SuccessfullySaved');\n this.loadList();\n }\n\n remove(row: PackagingMaterialDto): void {\n this.confirmation\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\n .subscribe(status => {\n if (status === Confirmation.Status.confirm) {\n this.service.delete(row.code!).subscribe({\n next: () => {\n this.toaster.success('AbpUi::SuccessfullyDeleted');\n this.loadList();\n },\n });\n }\n });\n }\n}\n","<abp-page [title]=\"'Keops::PackagingMaterials:Title' | abpLocalization\">\n <abp-page-toolbar-container class=\"col\">\n <div class=\"row justify-content-end mx-0\" id=\"PackagingMaterialsToolbar\">\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\n <button\n *abpPermission=\"'KeopsCost.PackagingMaterials.Create'\"\n id=\"create\"\n class=\"btn btn-primary\"\n type=\"button\"\n (click)=\"openCreate()\"\n >\n <i class=\"fa fa-plus me-1\"></i>\n <span>{{ 'Keops::PackagingMaterials:New' | abpLocalization }}</span>\n </button>\n </div>\n </div>\n </abp-page-toolbar-container>\n\n <div id=\"PackagingMaterialsWrapper\">\n <div class=\"card\">\n <div class=\"card-body\">\n <dx-data-grid\n [columnAutoWidth]=\"true\"\n [showBorders]=\"true\"\n [showRowLines]=\"true\"\n [hoverStateEnabled]=\"true\"\n [allowColumnResizing]=\"true\"\n [rowAlternationEnabled]=\"true\"\n [dataSource]=\"items\"\n keyExpr=\"code\"\n columnResizingMode=\"widget\"\n >\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\n <dxo-search-panel\n [width]=\"200\"\n [visible]=\"true\"\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\n ></dxo-search-panel>\n <dxo-pager\n [visible]=\"true\"\n [showInfo]=\"true\"\n [allowedPageSizes]=\"[10, 20, 50]\"\n [showPageSizeSelector]=\"true\"\n [showNavigationButtons]=\"true\"\n ></dxo-pager>\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\n <dxi-column\n [fixed]=\"true\"\n [allowFiltering]=\"false\"\n [allowHeaderFiltering]=\"false\"\n [allowReordering]=\"false\"\n [allowHiding]=\"false\"\n [allowGrouping]=\"false\"\n [allowSorting]=\"false\"\n cellTemplate=\"optTpl\"\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\n width=\"120\"\n >\n <div *dxTemplate=\"let row of 'optTpl'\">\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\n <i class=\"fa fa-cog me-1\"></i>\n {{ 'AbpUi::Actions' | abpLocalization }}\n </button>\n <div ngbDropdownMenu>\n <button\n *abpPermission=\"'KeopsCost.PackagingMaterials.Update'\"\n ngbDropdownItem\n (click)=\"openEdit(row.data)\"\n >\n {{ 'AbpUi::Edit' | abpLocalization }}\n </button>\n <button\n *abpPermission=\"'KeopsCost.PackagingMaterials.Delete'\"\n ngbDropdownItem\n (click)=\"remove(row.data)\"\n >\n {{ 'AbpUi::Delete' | abpLocalization }}\n </button>\n </div>\n </div>\n </div>\n </dxi-column>\n <dxi-column\n dataField=\"name\"\n caption=\"{{ 'Keops::PackagingMaterials:Name' | abpLocalization }}\"\n ></dxi-column>\n <dxi-column\n dataField=\"typeName\"\n caption=\"{{ 'Keops::PackagingMaterials:Type' | abpLocalization }}\"\n ></dxi-column>\n </dx-data-grid>\n </div>\n </div>\n </div>\n</abp-page>\n\n<lib-packaging-material-form\n *ngIf=\"formVisible\"\n [(visible)]=\"formVisible\"\n [mode]=\"formMode\"\n [current]=\"selected\"\n (saved)=\"onSaved()\"\n></lib-packaging-material-form>\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { PackagingMaterialsComponent } from './components/packaging-materials.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: PackagingMaterialsComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.PackagingMaterials',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitPackagingMaterialsRoutingModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { CommercialUiModule } from '@volo/abp.commercial.ng.ui';\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\nimport { PackagingMaterialsComponent } from './components/packaging-materials.component';\nimport { PackagingMaterialFormComponent } from './components/packaging-material-form.component';\nimport { HitPackagingMaterialsRoutingModule } from './hit-packaging-materials-routing.module';\nimport { DxDataGridModule } from 'devextreme-angular';\n\n@NgModule({\n declarations: [PackagingMaterialsComponent, PackagingMaterialFormComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n CommercialUiModule,\n NgbDropdownModule,\n HitPackagingMaterialsRoutingModule,\n DxDataGridModule,\n ],\n})\nexport class HitPackagingMaterialsModule {}\n\nexport function loadHitPackagingMaterialsModuleAsChild() {\n return Promise.resolve(HitPackagingMaterialsModule);\n}\n","/**\n * Trims a backend ISO date/datetime string (e.g. `2026-06-22T00:00:00`) to a date-only\n * `yyyy-MM-dd` string, the shape dx-date-box uses with `dateSerializationFormat=\"yyyy-MM-dd\"`.\n * Returns null for empty input (dx-date-box wants null, not '').\n *\n * Slicing is intentional: ISO 8601 always starts with `yyyy-MM-dd`, so this is timezone-safe\n * (unlike going through a `Date`, which would shift the day across time zones).\n */\nexport function toDateOnly(value: string | null | undefined): string | null {\n return value ? value.slice(0, 10) : null;\n}\n","import { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport {\n PackagingPriceCreateDto,\n PackagingPriceDto,\n PackagingPriceLineInputDto,\n} from '@proxy/packaging-prices/dtos';\nimport { toDateOnly } from '../../utils/date.utils';\nimport { LineRow } from './packaging-price-lines.builder';\n\n// Single source for the document fields: build the form and map it back to the DTO here.\n// Create/Update DTOs are structurally identical, so the create shape fits both.\nexport function createPackagingPriceForm(\n fb: FormBuilder,\n current: PackagingPriceDto | null,\n mode: 'create' | 'edit',\n): FormGroup {\n return fb.group({\n name: [current?.name ?? '', [Validators.required, Validators.maxLength(100)]],\n materialTypeCode: [\n { value: current?.materialTypeCode ?? null, disabled: mode === 'edit' },\n Validators.required,\n ],\n fromDate: [toDateOnly(current?.fromDate), Validators.required],\n toDate: [toDateOnly(current?.toDate), Validators.required],\n usdRate: [current?.usdRate ?? 0, Validators.required],\n eurRate: [current?.eurRate ?? 0, Validators.required],\n });\n}\n\nexport function toPackagingPriceInput(form: FormGroup, lineRows: LineRow[]): PackagingPriceCreateDto {\n const raw = form.getRawValue();\n\n return {\n name: raw.name,\n materialTypeCode: raw.materialTypeCode,\n fromDate: raw.fromDate || undefined,\n toDate: raw.toDate || undefined,\n usdRate: raw.usdRate,\n eurRate: raw.eurRate,\n // The line group's fields map 1:1 onto PackagingPriceLineInputDto, so its raw value is the DTO.\n lines: lineRows.map(row => row.group.getRawValue() as PackagingPriceLineInputDto),\n };\n}\n","import { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Rest, RestService } from '@abp/ng.core';\nimport { PackagingPriceService } from '@proxy/controllers';\nimport { PackagingPriceLineInputDto } from '@proxy/packaging-prices/dtos';\n\n@Injectable({ providedIn: 'root' })\nexport class PackagingPriceExcelService {\n // ABP 6.0.x can't generate a client for IRemoteStreamContent uploads (abpframework/abp#8581),\n // so importLines posts FormData by hand in the shape ABP would generate.\n private readonly apiName = 'KadoogluKeops';\n\n constructor(\n private readonly service: PackagingPriceService,\n private readonly restService: RestService,\n ) {}\n\n exportLines(\n docEntry: number | undefined,\n materialTypeCode: string | undefined,\n ): Observable<Blob> {\n return this.service.getLinesAsExcelFile({ docEntry, materialTypeCode });\n }\n\n importLines(file: File, config?: Partial<Rest.Config>): Observable<PackagingPriceLineInputDto[]> {\n const formData = new FormData();\n formData.append('file', file, file.name);\n\n return this.restService.request<FormData, PackagingPriceLineInputDto[]>(\n {\n method: 'POST',\n url: '/api/kadoogluKeops/packaging-prices/import-lines-from-excel',\n body: formData,\n },\n { apiName: this.apiName, ...config },\n );\n }\n}\n","import { Currency } from '@proxy/currencies/currency.enum';\r\n\r\nexport interface PackagingPriceConversion {\r\n tryPrice: number;\r\n usdPrice: number;\r\n eurPrice: number;\r\n}\r\n\r\nfunction roundTo4Decimals(value: number): number {\r\n return Math.round((value + Number.EPSILON) * 10000) / 10000;\r\n}\r\n\r\n/** Pure currency conversion for a packaging price line; no Angular-forms dependency. */\r\nexport function computePackagingPriceConversion(\r\n price: number,\r\n currency: Currency,\r\n usdRate: number,\r\n eurRate: number,\r\n): PackagingPriceConversion {\r\n const p = Number(price) || 0;\r\n const usd = Number(usdRate) || 0;\r\n const eur = Number(eurRate) || 0;\r\n\r\n let tryPrice = 0;\r\n let usdPrice = 0;\r\n let eurPrice = 0;\r\n\r\n if (usd > 0 && eur > 0) {\r\n if (currency === Currency.USD) {\r\n usdPrice = p;\r\n tryPrice = p * usd;\r\n eurPrice = tryPrice / eur;\r\n } else if (currency === Currency.EUR) {\r\n eurPrice = p;\r\n tryPrice = p * eur;\r\n usdPrice = tryPrice / usd;\r\n } else {\r\n tryPrice = p;\r\n usdPrice = p / usd;\r\n eurPrice = p / eur;\r\n }\r\n }\r\n\r\n return {\r\n tryPrice: roundTo4Decimals(tryPrice),\r\n usdPrice: roundTo4Decimals(usdPrice),\r\n eurPrice: roundTo4Decimals(eurPrice),\r\n };\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { PackagingPriceLineDto } from '@proxy/packaging-prices/dtos';\nimport { Currency } from '@proxy/currencies/currency.enum';\nimport { computePackagingPriceConversion } from './packaging-price-calculator';\n\nexport interface LineRow {\n group: FormGroup;\n materialCode: string;\n materialName: string;\n}\n\nexport interface RateSnapshot {\n usdRate: number;\n eurRate: number;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class PackagingPriceLinesBuilder {\n constructor(private readonly fb: FormBuilder) {}\n\n // getRates is read lazily so each recompute uses the document's current USD/EUR rates.\n build(line: PackagingPriceLineDto, getRates: () => RateSnapshot): LineRow {\n const group = this.fb.group({\n materialCode: [line.materialCode ?? '', Validators.required],\n price: [line.price ?? 0, Validators.required],\n currency: [line.currency ?? Currency.TRY, Validators.required],\n tryPrice: [line.tryPrice ?? 0],\n usdPrice: [line.usdPrice ?? 0],\n eurPrice: [line.eurPrice ?? 0],\n });\n\n // Recompute only on price/currency; editing an equivalent directly must not cascade back.\n group.get('price')!.valueChanges.subscribe(() => this.compute(group, getRates()));\n group.get('currency')!.valueChanges.subscribe(() => this.compute(group, getRates()));\n\n // Auto-fill only when nothing was saved yet, so a reload keeps the user's edited values.\n const hasSavedEquivalents =\n (line.tryPrice ?? 0) !== 0 || (line.usdPrice ?? 0) !== 0 || (line.eurPrice ?? 0) !== 0;\n if (!hasSavedEquivalents) {\n this.compute(group, getRates());\n }\n\n return {\n group,\n materialCode: line.materialCode ?? '',\n materialName: line.materialName ?? '',\n };\n }\n\n recompute(rows: LineRow[], rates: RateSnapshot): void {\n rows.forEach(row => this.compute(row.group, rates));\n }\n\n private compute(group: FormGroup, rates: RateSnapshot): void {\n const conversion = computePackagingPriceConversion(\n group.get('price')!.value,\n group.get('currency')!.value,\n rates.usdRate,\n rates.eurRate,\n );\n\n group.patchValue(conversion, { emitEvent: false });\n }\n}\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n Output,\r\n SimpleChanges,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { LocalizationService } from '@abp/ng.core';\r\nimport { LineRow } from '../packaging-price-lines.builder';\r\nimport { CurrencyOption } from '../../../utils/currency.utils';\r\n\r\n@Component({\r\n selector: 'lib-packaging-price-lines',\r\n templateUrl: './packaging-price-lines.component.html',\r\n})\r\nexport class PackagingPriceLinesComponent implements OnChanges {\r\n @Input() rows: LineRow[] = [];\r\n @Input() currencyOptions: CurrencyOption[] = [];\r\n @Input() exporting = false;\r\n @Input() importing = false;\r\n // Only used to gate the Excel buttons (export/import act on the selected type).\r\n @Input() selectedTypeCode: string | null = null;\r\n @Output() exportClick = new EventEmitter<void>();\r\n @Output() importFile = new EventEmitter<File>();\r\n\r\n @ViewChild('fileInput') private fileInput?: ElementRef<HTMLInputElement>;\r\n\r\n private grid?: { repaint(): void };\r\n\r\n constructor(private readonly localization: LocalizationService) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n // onToolbarPreparing runs once; repaint so the Excel buttons reflect the new selection state.\r\n if (changes['selectedTypeCode'] && this.grid) {\r\n this.grid.repaint();\r\n }\r\n }\r\n\r\n get canUseExcel(): boolean {\r\n return !!this.selectedTypeCode;\r\n }\r\n\r\n onToolbarPreparing(e: any): void {\r\n this.grid = e.component;\r\n\r\n e.toolbarOptions.items.unshift(\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'exportxlsx',\r\n text: this.localization.instant('Keops::Excel:Export'),\r\n type: 'success',\r\n disabled: this.exporting || !this.canUseExcel,\r\n onClick: () => this.exportClick.emit(),\r\n },\r\n },\r\n {\r\n location: 'before',\r\n widget: 'dxButton',\r\n options: {\r\n icon: 'upload',\r\n text: this.localization.instant('Keops::Excel:Import'),\r\n type: 'default',\r\n disabled: this.importing || !this.canUseExcel,\r\n onClick: () => this.fileInput?.nativeElement.click(),\r\n },\r\n },\r\n );\r\n }\r\n\r\n onFileSelected(event: Event): void {\r\n const input = event.target as HTMLInputElement;\r\n const file = input.files?.[0];\r\n if (file) {\r\n this.importFile.emit(file);\r\n }\r\n input.value = '';\r\n }\r\n\r\n control(group: FormGroup, name: string): FormControl {\r\n return group.get(name) as FormControl;\r\n }\r\n}\r\n","<input\r\n #fileInput\r\n type=\"file\"\r\n class=\"d-none\"\r\n accept=\".xlsx\"\r\n (change)=\"onFileSelected($event)\"\r\n/>\r\n\r\n<dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"rows\"\r\n (onToolbarPreparing)=\"onToolbarPreparing($event)\"\r\n>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\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-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\"></dxo-search-panel>\r\n\r\n\r\n <dxi-column\r\n cellTemplate=\"seqTpl\"\r\n width=\"80\"\r\n caption=\"{{ 'Keops::PackagingPrices:SequenceNo' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'seqTpl'\">\r\n {{ row.rowIndex + 1 }}\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"materialName\"\r\n caption=\"{{ 'Keops::PackagingMaterials:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n\r\n <dxi-column\r\n cellTemplate=\"priceTpl\"\r\n caption=\"{{ 'Keops::PackagingPrices:Price' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'priceTpl'\">\r\n <input\r\n type=\"number\"\r\n step=\"any\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"control(row.data.group, 'price')\"\r\n />\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n cellTemplate=\"currencyTpl\"\r\n width=\"110\"\r\n caption=\"{{ 'Keops::PackagingPrices:Currency' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'currencyTpl'\">\r\n <select class=\"form-select form-select-sm\" [formControl]=\"control(row.data.group, 'currency')\">\r\n <option *ngFor=\"let currency of currencyOptions\" [ngValue]=\"currency.value\">\r\n {{ currency.label }}\r\n </option>\r\n </select>\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column cellTemplate=\"tryPriceTpl\" caption=\"TRY\">\r\n <div *dxTemplate=\"let row of 'tryPriceTpl'\">\r\n <input\r\n type=\"number\"\r\n step=\"any\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"control(row.data.group, 'tryPrice')\"\r\n />\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column cellTemplate=\"usdPriceTpl\" caption=\"USD\">\r\n <div *dxTemplate=\"let row of 'usdPriceTpl'\">\r\n <input\r\n type=\"number\"\r\n step=\"any\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"control(row.data.group, 'usdPrice')\"\r\n />\r\n </div>\r\n </dxi-column>\r\n\r\n <dxi-column cellTemplate=\"eurPriceTpl\" caption=\"EUR\">\r\n <div *dxTemplate=\"let row of 'eurPriceTpl'\">\r\n <input\r\n type=\"number\"\r\n step=\"any\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"control(row.data.group, 'eurPrice')\"\r\n />\r\n </div>\r\n </dxi-column>\r\n</dx-data-grid>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ExchangeRateService, PackagingPriceService } from '@proxy/controllers';\r\nimport { PackagingPriceDto } from '@proxy/packaging-prices/dtos';\r\nimport { PackagingTypeDto } from '@proxy/packaging-types/dtos';\r\nimport { ExchangeRateSource } from '@proxy/exchange-rates/exchange-rate-source.enum';\r\nimport { PackagingPriceExcelService } from '../packaging-price-excel.service';\r\nimport {\r\n LineRow,\r\n PackagingPriceLinesBuilder,\r\n RateSnapshot,\r\n} from '../packaging-price-lines.builder';\r\nimport {\r\n createPackagingPriceForm,\r\n toPackagingPriceInput,\r\n} from '../packaging-price-form.factory';\r\nimport { downloadBlob, LocalizationService } from '@abp/ng.core';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { CURRENCY_OPTIONS } from '../../../utils/currency.utils';\r\n\r\n@Component({\r\n selector: 'lib-packaging-price-form',\r\n templateUrl: './packaging-price-form.component.html',\r\n})\r\nexport class PackagingPriceFormComponent implements OnInit {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: PackagingPriceDto | null = null;\r\n @Input() typeOptions: PackagingTypeDto[] = [];\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n exporting = false;\r\n importing = false;\r\n lineRows: LineRow[] = [];\r\n\r\n readonly currencyOptions = CURRENCY_OPTIONS;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: PackagingPriceService,\r\n private readonly exchangeRateService: ExchangeRateService,\r\n private readonly excelService: PackagingPriceExcelService,\r\n private readonly linesBuilder: PackagingPriceLinesBuilder,\r\n private readonly localization: LocalizationService,\r\n private readonly toaster: ToasterService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n if (this.mode === 'edit') {\r\n this.loadLines(this.current?.materialTypeCode ?? null);\r\n }\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::PackagingPrices:CreateTitle'\r\n : 'Keops::PackagingPrices:EditTitle';\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = createPackagingPriceForm(this.fb, this.current, this.mode);\r\n\r\n const recompute = () => this.linesBuilder.recompute(this.lineRows, this.rates());\r\n this.form.get('usdRate')!.valueChanges.subscribe(recompute);\r\n this.form.get('eurRate')!.valueChanges.subscribe(recompute);\r\n this.form.get('materialTypeCode')!.valueChanges.subscribe(code => this.loadLines(code));\r\n\r\n if (this.mode === 'create') {\r\n this.prefillRates();\r\n }\r\n }\r\n\r\n private rates(): RateSnapshot {\r\n return {\r\n usdRate: this.form.get('usdRate')!.value,\r\n eurRate: this.form.get('eurRate')!.value,\r\n };\r\n }\r\n\r\n private prefillRates(): void {\r\n this.exchangeRateService.get().subscribe(dto => {\r\n const isCentralBank = dto.source === ExchangeRateSource.CentralBank;\r\n const usdRate = isCentralBank ? dto.cbExchangeRate?.usdBuyingRate : dto.fixedUsdRate;\r\n const eurRate = isCentralBank ? dto.cbExchangeRate?.eurBuyingRate : dto.fixedEurRate;\r\n\r\n this.form.patchValue({\r\n usdRate: usdRate ?? 0,\r\n eurRate: eurRate ?? 0,\r\n });\r\n });\r\n }\r\n\r\n // Loads the type's materials, merged with saved prices on edit (backend does the merge).\r\n private loadLines(materialTypeCode: string | null): void {\r\n if (!materialTypeCode) {\r\n this.lineRows = [];\r\n return;\r\n }\r\n\r\n this.service.getMergedLines(this.current?.docEntry!, materialTypeCode).subscribe(lines => {\r\n this.lineRows = lines.map(line => this.linesBuilder.build(line, () => this.rates()));\r\n });\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n this.saving = true;\r\n\r\n const input = toPackagingPriceInput(this.form, this.lineRows);\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(input)\r\n : this.service.update(this.current!.docEntry!, input);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n\r\n exportToExcel(): void {\r\n this.exporting = true;\r\n this.excelService\r\n .exportLines(this.current?.docEntry, this.form.get('materialTypeCode')!.value ?? undefined)\r\n .pipe(finalize(() => (this.exporting = false)))\r\n .subscribe(blob =>\r\n downloadBlob(blob, `${this.localization.instant('Keops::PackagingPrices:Title')}.xlsx`),\r\n );\r\n }\r\n\r\n // Import only fills the grid: patch parsed rows onto matching lines; the user still saves.\r\n importFromExcel(file: File): void {\r\n this.importing = true;\r\n this.excelService\r\n .importLines(file)\r\n .pipe(finalize(() => (this.importing = false)))\r\n .subscribe(lines => {\r\n const byCode = new Map(lines.map(line => [line.materialCode, line]));\r\n\r\n // Patch the loaded rows by material code; codes not present in the grid are ignored.\r\n let matched = 0;\r\n this.lineRows.forEach(row => {\r\n const imported = byCode.get(row.materialCode);\r\n if (imported) {\r\n row.group.patchValue({ price: imported.price, currency: imported.currency });\r\n matched++;\r\n }\r\n });\r\n\r\n this.toaster.success(\r\n this.localization.instant('Keops::PackagingPrices:ImportSucceeded', `${matched}`),\r\n );\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'xl' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <div class=\"flex-fill position-relative\">\r\n <h3 class=\"mb-0\">{{ title | abpLocalization }}</h3>\r\n <small\r\n class=\"text-muted text-nowrap position-absolute top-50 start-50 translate-middle\"\r\n *ngIf=\"mode === 'edit'\"\r\n >\r\n {{ 'Keops::PackagingPrices:DocNum' | abpLocalization }}: {{ current?.docNum ?? '-' }} ·\r\n {{ 'Keops::PackagingPrices:DocDate' | abpLocalization }}:\r\n {{ (current?.docDate! | shortDate) ?? '-' }}\r\n </small>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n </div>\r\n <div class=\"col-md-6\">\r\n <div class=\"mb-3\">\r\n <label for=\"materialTypeCode\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:Type' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"materialTypeCode\" class=\"form-select\" formControlName=\"materialTypeCode\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let type of typeOptions\" [ngValue]=\"type.code\">\r\n {{ type.name }}\r\n </option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-3\">\r\n <div class=\"mb-3\">\r\n <label for=\"fromDate\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:FromDate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-date-box\r\n id=\"fromDate\"\r\n type=\"date\"\r\n dateSerializationFormat=\"yyyy-MM-dd\"\r\n formControlName=\"fromDate\"\r\n ></dx-date-box>\r\n </div>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <div class=\"mb-3\">\r\n <label for=\"toDate\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:ToDate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <dx-date-box\r\n id=\"toDate\"\r\n type=\"date\"\r\n dateSerializationFormat=\"yyyy-MM-dd\"\r\n formControlName=\"toDate\"\r\n ></dx-date-box>\r\n </div>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <div class=\"mb-3\">\r\n <label for=\"usdRate\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:UsdRate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"usdRate\"\r\n type=\"number\"\r\n step=\"any\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"usdRate\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"col-md-3\">\r\n <div class=\"mb-3\">\r\n <label for=\"eurRate\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:EurRate' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"eurRate\"\r\n type=\"number\"\r\n step=\"any\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"eurRate\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <div class=\"mb-3\">\r\n <label for=\"fromDate\" class=\"form-label\">\r\n {{ 'Keops::PackagingPrices:Lines' | abpLocalization }}\r\n </label>\r\n <lib-packaging-price-lines\r\n [rows]=\"lineRows\"\r\n [currencyOptions]=\"currencyOptions\"\r\n [exporting]=\"exporting\"\r\n [importing]=\"importing\"\r\n [selectedTypeCode]=\"form.get('materialTypeCode')?.value\"\r\n (exportClick)=\"exportToExcel()\"\r\n (importFile)=\"importFromExcel($event)\"\r\n ></lib-packaging-price-lines>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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 { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { PackagingPriceService, PackagingTypeService } from '@proxy/controllers';\r\nimport { PackagingPriceDto } from '@proxy/packaging-prices/dtos';\r\nimport { PackagingTypeDto } from '@proxy/packaging-types/dtos';\r\n\r\n@Component({\r\n selector: 'lib-packaging-prices',\r\n templateUrl: './packaging-prices.component.html',\r\n})\r\nexport class PackagingPricesComponent implements OnInit {\r\n items: PackagingPriceDto[] = [];\r\n // Loaded once here so the form's Cins dropdown already has its options when the modal opens.\r\n typeOptions: PackagingTypeDto[] = [];\r\n\r\n selected: PackagingPriceDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: PackagingPriceService,\r\n private readonly packagingTypeService: PackagingTypeService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n this.packagingTypeService.getList().subscribe(types => (this.typeOptions = types));\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: PackagingPriceDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n updateSapItemPrices(row: PackagingPriceDto): void {\r\n this.confirmation\r\n .warn('Keops::PackagingPrices:UpdateSapItemPricesConfirm', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.updateSapItemPrices(row.docEntry!).subscribe({\r\n next: () => {\r\n this.toaster.success('Keops::PackagingPrices:UpdateSapItemPricesSucceeded');\r\n },\r\n });\r\n }\r\n });\r\n }\r\n\r\n remove(row: PackagingPriceDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.docEntry!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::PackagingPrices:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"PackagingPricesToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.PackagingPrices.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::PackagingPrices:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n <div id=\"PackagingPricesWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"docEntry\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.PackagingPrices.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsCost.PackagingPrices.UpdateSapItemPrices'\"\r\n ngbDropdownItem\r\n (click)=\"updateSapItemPrices(row.data)\"\r\n >\r\n {{ 'Keops::PackagingPrices:UpdateSapItemPrices' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsCost.PackagingPrices.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"docNum\"\r\n caption=\"{{ 'Keops::PackagingPrices:DocNum' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::PackagingPrices:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"materialTypeCode\"\r\n caption=\"{{ 'Keops::PackagingPrices:Type' | abpLocalization }}\"\r\n >\r\n <dxo-lookup\r\n [dataSource]=\"typeOptions\"\r\n valueExpr=\"code\"\r\n displayExpr=\"name\"\r\n ></dxo-lookup>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"docDate\"\r\n dataType=\"date\"\r\n caption=\"{{ 'Keops::PackagingPrices:DocDate' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"fromDate\"\r\n dataType=\"date\"\r\n caption=\"{{ 'Keops::PackagingPrices:FromDate' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"toDate\"\r\n dataType=\"date\"\r\n caption=\"{{ 'Keops::PackagingPrices:ToDate' | abpLocalization }}\"\r\n ></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-packaging-price-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [typeOptions]=\"typeOptions\"\r\n (saved)=\"onSaved()\"\r\n></lib-packaging-price-form>\r\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\nimport { PackagingPricesComponent } from './components/packaging-prices.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: PackagingPricesComponent,\n canActivate: [AuthGuard, PermissionGuard],\n data: {\n requiredPolicy: 'KeopsCost.PackagingPrices',\n },\n },\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class HitPackagingPricesRoutingModule {}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PackagingPricesComponent } from './components/packaging-prices.component';\r\nimport { PackagingPriceFormComponent } from './components/packaging-price-form.component';\r\nimport { PackagingPriceLinesComponent } from './components/packaging-price-lines.component';\r\nimport { HitPackagingPricesRoutingModule } from './hit-packaging-prices-routing.module';\r\nimport { DxDataGridModule, DxDateBoxModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [\r\n PackagingPricesComponent,\r\n PackagingPriceFormComponent,\r\n PackagingPriceLinesComponent,\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n NgbNavModule,\r\n HitPackagingPricesRoutingModule,\r\n DxDataGridModule,\r\n DxDateBoxModule,\r\n ],\r\n})\r\nexport class HitPackagingPricesModule {}\r\n\r\nexport function loadHitPackagingPricesModuleAsChild() {\r\n return Promise.resolve(HitPackagingPricesModule);\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { PriceParameterTypeService } from '@proxy/controllers';\r\nimport { PriceParameterTypeDto } from '@proxy/price-parameter-types/dtos';\r\n\r\n@Component({\r\n selector: 'lib-price-parameter-type-form',\r\n templateUrl: './price-parameter-type-form.component.html',\r\n})\r\nexport class PriceParameterTypeFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: PriceParameterTypeDto | null = null;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: PriceParameterTypeService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current'] || changes['mode']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(200)]],\r\n isActive: [this.current?.isActive ?? true],\r\n description: [this.current?.description ?? '', [Validators.maxLength(500)]],\r\n });\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::PriceParameterTypes:CreateTitle'\r\n : 'Keops::PriceParameterTypes:EditTitle';\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.form.value;\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create({ name: value.name, description: value.description })\r\n : this.service.update(this.current!.code!, value);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::PriceParameterTypes:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input id=\"name\" type=\"text\" class=\"form-control\" formControlName=\"name\" />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <div class=\"form-check\">\r\n <input\r\n id=\"isActive\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n formControlName=\"isActive\"\r\n />\r\n <label for=\"isActive\" class=\"form-check-label\">\r\n {{ 'Keops::PriceParameterTypes:IsActive' | abpLocalization }}?\r\n </label>\r\n </div>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"description\" class=\"form-label\">\r\n {{ 'Keops::PriceParameterTypes:Description' | abpLocalization }}\r\n </label>\r\n <textarea\r\n id=\"description\"\r\n class=\"form-control\"\r\n rows=\"3\"\r\n formControlName=\"description\"\r\n ></textarea>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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 { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';\r\nimport { PriceParameterTypeService } from '@proxy/controllers';\r\nimport { PriceParameterTypeDto } from '@proxy/price-parameter-types/dtos';\r\n\r\n@Component({\r\n selector: 'lib-price-parameter-types',\r\n templateUrl: './price-parameter-types.component.html',\r\n})\r\nexport class PriceParameterTypesComponent implements OnInit {\r\n items: PriceParameterTypeDto[] = [];\r\n\r\n selected: PriceParameterTypeDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: PriceParameterTypeService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: PriceParameterTypeDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: PriceParameterTypeDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::PriceParameterTypes:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"PriceParameterTypesToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.PriceParameterTypes.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::PriceParameterTypes:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"PriceParameterTypesWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.PriceParameterTypes.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsCost.PriceParameterTypes.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::PriceParameterTypes:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"isActive\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::PriceParameterTypes:IsActive' | abpLocalization }}\"\r\n width=\"100\"\r\n alignment=\"center\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i [class]=\"row.data.isActive ? 'fa fa-check text-success' : 'fa fa-times text-danger'\"></i>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"description\"\r\n caption=\"{{ 'Keops::PriceParameterTypes:Description' | abpLocalization }}\"\r\n ></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-price-parameter-type-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-price-parameter-type-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { PriceParameterTypesComponent } from './components/price-parameter-types.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PriceParameterTypesComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsCost.PriceParameterTypes',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitPriceParameterTypesRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DxDataGridModule } from 'devextreme-angular';\r\nimport { PriceParameterTypesComponent } from './components/price-parameter-types.component';\r\nimport { PriceParameterTypeFormComponent } from './components/price-parameter-type-form.component';\r\nimport { HitPriceParameterTypesRoutingModule } from './hit-price-parameter-types-routing.module';\r\n\r\n@NgModule({\r\n declarations: [PriceParameterTypesComponent, PriceParameterTypeFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n HitPriceParameterTypesRoutingModule,\r\n DxDataGridModule,\r\n ],\r\n})\r\nexport class HitPriceParameterTypesModule {}\r\n\r\nexport function loadHitPriceParameterTypesModuleAsChild() {\r\n return Promise.resolve(HitPriceParameterTypesModule);\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 { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { SapSalesPersonService } from '@proxy/controllers';\r\nimport { SapSalesPersonDto } from '@proxy/sales-persons/dtos';\r\nimport { IdentityUserDto } from '@volo/abp.ng.identity/proxy';\r\n\r\n@Component({\r\n selector: 'lib-sap-sales-person-form',\r\n templateUrl: './sap-sales-person-form.component.html',\r\n})\r\nexport class SapSalesPersonFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() current: SapSalesPersonDto | null = null;\r\n @Input() abpUsers: IdentityUserDto[] = [];\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: SapSalesPersonService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n abpUserId: [this.current?.abpUserId ?? null],\r\n });\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n userDisplayExpr = (user: IdentityUserDto): string => (user ? user.name || user.userName || '' : '');\r\n\r\n save(): void {\r\n const value = this.form.value;\r\n\r\n this.saving = true;\r\n\r\n this.service\r\n .update(this.current!.salesEmployeeCode!, value)\r\n .pipe(finalize(() => (this.saving = false)))\r\n .subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ 'Keops::SalesPersons:EditTitle' | abpLocalization }} — {{ current?.salesEmployeeName }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"abpUserId\" class=\"form-label\">\r\n {{ 'Keops::SalesPersons:AbpUser' | abpLocalization }}\r\n </label>\r\n <dx-select-box\r\n id=\"abpUserId\"\r\n formControlName=\"abpUserId\"\r\n [dataSource]=\"abpUsers\"\r\n valueExpr=\"id\"\r\n [displayExpr]=\"userDisplayExpr\"\r\n [searchEnabled]=\"true\"\r\n [searchExpr]=\"['name', 'userName']\"\r\n searchMode=\"contains\"\r\n [searchTimeout]=\"200\"\r\n [minSearchLength]=\"0\"\r\n [showDataBeforeSearch]=\"true\"\r\n [showClearButton]=\"true\"\r\n [placeholder]=\"'Keops::SelectAnOption' | abpLocalization\"\r\n ></dx-select-box>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n (click)=\"save()\"\r\n >\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 { ToasterService } from '@abp/ng.theme.shared';\r\nimport { SapSalesPersonService } from '@proxy/controllers';\r\nimport { SapSalesPersonDto } from '@proxy/sales-persons/dtos';\r\nimport { IdentityUserService } from '@volo/abp.ng.identity/proxy';\r\nimport { IdentityUserDto } from '@volo/abp.ng.identity/proxy';\r\n\r\n@Component({\r\n selector: 'lib-sap-sales-persons',\r\n templateUrl: './sap-sales-persons.component.html',\r\n})\r\nexport class SapSalesPersonsComponent implements OnInit {\r\n items: SapSalesPersonDto[] = [];\r\n abpUsers: IdentityUserDto[] = [];\r\n\r\n selected: SapSalesPersonDto | null = null;\r\n formVisible = false;\r\n\r\n constructor(\r\n private readonly service: SapSalesPersonService,\r\n private readonly identityUserService: IdentityUserService,\r\n private readonly toaster: ToasterService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.identityUserService.getList({ maxResultCount: 1000, sorting: 'userName' }).subscribe(result => {\r\n this.abpUsers = result.items;\r\n });\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openEdit(row: SapSalesPersonDto): void {\r\n this.selected = row;\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n getUserName = (user: IdentityUserDto): string => (user ? user.name || user.userName || '' : '');\r\n}\r\n","<abp-page [title]=\"'Keops::SalesPersons:Title' | abpLocalization\">\r\n <div id=\"SapSalesPersonsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"salesEmployeeCode\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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]=\"20\"></dxo-paging>\r\n\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsSystem.SalesPersons.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ '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=\"salesEmployeeName\"\r\n caption=\"{{ 'Keops::SalesPersons:SalesEmployeeName' | abpLocalization }}\"\r\n ></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"abpUserId\"\r\n caption=\"{{ 'Keops::SalesPersons:AbpUser' | abpLocalization }}\"\r\n >\r\n <dxo-lookup [dataSource]=\"abpUsers\" valueExpr=\"id\" [displayExpr]=\"getUserName\"></dxo-lookup>\r\n </dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"remarks\"\r\n caption=\"{{ 'Keops::SalesPersons:Remarks' | abpLocalization }}\"\r\n ></dxi-column>\r\n\r\n <dxi-column\r\n dataField=\"isActive\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::SalesPersons:IsActive' | abpLocalization }}\"\r\n width=\"100\"\r\n alignment=\"center\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i [class]=\"row.data.isActive ? 'fa fa-check text-success' : 'fa fa-times text-danger'\"></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-sap-sales-person-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [current]=\"selected\"\r\n [abpUsers]=\"abpUsers\"\r\n (saved)=\"onSaved()\"\r\n></lib-sap-sales-person-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { SapSalesPersonsComponent } from './components/sap-sales-persons.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: SapSalesPersonsComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsSystem.SalesPersons',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitSapSalesPersonsRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DxDataGridModule, DxSelectBoxModule } from 'devextreme-angular';\r\nimport { SapSalesPersonsComponent } from './components/sap-sales-persons.component';\r\nimport { SapSalesPersonFormComponent } from './components/sap-sales-person-form.component';\r\nimport { HitSapSalesPersonsRoutingModule } from './hit-sap-sales-persons-routing.module';\r\n\r\n@NgModule({\r\n declarations: [SapSalesPersonsComponent, SapSalesPersonFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n HitSapSalesPersonsRoutingModule,\r\n DxDataGridModule,\r\n DxSelectBoxModule,\r\n ],\r\n})\r\nexport class HitSapSalesPersonsModule {}\r\n\r\nexport function loadHitSapSalesPersonsModuleAsChild() {\r\n return Promise.resolve(HitSapSalesPersonsModule);\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ContainerDefinitionService } from '@proxy/controllers';\r\nimport { ContainerDefinitionDto } from '@proxy/container-definitions/dtos';\r\n\r\n@Component({\r\n selector: 'lib-container-definition-form',\r\n templateUrl: './container-definition-form.component.html',\r\n})\r\nexport class ContainerDefinitionFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: ContainerDefinitionDto | null = null;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: ContainerDefinitionService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current'] || changes['mode']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(256)]],\r\n innerVolumeM3: [this.current?.innerVolumeM3 ?? 0, [Validators.required, Validators.min(0)]],\r\n netLoadKg: [this.current?.netLoadKg ?? 0, [Validators.required, Validators.min(0)]],\r\n grossLoadKg: [this.current?.grossLoadKg ?? 0, [Validators.required, Validators.min(0)]],\r\n isActive: [this.current?.isActive ?? true],\r\n });\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::ContainerDefinitions:CreateTitle'\r\n : 'Keops::ContainerDefinitions:EditTitle';\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.form.getRawValue();\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(value)\r\n : this.service.update(this.current!.code!, value);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::ContainerDefinitions:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"innerVolumeM3\" class=\"form-label\">\r\n {{ 'Keops::ContainerDefinitions:InnerVolumeM3' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"innerVolumeM3\"\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"any\"\r\n class=\"form-control\"\r\n formControlName=\"innerVolumeM3\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"netLoadKg\" class=\"form-label\">\r\n {{ 'Keops::ContainerDefinitions:NetLoadKg' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"netLoadKg\"\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"any\"\r\n class=\"form-control\"\r\n formControlName=\"netLoadKg\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"grossLoadKg\" class=\"form-label\">\r\n {{ 'Keops::ContainerDefinitions:GrossLoadKg' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"grossLoadKg\"\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"any\"\r\n class=\"form-control\"\r\n formControlName=\"grossLoadKg\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3 form-check\">\r\n <input\r\n id=\"isActive\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n formControlName=\"isActive\"\r\n />\r\n <label for=\"isActive\" class=\"form-check-label\">\r\n {{ 'Keops::ContainerDefinitions:IsActive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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, Confirmation, ToasterService } from '@abp/ng.theme.shared';\r\nimport { ContainerDefinitionService } from '@proxy/controllers';\r\nimport { ContainerDefinitionDto } from '@proxy/container-definitions/dtos';\r\n\r\n@Component({\r\n selector: 'lib-container-definitions',\r\n templateUrl: './container-definitions.component.html',\r\n})\r\nexport class ContainerDefinitionsComponent implements OnInit {\r\n items: ContainerDefinitionDto[] = [];\r\n\r\n selected: ContainerDefinitionDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: ContainerDefinitionService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: ContainerDefinitionDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: ContainerDefinitionDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::ContainerDefinitions:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerDefinitionsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::ContainerDefinitions:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerDefinitionsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerDefinitions.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"innerVolumeM3\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:InnerVolumeM3' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"netLoadKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:NetLoadKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"grossLoadKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:GrossLoadKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"isActive\"\r\n dataType=\"boolean\"\r\n width=\"110\"\r\n alignment=\"center\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::ContainerDefinitions:IsActive' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i\r\n class=\"fa\"\r\n [class.fa-check]=\"row.data.isActive\"\r\n [class.text-success]=\"row.data.isActive\"\r\n [class.fa-times]=\"!row.data.isActive\"\r\n [class.text-danger]=\"!row.data.isActive\"\r\n ></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-container-definition-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-container-definition-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { ContainerDefinitionsComponent } from './components/container-definitions.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ContainerDefinitionsComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsItemMasterData.ContainerDefinitions',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitContainerDefinitionsRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ContainerDefinitionsComponent } from './components/container-definitions.component';\r\nimport { ContainerDefinitionFormComponent } from './components/container-definition-form.component';\r\nimport { HitContainerDefinitionsRoutingModule } from './hit-container-definitions-routing.module';\r\nimport { DxDataGridModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [ContainerDefinitionsComponent, ContainerDefinitionFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n HitContainerDefinitionsRoutingModule,\r\n DxDataGridModule,\r\n ],\r\n})\r\nexport class HitContainerDefinitionsModule {}\r\n\r\nexport function loadHitContainerDefinitionsModuleAsChild() {\r\n return Promise.resolve(HitContainerDefinitionsModule);\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { PalletDefinitionService } from '@proxy/controllers';\r\nimport { PalletDefinitionDto } from '@proxy/pallet-definitions/dtos';\r\n\r\n@Component({\r\n selector: 'lib-pallet-definition-form',\r\n templateUrl: './pallet-definition-form.component.html',\r\n})\r\nexport class PalletDefinitionFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: PalletDefinitionDto | null = null;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: PalletDefinitionService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current'] || changes['mode']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(256)]],\r\n dimensionCm: [this.current?.dimensionCm ?? '', [Validators.maxLength(64)]],\r\n weightKg: [this.current?.weightKg ?? 0, [Validators.required, Validators.min(0)]],\r\n isActive: [this.current?.isActive ?? true],\r\n });\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::PalletDefinitions:CreateTitle'\r\n : 'Keops::PalletDefinitions:EditTitle';\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.form.getRawValue();\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(value)\r\n : this.service.update(this.current!.code!, value);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"dimensionCm\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:DimensionCm' | abpLocalization }}\r\n </label>\r\n <input\r\n id=\"dimensionCm\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"dimensionCm\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"weightKg\" class=\"form-label\">\r\n {{ 'Keops::PalletDefinitions:WeightKg' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"weightKg\"\r\n type=\"number\"\r\n min=\"0\"\r\n step=\"any\"\r\n class=\"form-control\"\r\n formControlName=\"weightKg\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3 form-check\">\r\n <input\r\n id=\"isActive\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n formControlName=\"isActive\"\r\n />\r\n <label for=\"isActive\" class=\"form-check-label\">\r\n {{ 'Keops::PalletDefinitions:IsActive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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, Confirmation, ToasterService } from '@abp/ng.theme.shared';\r\nimport { PalletDefinitionService } from '@proxy/controllers';\r\nimport { PalletDefinitionDto } from '@proxy/pallet-definitions/dtos';\r\n\r\n@Component({\r\n selector: 'lib-pallet-definitions',\r\n templateUrl: './pallet-definitions.component.html',\r\n})\r\nexport class PalletDefinitionsComponent implements OnInit {\r\n items: PalletDefinitionDto[] = [];\r\n\r\n selected: PalletDefinitionDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: PalletDefinitionService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: PalletDefinitionDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: PalletDefinitionDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::PalletDefinitions:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"PalletDefinitionsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.PalletDefinitions.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::PalletDefinitions:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"PalletDefinitionsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.PalletDefinitions.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.PalletDefinitions.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::PalletDefinitions:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"dimensionCm\"\r\n caption=\"{{ 'Keops::PalletDefinitions:DimensionCm' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"weightKg\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::PalletDefinitions:WeightKg' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"isActive\"\r\n dataType=\"boolean\"\r\n width=\"110\"\r\n alignment=\"center\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::PalletDefinitions:IsActive' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i\r\n class=\"fa\"\r\n [class.fa-check]=\"row.data.isActive\"\r\n [class.text-success]=\"row.data.isActive\"\r\n [class.fa-times]=\"!row.data.isActive\"\r\n [class.text-danger]=\"!row.data.isActive\"\r\n ></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-pallet-definition-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-pallet-definition-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { PalletDefinitionsComponent } from './components/pallet-definitions.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PalletDefinitionsComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsItemMasterData.PalletDefinitions',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitPalletDefinitionsRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PalletDefinitionsComponent } from './components/pallet-definitions.component';\r\nimport { PalletDefinitionFormComponent } from './components/pallet-definition-form.component';\r\nimport { HitPalletDefinitionsRoutingModule } from './hit-pallet-definitions-routing.module';\r\nimport { DxDataGridModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [PalletDefinitionsComponent, PalletDefinitionFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n HitPalletDefinitionsRoutingModule,\r\n DxDataGridModule,\r\n ],\r\n})\r\nexport class HitPalletDefinitionsModule {}\r\n\r\nexport function loadHitPalletDefinitionsModuleAsChild() {\r\n return Promise.resolve(HitPalletDefinitionsModule);\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ContainerPalletCapacityService } from '@proxy/controllers';\r\nimport { ContainerPalletCapacityDto } from '@proxy/container-pallet-capacities/dtos';\r\nimport { ContainerDefinitionDto } from '@proxy/container-definitions/dtos';\r\nimport { PalletDefinitionDto } from '@proxy/pallet-definitions/dtos';\r\n\r\n@Component({\r\n selector: 'lib-container-pallet-capacity-form',\r\n templateUrl: './container-pallet-capacity-form.component.html',\r\n})\r\nexport class ContainerPalletCapacityFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: ContainerPalletCapacityDto | null = null;\r\n @Input() containerOptions: ContainerDefinitionDto[] = [];\r\n @Input() palletOptions: PalletDefinitionDto[] = [];\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: ContainerPalletCapacityService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current'] || changes['mode']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n containerCode: [this.current?.containerCode ?? null, [Validators.required]],\r\n palletCode: [this.current?.palletCode ?? null, [Validators.required]],\r\n palletCount: [this.current?.palletCount ?? 0, [Validators.required, Validators.min(0)]],\r\n maxPalletCountMixed: [\r\n this.current?.maxPalletCountMixed ?? 0,\r\n [Validators.required, Validators.min(0)],\r\n ],\r\n isActive: [this.current?.isActive ?? true],\r\n });\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::ContainerPalletCapacities:CreateTitle'\r\n : 'Keops::ContainerPalletCapacities:EditTitle';\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.form.value;\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(value)\r\n : this.service.update(this.current!.code!, value);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"containerCode\" class=\"form-label\">\r\n {{ 'Keops::ContainerPalletCapacities:Container' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"containerCode\" class=\"form-select\" formControlName=\"containerCode\">\r\n <option [ngValue]=\"null\">-</option>\r\n <option *ngFor=\"let container of containerOptions\" [ngValue]=\"container.code\">\r\n {{ container.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"palletCode\" class=\"form-label\">\r\n {{ 'Keops::ContainerPalletCapacities:Pallet' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"palletCode\" class=\"form-select\" formControlName=\"palletCode\">\r\n <option [ngValue]=\"null\">-</option>\r\n <option *ngFor=\"let pallet of palletOptions\" [ngValue]=\"pallet.code\">\r\n {{ pallet.name }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"palletCount\" class=\"form-label\">\r\n {{ 'Keops::ContainerPalletCapacities:PalletCount' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"palletCount\"\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"palletCount\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"maxPalletCountMixed\" class=\"form-label\">\r\n {{ 'Keops::ContainerPalletCapacities:MaxPalletCountMixed' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"maxPalletCountMixed\"\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"maxPalletCountMixed\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3 form-check\">\r\n <input\r\n id=\"isActive\"\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n formControlName=\"isActive\"\r\n />\r\n <label for=\"isActive\" class=\"form-check-label\">\r\n {{ 'Keops::ContainerPalletCapacities:IsActive' | abpLocalization }}\r\n </label>\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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, Confirmation, ToasterService } from '@abp/ng.theme.shared';\r\nimport { forkJoin } from 'rxjs';\r\nimport {\r\n ContainerDefinitionService,\r\n ContainerPalletCapacityService,\r\n PalletDefinitionService,\r\n} from '@proxy/controllers';\r\nimport { ContainerPalletCapacityDto } from '@proxy/container-pallet-capacities/dtos';\r\nimport { ContainerDefinitionDto } from '@proxy/container-definitions/dtos';\r\nimport { PalletDefinitionDto } from '@proxy/pallet-definitions/dtos';\r\n\r\n@Component({\r\n selector: 'lib-container-pallet-capacities',\r\n templateUrl: './container-pallet-capacities.component.html',\r\n})\r\nexport class ContainerPalletCapacitiesComponent implements OnInit {\r\n items: ContainerPalletCapacityDto[] = [];\r\n containerOptions: ContainerDefinitionDto[] = [];\r\n palletOptions: PalletDefinitionDto[] = [];\r\n\r\n selected: ContainerPalletCapacityDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: ContainerPalletCapacityService,\r\n private readonly containerDefinitionService: ContainerDefinitionService,\r\n private readonly palletDefinitionService: PalletDefinitionService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadLookups();\r\n this.loadList();\r\n }\r\n\r\n loadLookups(): void {\r\n forkJoin({\r\n containers: this.containerDefinitionService.getList(),\r\n pallets: this.palletDefinitionService.getList(),\r\n }).subscribe(({ containers, pallets }) => {\r\n this.containerOptions = containers;\r\n this.palletOptions = pallets;\r\n });\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n getContainerName(code: string | undefined | null): string {\r\n return this.resolveName(this.containerOptions, code);\r\n }\r\n\r\n getPalletName(code: string | undefined | null): string {\r\n return this.resolveName(this.palletOptions, code);\r\n }\r\n\r\n private resolveName(\r\n options: { code?: string; name?: string }[],\r\n code: string | undefined | null,\r\n ): string {\r\n if (!code) return '';\r\n return options.find(x => x.code === code)?.name ?? code;\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: ContainerPalletCapacityDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: ContainerPalletCapacityDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::ContainerPalletCapacities:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerPalletCapacitiesToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerPalletCapacities.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::ContainerPalletCapacities:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerPalletCapacitiesWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerPalletCapacities.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerPalletCapacities.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"containerCode\"\r\n cellTemplate=\"containerTpl\"\r\n caption=\"{{ 'Keops::ContainerPalletCapacities:Container' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'containerTpl'\">\r\n <span>{{ getContainerName(row.data.containerCode) }}</span>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"palletCode\"\r\n cellTemplate=\"palletTpl\"\r\n caption=\"{{ 'Keops::ContainerPalletCapacities:Pallet' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'palletTpl'\">\r\n <span>{{ getPalletName(row.data.palletCode) }}</span>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"palletCount\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerPalletCapacities:PalletCount' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"maxPalletCountMixed\"\r\n dataType=\"number\"\r\n caption=\"{{ 'Keops::ContainerPalletCapacities:MaxPalletCountMixed' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"isActive\"\r\n dataType=\"boolean\"\r\n width=\"110\"\r\n alignment=\"center\"\r\n cellTemplate=\"isActiveTpl\"\r\n caption=\"{{ 'Keops::ContainerPalletCapacities:IsActive' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'isActiveTpl'\">\r\n <i\r\n class=\"fa\"\r\n [class.fa-check]=\"row.data.isActive\"\r\n [class.text-success]=\"row.data.isActive\"\r\n [class.fa-times]=\"!row.data.isActive\"\r\n [class.text-danger]=\"!row.data.isActive\"\r\n ></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-container-pallet-capacity-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n [containerOptions]=\"containerOptions\"\r\n [palletOptions]=\"palletOptions\"\r\n (saved)=\"onSaved()\"\r\n></lib-container-pallet-capacity-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { ContainerPalletCapacitiesComponent } from './components/container-pallet-capacities.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ContainerPalletCapacitiesComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsItemMasterData.ContainerPalletCapacities',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitContainerPalletCapacitiesRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ContainerPalletCapacitiesComponent } from './components/container-pallet-capacities.component';\r\nimport { ContainerPalletCapacityFormComponent } from './components/container-pallet-capacity-form.component';\r\nimport { HitContainerPalletCapacitiesRoutingModule } from './hit-container-pallet-capacities-routing.module';\r\nimport { DxDataGridModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [ContainerPalletCapacitiesComponent, ContainerPalletCapacityFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n HitContainerPalletCapacitiesRoutingModule,\r\n DxDataGridModule,\r\n ],\r\n})\r\nexport class HitContainerPalletCapacitiesModule {}\r\n\r\nexport function loadHitContainerPalletCapacitiesModuleAsChild() {\r\n return Promise.resolve(HitContainerPalletCapacitiesModule);\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { forkJoin } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport {\r\n ContainerDefinitionService,\r\n ContainerLoadingCountService,\r\n PalletDefinitionService,\r\n} from '@proxy/controllers';\r\nimport { ContainerDefinitionDto } from '@proxy/container-definitions/dtos';\r\nimport { PalletDefinitionDto } from '@proxy/pallet-definitions/dtos';\r\nimport { ProductTypeLookupDto } from '@proxy/container-loading-counts/dtos';\r\nimport { LoadingTargetKind } from '@proxy/container-loading-counts/loading-target-kind.enum';\r\n\r\n@Component({\r\n selector: 'lib-container-loading-counts',\r\n templateUrl: './container-loading-counts.component.html',\r\n})\r\nexport class ContainerLoadingCountsComponent implements OnInit {\r\n loading = true;\r\n saving = false;\r\n\r\n productTypes: ProductTypeLookupDto[] = [];\r\n containers: ContainerDefinitionDto[] = [];\r\n pallets: PalletDefinitionDto[] = [];\r\n\r\n private readonly controls = new Map<string, FormControl>();\r\n\r\n constructor(\r\n private readonly service: ContainerLoadingCountService,\r\n private readonly containerDefinitionService: ContainerDefinitionService,\r\n private readonly palletDefinitionService: PalletDefinitionService,\r\n private readonly toaster: ToasterService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.load();\r\n }\r\n\r\n get hasColumns(): boolean {\r\n return this.containers.length + this.pallets.length > 0;\r\n }\r\n\r\n cell(productTypeCode: string | undefined, prefix: 'c' | 'p', targetCode: string | undefined): FormControl {\r\n return this.controls.get(this.key(productTypeCode, prefix, targetCode))!;\r\n }\r\n\r\n load(): void {\r\n this.loading = true;\r\n forkJoin({\r\n productTypes: this.service.getProductTypes(),\r\n containers: this.containerDefinitionService.getList(),\r\n pallets: this.palletDefinitionService.getList(),\r\n existing: this.service.getList(),\r\n }).subscribe(({ productTypes, containers, pallets, existing }) => {\r\n this.productTypes = productTypes;\r\n this.containers = containers.filter(c => c.isActive);\r\n this.pallets = pallets.filter(p => p.isActive);\r\n\r\n const existingByPt = new Map<string, Map<string, number>>();\r\n for (const row of existing) {\r\n const inner = new Map<string, number>();\r\n for (const line of row.lines ?? []) {\r\n inner.set(`${line.kind}|${line.targetCode}`, line.boxCount);\r\n }\r\n existingByPt.set(row.productTypeCode!, inner);\r\n }\r\n\r\n this.controls.clear();\r\n for (const pt of this.productTypes) {\r\n const inner = existingByPt.get(pt.code!) ?? new Map<string, number>();\r\n for (const c of this.containers) {\r\n const value = inner.get(`${LoadingTargetKind.Container}|${c.code}`) ?? 0;\r\n this.controls.set(this.key(pt.code, 'c', c.code), new FormControl(value));\r\n }\r\n for (const p of this.pallets) {\r\n const value = inner.get(`${LoadingTargetKind.Pallet}|${p.code}`) ?? 0;\r\n this.controls.set(this.key(pt.code, 'p', p.code), new FormControl(value));\r\n }\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n save(): void {\r\n const input = this.productTypes.map(pt => ({\r\n productTypeCode: pt.code,\r\n lines: [\r\n ...this.containers.map(c => ({\r\n kind: LoadingTargetKind.Container,\r\n targetCode: c.code,\r\n boxCount: Number(this.cell(pt.code, 'c', c.code).value) || 0,\r\n })),\r\n ...this.pallets.map(p => ({\r\n kind: LoadingTargetKind.Pallet,\r\n targetCode: p.code,\r\n boxCount: Number(this.cell(pt.code, 'p', p.code).value) || 0,\r\n })),\r\n ],\r\n }));\r\n\r\n this.saving = true;\r\n this.service\r\n .save(input)\r\n .pipe(finalize(() => (this.saving = false)))\r\n .subscribe(() => {\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.load();\r\n });\r\n }\r\n\r\n private key(\r\n productTypeCode: string | undefined,\r\n prefix: 'c' | 'p',\r\n targetCode: string | undefined,\r\n ): string {\r\n return `${productTypeCode}||${prefix}||${targetCode}`;\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::ContainerLoadingCounts:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerLoadingCountsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <abp-button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerLoadingCounts.Update'\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"loading || !hasColumns || productTypes.length === 0\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerLoadingCountsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && productTypes.length === 0\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingCounts:NoProductTypes' | abpLocalization }}\r\n </div>\r\n\r\n <div *ngIf=\"!loading && productTypes.length > 0 && !hasColumns\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingCounts:NoColumns' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"table-responsive\" *ngIf=\"!loading && productTypes.length > 0 && hasColumns\">\r\n <table class=\"table table-bordered table-sm align-middle\">\r\n <thead>\r\n <tr>\r\n <th rowspan=\"2\" class=\"align-middle\">\r\n {{ 'Keops::ContainerLoadingCounts:ProductType' | abpLocalization }}\r\n </th>\r\n <th *ngIf=\"containers.length\" [attr.colspan]=\"containers.length\" class=\"text-center\">\r\n {{ 'Keops::ContainerLoadingCounts:Containers' | abpLocalization }}\r\n </th>\r\n <th *ngIf=\"pallets.length\" [attr.colspan]=\"pallets.length\" class=\"text-center\">\r\n {{ 'Keops::ContainerLoadingCounts:Pallets' | abpLocalization }}\r\n </th>\r\n </tr>\r\n <tr>\r\n <th *ngFor=\"let c of containers\" class=\"text-center\">{{ c.name }}</th>\r\n <th *ngFor=\"let p of pallets\" class=\"text-center\">{{ p.name }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let pt of productTypes\">\r\n <td>{{ pt.name }}</td>\r\n <td *ngFor=\"let c of containers\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"cell(pt.code, 'c', c.code)\"\r\n />\r\n </td>\r\n <td *ngFor=\"let p of pallets\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control form-control-sm\"\r\n [formControl]=\"cell(pt.code, 'p', p.code)\"\r\n />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { ContainerLoadingCountsComponent } from './components/container-loading-counts.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ContainerLoadingCountsComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsItemMasterData.ContainerLoadingCounts',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitContainerLoadingCountsRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { ContainerLoadingCountsComponent } from './components/container-loading-counts.component';\r\nimport { HitContainerLoadingCountsRoutingModule } from './hit-container-loading-counts-routing.module';\r\n\r\n@NgModule({\r\n declarations: [ContainerLoadingCountsComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitContainerLoadingCountsRoutingModule,\r\n ],\r\n})\r\nexport class HitContainerLoadingCountsModule {}\r\n\r\nexport function loadHitContainerLoadingCountsModuleAsChild() {\r\n return Promise.resolve(HitContainerLoadingCountsModule);\r\n}\r\n","import { PalletStatus } from '@proxy/container-loading-scenarios/pallet-status.enum';\r\n\r\nexport const palletStatusLabels: Record<PalletStatus, string> = {\r\n [PalletStatus.Unpalletized]: 'Keops::ContainerLoadingScenarios:PalletStatus:Unpalletized',\r\n [PalletStatus.Palletized]: 'Keops::ContainerLoadingScenarios:PalletStatus:Palletized',\r\n};\r\n\r\nexport const palletStatusOrder: PalletStatus[] = [\r\n PalletStatus.Unpalletized,\r\n PalletStatus.Palletized,\r\n];\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { ToasterService } from '@abp/ng.theme.shared';\r\nimport { forkJoin } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\nimport {\r\n ContainerDefinitionService,\r\n ContainerLoadingScenarioService,\r\n ContainerMixTypeService,\r\n PalletDefinitionService,\r\n} from '@proxy/controllers';\r\nimport { ContainerDefinitionDto } from '@proxy/container-definitions/dtos';\r\nimport { PalletDefinitionDto } from '@proxy/pallet-definitions/dtos';\r\nimport { ContainerMixTypeDto } from '@proxy/container-mix-types/dtos';\r\nimport { PalletStatus } from '@proxy/container-loading-scenarios/pallet-status.enum';\r\nimport { palletStatusLabels, palletStatusOrder } from '../container-loading-scenario-l10n-helper';\r\n\r\ninterface ScenarioRow {\r\n palletStatus: PalletStatus;\r\n mixedType: ContainerMixTypeDto;\r\n container: ContainerDefinitionDto;\r\n pallet: PalletDefinitionDto;\r\n group: FormGroup;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-container-loading-scenarios',\r\n templateUrl: './container-loading-scenarios.component.html',\r\n})\r\nexport class ContainerLoadingScenariosComponent implements OnInit {\r\n loading = true;\r\n saving = false;\r\n\r\n containers: ContainerDefinitionDto[] = [];\r\n pallets: PalletDefinitionDto[] = [];\r\n mixedTypes: ContainerMixTypeDto[] = [];\r\n rows: ScenarioRow[] = [];\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: ContainerLoadingScenarioService,\r\n private readonly containerDefinitionService: ContainerDefinitionService,\r\n private readonly palletDefinitionService: PalletDefinitionService,\r\n private readonly containerMixTypeService: ContainerMixTypeService,\r\n private readonly toaster: ToasterService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.load();\r\n }\r\n\r\n get hasRows(): boolean {\r\n return this.rows.length > 0;\r\n }\r\n\r\n palletStatusLabel(value: PalletStatus): string {\r\n return palletStatusLabels[value] ?? '';\r\n }\r\n\r\n load(): void {\r\n this.loading = true;\r\n forkJoin({\r\n containers: this.containerDefinitionService.getList(),\r\n pallets: this.palletDefinitionService.getList(),\r\n mixedTypes: this.containerMixTypeService.getList(),\r\n existing: this.service.getList(),\r\n }).subscribe(({ containers, pallets, mixedTypes, existing }) => {\r\n this.containers = containers.filter(c => c.isActive);\r\n this.pallets = pallets.filter(p => p.isActive);\r\n this.mixedTypes = [...mixedTypes].sort(\r\n (a, b) => (a.displayOrder ?? 0) - (b.displayOrder ?? 0),\r\n );\r\n\r\n const existingByKey = new Map(\r\n existing.map(x => [\r\n this.key(x.palletStatus, x.mixedTypeCode, x.containerCode, x.palletCode),\r\n x,\r\n ]),\r\n );\r\n\r\n this.rows = [];\r\n for (const ps of palletStatusOrder) {\r\n for (const mixedType of this.mixedTypes) {\r\n for (const container of this.containers) {\r\n for (const pallet of this.pallets) {\r\n const current = existingByKey.get(\r\n this.key(ps, mixedType.code, container.code, pallet.code),\r\n );\r\n this.rows.push({\r\n palletStatus: ps,\r\n mixedType,\r\n container,\r\n pallet,\r\n group: this.fb.group({\r\n maxPalletCount: [current?.maxPalletCount ?? 0],\r\n netWeightKg: [current?.netWeightKg ?? 0],\r\n grossWeightKg: [current?.grossWeightKg ?? 0],\r\n toleranceKg: [current?.toleranceKg ?? 0],\r\n }),\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n save(): void {\r\n const input = this.rows.map(row => ({\r\n palletStatus: row.palletStatus,\r\n mixedTypeCode: row.mixedType.code,\r\n containerCode: row.container.code,\r\n palletCode: row.pallet.code,\r\n maxPalletCount: Number(row.group.value.maxPalletCount) || 0,\r\n netWeightKg: Number(row.group.value.netWeightKg) || 0,\r\n grossWeightKg: Number(row.group.value.grossWeightKg) || 0,\r\n toleranceKg: Number(row.group.value.toleranceKg) || 0,\r\n }));\r\n\r\n this.saving = true;\r\n this.service\r\n .save(input)\r\n .pipe(finalize(() => (this.saving = false)))\r\n .subscribe(() => {\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.load();\r\n });\r\n }\r\n\r\n private key(\r\n palletStatus: PalletStatus,\r\n mixedTypeCode: string | undefined | null,\r\n containerCode: string | undefined | null,\r\n palletCode: string | undefined | null,\r\n ): string {\r\n return `${palletStatus}|${mixedTypeCode ?? ''}|${containerCode ?? ''}|${palletCode ?? ''}`;\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::ContainerLoadingScenarios:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerLoadingScenariosToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <abp-button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerLoadingScenarios.Update'\"\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"loading || !hasRows\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerLoadingScenariosWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <div *ngIf=\"!loading && !hasRows\" class=\"alert alert-warning mb-0\">\r\n {{ 'Keops::ContainerLoadingScenarios:NoColumns' | abpLocalization }}\r\n </div>\r\n\r\n <div class=\"table-responsive\" *ngIf=\"!loading && hasRows\">\r\n <table class=\"table table-bordered table-sm align-middle\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'Keops::ContainerLoadingScenarios:PalletStatus' | abpLocalization }}</th>\r\n <th>{{ 'Keops::ContainerLoadingScenarios:MixedStatus' | abpLocalization }}</th>\r\n <th>{{ 'Keops::ContainerLoadingScenarios:Container' | abpLocalization }}</th>\r\n <th>{{ 'Keops::ContainerLoadingScenarios:Pallet' | abpLocalization }}</th>\r\n <th class=\"text-center\">{{ 'Keops::ContainerLoadingScenarios:MaxPalletCount' | abpLocalization }}</th>\r\n <th class=\"text-center\">{{ 'Keops::ContainerLoadingScenarios:NetWeight' | abpLocalization }}</th>\r\n <th class=\"text-center\">{{ 'Keops::ContainerLoadingScenarios:GrossWeight' | abpLocalization }}</th>\r\n <th class=\"text-center\">{{ 'Keops::ContainerLoadingScenarios:Tolerance' | abpLocalization }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of rows\" [formGroup]=\"row.group\">\r\n <td>{{ palletStatusLabel(row.palletStatus) | abpLocalization }}</td>\r\n <td>{{ row.mixedType.name }}</td>\r\n <td>{{ row.container.name }}</td>\r\n <td>{{ row.pallet.name }}</td>\r\n <td>\r\n <input type=\"number\" min=\"0\" class=\"form-control form-control-sm\" formControlName=\"maxPalletCount\" />\r\n </td>\r\n <td>\r\n <input type=\"number\" min=\"0\" step=\"any\" class=\"form-control form-control-sm\" formControlName=\"netWeightKg\" />\r\n </td>\r\n <td>\r\n <input type=\"number\" min=\"0\" step=\"any\" class=\"form-control form-control-sm\" formControlName=\"grossWeightKg\" />\r\n </td>\r\n <td>\r\n <input type=\"number\" min=\"0\" step=\"any\" class=\"form-control form-control-sm\" formControlName=\"toleranceKg\" />\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { ContainerLoadingScenariosComponent } from './components/container-loading-scenarios.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ContainerLoadingScenariosComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsItemMasterData.ContainerLoadingScenarios',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitContainerLoadingScenariosRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { ContainerLoadingScenariosComponent } from './components/container-loading-scenarios.component';\r\nimport { HitContainerLoadingScenariosRoutingModule } from './hit-container-loading-scenarios-routing.module';\r\n\r\n@NgModule({\r\n declarations: [ContainerLoadingScenariosComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n HitContainerLoadingScenariosRoutingModule,\r\n ],\r\n})\r\nexport class HitContainerLoadingScenariosModule {}\r\n\r\nexport function loadHitContainerLoadingScenariosModuleAsChild() {\r\n return Promise.resolve(HitContainerLoadingScenariosModule);\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 { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ContainerMixTypeService } from '@proxy/controllers';\r\nimport { ContainerMixTypeDto } from '@proxy/container-mix-types/dtos';\r\n\r\n@Component({\r\n selector: 'lib-container-mix-type-form',\r\n templateUrl: './container-mix-type-form.component.html',\r\n})\r\nexport class ContainerMixTypeFormComponent implements OnInit, OnChanges {\r\n @Input() visible = false;\r\n @Input() mode: 'create' | 'edit' = 'create';\r\n @Input() current: ContainerMixTypeDto | null = null;\r\n\r\n @Output() visibleChange = new EventEmitter<boolean>();\r\n @Output() saved = new EventEmitter<void>();\r\n\r\n form!: FormGroup;\r\n saving = false;\r\n\r\n constructor(\r\n private readonly fb: FormBuilder,\r\n private readonly service: ContainerMixTypeService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['current'] || changes['mode']) {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n private buildForm(): void {\r\n this.form = this.fb.group({\r\n name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(256)]],\r\n displayOrder: [this.current?.displayOrder ?? 0, [Validators.required, Validators.min(0)]],\r\n });\r\n }\r\n\r\n get title(): string {\r\n return this.mode === 'create'\r\n ? 'Keops::ContainerMixTypes:CreateTitle'\r\n : 'Keops::ContainerMixTypes:EditTitle';\r\n }\r\n\r\n onVisibleChange(value: boolean): void {\r\n this.visible = value;\r\n this.visibleChange.emit(value);\r\n }\r\n\r\n save(): void {\r\n if (this.form.invalid) {\r\n this.form.markAllAsTouched();\r\n return;\r\n }\r\n\r\n const value = this.form.value;\r\n\r\n this.saving = true;\r\n\r\n const request$ =\r\n this.mode === 'create'\r\n ? this.service.create(value)\r\n : this.service.update(this.current!.code!, value);\r\n\r\n request$.pipe(finalize(() => (this.saving = false))).subscribe({\r\n next: () => {\r\n this.saved.emit();\r\n this.visible = false;\r\n this.visibleChange.emit(false);\r\n },\r\n });\r\n }\r\n}\r\n","<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::ContainerMixTypes:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"displayOrder\" class=\"form-label\">\r\n {{ 'Keops::ContainerMixTypes:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"displayOrder\"\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"displayOrder\"\r\n />\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\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, Confirmation, ToasterService } from '@abp/ng.theme.shared';\r\nimport { ContainerMixTypeService } from '@proxy/controllers';\r\nimport { ContainerMixTypeDto } from '@proxy/container-mix-types/dtos';\r\n\r\n@Component({\r\n selector: 'lib-container-mix-types',\r\n templateUrl: './container-mix-types.component.html',\r\n})\r\nexport class ContainerMixTypesComponent implements OnInit {\r\n items: ContainerMixTypeDto[] = [];\r\n\r\n selected: ContainerMixTypeDto | null = null;\r\n formVisible = false;\r\n formMode: 'create' | 'edit' = 'create';\r\n\r\n constructor(\r\n private readonly service: ContainerMixTypeService,\r\n private readonly toaster: ToasterService,\r\n private readonly confirmation: ConfirmationService,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.loadList();\r\n }\r\n\r\n loadList(): void {\r\n this.service.getList().subscribe(data => {\r\n this.items = data;\r\n });\r\n }\r\n\r\n openCreate(): void {\r\n this.selected = null;\r\n this.formMode = 'create';\r\n this.formVisible = true;\r\n }\r\n\r\n openEdit(row: ContainerMixTypeDto): void {\r\n this.selected = row;\r\n this.formMode = 'edit';\r\n this.formVisible = true;\r\n }\r\n\r\n onSaved(): void {\r\n this.formVisible = false;\r\n this.selected = null;\r\n this.toaster.success('AbpUi::SuccessfullySaved');\r\n this.loadList();\r\n }\r\n\r\n remove(row: ContainerMixTypeDto): void {\r\n this.confirmation\r\n .warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')\r\n .subscribe(status => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(row.code!).subscribe({\r\n next: () => {\r\n this.toaster.success('AbpUi::SuccessfullyDeleted');\r\n this.loadList();\r\n },\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","<abp-page [title]=\"'Keops::ContainerMixTypes:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"ContainerMixTypesToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerMixTypes.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::ContainerMixTypes:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"ContainerMixTypesWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\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\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\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\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerMixTypes.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <button\r\n *abpPermission=\"'KeopsItemMasterData.ContainerMixTypes.Delete'\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"120\"\r\n caption=\"{{ 'Keops::ContainerMixTypes:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::ContainerMixTypes:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-container-mix-type-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-container-mix-type-form>\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { AuthGuard, PermissionGuard } from '@abp/ng.core';\r\nimport { ContainerMixTypesComponent } from './components/container-mix-types.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ContainerMixTypesComponent,\r\n canActivate: [AuthGuard, PermissionGuard],\r\n data: {\r\n requiredPolicy: 'KeopsItemMasterData.ContainerMixTypes',\r\n },\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class HitContainerMixTypesRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } 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 { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ContainerMixTypesComponent } from './components/container-mix-types.component';\r\nimport { ContainerMixTypeFormComponent } from './components/container-mix-type-form.component';\r\nimport { HitContainerMixTypesRoutingModule } from './hit-container-mix-types-routing.module';\r\nimport { DxDataGridModule } from 'devextreme-angular';\r\n\r\n@NgModule({\r\n declarations: [ContainerMixTypesComponent, ContainerMixTypeFormComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CoreModule,\r\n ThemeSharedModule,\r\n PageModule,\r\n CommercialUiModule,\r\n NgbDropdownModule,\r\n HitContainerMixTypesRoutingModule,\r\n DxDataGridModule,\r\n ],\r\n})\r\nexport class HitContainerMixTypesModule {}\r\n\r\nexport function loadHitContainerMixTypesModuleAsChild() {\r\n return Promise.resolve(HitContainerMixTypesModule);\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { loadHitCostItemsModuleAsChild } from './features/cost-items/hit-cost-items.module';\r\nimport { loadHitCostGroupsModuleAsChild } from './features/cost-groups/hit-cost-groups.module';\r\nimport { loadHitExchangeRatesModuleAsChild } from './features/exchange-rates/hit-exchange-rates.module';\r\nimport { loadHitCostCalculationModuleAsChild } from './features/cost-calculation/hit-cost-calculation.module';\r\nimport { loadHitCostParametersModuleAsChild } from './features/cost-parameters/hit-cost-parameters.module';\r\nimport { loadHitCostParameterCategoriesModuleAsChild } from './features/cost-parameter-categories/hit-cost-parameter-categories.module';\r\nimport { loadHitPackagingTypesModuleAsChild } from './features/packaging-types/hit-packaging-types.module';\r\nimport { loadHitPackagingMaterialsModuleAsChild } from './features/packaging-materials/hit-packaging-materials.module';\r\nimport { loadHitPackagingPricesModuleAsChild } from './features/packaging-prices/hit-packaging-prices.module';\r\nimport { loadHitPriceParameterTypesModuleAsChild } from './features/price-parameter-types/hit-price-parameter-types.module';\r\nimport { loadHitSapSalesPersonsModuleAsChild } from './features/sap-sales-persons/hit-sap-sales-persons.module';\r\nimport { loadHitContainerDefinitionsModuleAsChild } from './features/container-definitions/hit-container-definitions.module';\r\nimport { loadHitPalletDefinitionsModuleAsChild } from './features/pallet-definitions/hit-pallet-definitions.module';\r\nimport { loadHitContainerPalletCapacitiesModuleAsChild } from './features/container-pallet-capacities/hit-container-pallet-capacities.module';\r\nimport { loadHitContainerLoadingCountsModuleAsChild } from './features/container-loading-counts/hit-container-loading-counts.module';\r\nimport { loadHitContainerLoadingScenariosModuleAsChild } from './features/container-loading-scenarios/hit-container-loading-scenarios.module';\r\nimport { loadHitContainerMixTypesModuleAsChild } from './features/container-mix-types/hit-container-mix-types.module';\r\n\r\nconst routes: Routes = [\r\n { path: 'cost/calculation', loadChildren: loadHitCostCalculationModuleAsChild },\r\n { path: 'system/exchange-rates', loadChildren: loadHitExchangeRatesModuleAsChild },\r\n { path: 'cost/items', loadChildren: loadHitCostItemsModuleAsChild },\r\n { path: 'cost/groups', loadChildren: loadHitCostGroupsModuleAsChild },\r\n { path: 'cost/parameters', loadChildren: loadHitCostParametersModuleAsChild },\r\n { path: 'cost/parameter-categories', loadChildren: loadHitCostParameterCategoriesModuleAsChild },\r\n { path: 'cost/packaging-types', loadChildren: loadHitPackagingTypesModuleAsChild },\r\n { path: 'cost/packaging-materials', loadChildren: loadHitPackagingMaterialsModuleAsChild },\r\n { path: 'cost/packaging-prices', loadChildren: loadHitPackagingPricesModuleAsChild },\r\n { path: 'cost/price-parameter-types', loadChildren: loadHitPriceParameterTypesModuleAsChild },\r\n { path: 'system/sales-persons', loadChildren: loadHitSapSalesPersonsModuleAsChild },\r\n { path: 'item-master-data/container-definitions', loadChildren: loadHitContainerDefinitionsModuleAsChild },\r\n { path: 'item-master-data/pallet-definitions', loadChildren: loadHitPalletDefinitionsModuleAsChild },\r\n { path: 'item-master-data/container-pallet-capacities', loadChildren: loadHitContainerPalletCapacitiesModuleAsChild },\r\n { path: 'item-master-data/container-loading-counts', loadChildren: loadHitContainerLoadingCountsModuleAsChild },\r\n { path: 'item-master-data/container-loading-scenarios', loadChildren: loadHitContainerLoadingScenariosModuleAsChild },\r\n { path: 'item-master-data/container-mix-types', loadChildren: loadHitContainerMixTypesModuleAsChild },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class KadoogluKeopsRoutingModule {}\r\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { CoreModule, LazyModuleFactory, LocalizationService } from '@abp/ng.core';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { PageModule } from '@abp/ng.components/page';\nimport { locale } from 'devextreme/localization';\nimport { KadoogluKeopsRoutingModule } from './kadooglu-keops-routing.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n CoreModule,\n ThemeSharedModule,\n PageModule,\n KadoogluKeopsRoutingModule,\n ],\n})\nexport class KadoogluKeopsModule {\n static forChild(): ModuleWithProviders<KadoogluKeopsModule> {\n return {\n ngModule: KadoogluKeopsModule,\n providers: [],\n };\n }\n\n static forLazy(): NgModuleFactory<KadoogluKeopsModule> {\n return new LazyModuleFactory(KadoogluKeopsModule.forChild());\n }\n\n constructor(private readonly localizationService: LocalizationService) {\n // Sync DevExtreme's locale to ABP's current language.\n this.localizationService.currentLang$.subscribe(language => language && locale(language));\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { CoreModule } from '@abp/ng.core';\nimport { ThemeSharedModule, ToasterService } from '@abp/ng.theme.shared';\nimport { CostSettingsService } from '@proxy/controllers';\n\n@Component({\n selector: 'lib-cost-settings',\n standalone: true,\n imports: [CommonModule, ReactiveFormsModule, CoreModule, ThemeSharedModule],\n templateUrl: './cost-settings.component.html',\n})\nexport class CostSettingsComponent implements OnInit {\n form!: FormGroup;\n saving = false;\n\n constructor(\n private readonly fb: FormBuilder,\n private readonly service: CostSettingsService,\n private readonly toaster: ToasterService,\n ) {}\n\n ngOnInit(): void {\n this.form = this.fb.group({\n itemPackagePriceListNo: [0, [Validators.required, Validators.min(1)]],\n });\n\n this.service.get().subscribe(dto => {\n this.form.patchValue({ itemPackagePriceListNo: dto.itemPackagePriceListNo });\n });\n }\n\n save(): void {\n if (this.form.invalid) {\n return;\n }\n\n this.saving = true;\n\n this.service\n .update(this.form.value)\n .pipe(finalize(() => (this.saving = false)))\n .subscribe({\n next: () => {\n this.toaster.success('AbpUi::SuccessfullySaved');\n },\n });\n }\n}\n","<form [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <div class=\"row\">\n <div class=\"col-12 col-md-12\">\n <label for=\"itemPackagePriceListNo\" class=\"form-label\">\n {{ 'Keops::Settings:KeopsCost:ItemPackagePriceListNo' | abpLocalization }}\n </label>\n <input\n id=\"itemPackagePriceListNo\"\n type=\"number\"\n class=\"form-control\"\n formControlName=\"itemPackagePriceListNo\"\n />\n <small class=\"form-text text-muted\">\n {{ 'Keops::Settings:KeopsCost:ItemPackagePriceListNo:Description' | abpLocalization }}\n </small>\n </div>\n </div>\n\n <div class=\"mt-3\">\n <abp-button\n iconClass=\"fa fa-check\"\n buttonClass=\"btn btn-primary color-white\"\n buttonType=\"submit\"\n [loading]=\"saving\"\n [disabled]=\"form?.invalid\"\n >{{ 'AbpSettingManagement::Save' | abpLocalization }}</abp-button\n >\n </div>\n</form>\n","// exchange-rates\r\nexport * from './exchange-rates/hit-exchange-rates.module';\r\nexport * from './exchange-rates/components/exchange-rates.component';\r\nexport * from './exchange-rates/components/central-bank-rates.component';\r\n\r\n// cost-items\r\nexport * from './cost-items/hit-cost-items.module';\r\nexport * from './cost-items/components/cost-items.component';\r\nexport * from './cost-items/components/cost-item-form.component';\r\n\r\n// cost-parameters\r\nexport * from './cost-parameters/hit-cost-parameters.module';\r\nexport * from './cost-parameters/components/cost-parameters.component';\r\nexport * from './cost-parameters/components/cost-parameter-form.component';\r\n\r\n// settings\r\nexport * from './settings/components/cost-settings.component';\r\n","/*\n * Public API Surface of kadooglu-keops\n */\n\nexport * from './lib/proxy';\nexport * from './lib/kadooglu-keops.module';\nexport * from './lib/features';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["costGroupRoleOptions","CostItemCalculationType","i1","i2","i4","i5","i10.CostItemFormComponent","routes","CostGroupRole","i10.CostGroupFormComponent","ExchangeRateSource","i3","i3.CentralBankRatesComponent","i4.FixedRatesFormComponent","Currency","CostItemSystemCode","i3.CostCalculationInputsComponent","i4.CostCalculationResultsComponent","i5.CostCalculationResultSumComponent","i6","CostParameterStatus","i10.CostParameterFormComponent","CostParameterCategoryParentCode","costParameterCategoryParentCodeOptions","i10.CostParameterCategoryFormComponent","i10.PackagingTypeFormComponent","i10.PackagingMaterialFormComponent","i3.PackagingPriceExcelService","i4.PackagingPriceLinesBuilder","i7","i8","i9.PackagingPriceLinesComponent","i10.PackagingPriceFormComponent","i10.PriceParameterTypeFormComponent","i9","i10","i11.SapSalesPersonFormComponent","i10.ContainerDefinitionFormComponent","i10.PalletDefinitionFormComponent","i10.ContainerPalletCapacityFormComponent","LoadingTargetKind","PalletStatus","i10.ContainerMixTypeFormComponent"],"mappings":"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"}
|