errorResponse.data);\r\n\r\n });*/\r\n \r\n }\r\n }\r\n\r\n CurrencyChanged(model: interfaces.applicationcore.IDropdownModel){\r\n if (model){\r\n this.selectedCurrency = model;\r\n this.dutyCalculation.Currency = this.selectedCurrency;\r\n \r\n }\r\n }\r\n\r\n registerTariffCodesApi(gridApi: uiGrid.IGridApi) {\r\n this.apiTariffCodes = gridApi;\r\n }\r\n\r\n gvwTariffCodes: uiGrid.IGridOptions = {\r\n data: [],\r\n enableFiltering: false,\r\n useExternalFiltering: false,\r\n useExternalSorting: false,\r\n multiSelect: false,\r\n enableColumnResizing: true,\r\n enableFullRowSelection: false,\r\n useExternalPagination: false,\r\n enableRowHeaderSelection: false,\r\n enableHorizontalScrollbar: 2,\r\n onRegisterApi: (gridApi) => { this.registerTariffCodesApi(gridApi); },\r\n columnDefs: [\r\n {\r\n name: 'TAXTYPE',\r\n displayName: 'Tax Type',\r\n field: 'TaxType',\r\n cellTemplate: `{{row.entity.TaxTypeCode}}
`,\r\n enableSorting: false,\r\n width: 100\r\n }, {\r\n name: 'DESCRIPTION',\r\n displayName: 'Description',\r\n field: 'Description',\r\n cellTemplate: `{{row.entity.TaxTypeDescription}}
`,\r\n enableSorting: false,\r\n width: 465\r\n },, {\r\n name: 'TaxableValue',\r\n displayName: 'CIF Value',\r\n cellFilter: \"number: 2\",\r\n cellClass: 'text-right',\r\n field: 'TaxableValue',\r\n width: 150,\r\n }, \r\n {\r\n name: 'CURRENCY3',\r\n displayName: '',\r\n field: 'Currency',\r\n cellTemplate: `{{ grid.appScope.tariffCodeCalculateDutiesCtrl.dutyCalculation.DeclarationCountryCurrency.Code }}
`,\r\n enableSorting: false,\r\n width: 60\r\n }, {\r\n name: 'DutyBase',\r\n displayName: 'Duty/Tax Base',\r\n cellFilter: \"number: 2\",\r\n cellClass: 'text-right',\r\n field: 'DutyBase',\r\n width: 150,\r\n }, \r\n {\r\n name: 'CURRENCY1',\r\n displayName: '',\r\n field: 'Currency',\r\n cellTemplate: `{{ grid.appScope.tariffCodeCalculateDutiesCtrl.dutyCalculation.DeclarationCountryCurrency.Code }}
`,\r\n enableSorting: false,\r\n width: 60\r\n },\r\n {\r\n name: \"FORMULA\",\r\n displayName: \"Formula\",\r\n field: \"DutyFormula\", \r\n cellTemplate: '{{grid.getCellValue(row, col)}}
',\r\n enableSorting: false,\r\n width: 200,\r\n }, {\r\n name: 'TAX',\r\n displayName: 'Tax',\r\n cellFilter: \"number: 2\",\r\n cellClass: 'text-right', \r\n field: 'Duty',\r\n width: 150\r\n }, \r\n {\r\n name: 'CURRENCY2',\r\n displayName: 'Currency',\r\n field: 'Currency',\r\n cellTemplate: `{{ grid.appScope.tariffCodeCalculateDutiesCtrl.dutyCalculation.DeclarationCountryCurrency.Code }}
`,\r\n enableSorting: false,\r\n width: 100\r\n },\r\n ]\r\n };\r\n\r\n registerUoMApi(gridApi: uiGrid.IGridApi) {\r\n this.apiUoM = gridApi;\r\n }\r\n\r\n gvwUoM: uiGrid.IGridOptions = {\r\n data: [],\r\n enableFiltering: false,\r\n useExternalFiltering: false,\r\n enableCellEdit: true,\r\n useExternalSorting: false,\r\n multiSelect: false,\r\n enableColumnResizing: true,\r\n enableFullRowSelection: false,\r\n useExternalPagination: false,\r\n enableRowHeaderSelection: false,\r\n enableHorizontalScrollbar: 2,\r\n rowEditWaitInterval: -1,\r\n onRegisterApi: (gridApi) => { this.registerUoMApi(gridApi); },\r\n columnDefs: [\r\n {\r\n name: 'UOM',\r\n displayName: 'Unit of Measure',\r\n field: 'TaxType',\r\n cellTemplate: `{{row.entity.UnitOfMeasureCode}} - {{row.entity.UnitOfMeasureDescription}}
`,\r\n enableSorting: false,\r\n width: 250\r\n }, {\r\n name: 'Qty',\r\n field: 'Quantity',\r\n displayName: 'Quantity',\r\n enableCellEditOnFocus: true,\r\n editableCellTemplate: `\r\n `,\r\n cellClass: 'text-right',\r\n enableSorting: false\r\n }\r\n ]\r\n };\r\n\r\n\r\n registerAddCodesApi(gridApi: uiGrid.IGridApi) {\r\n this.apiAddCodes = gridApi;\r\n }\r\n\r\n gvwAddCodes: uiGrid.IGridOptions = {\r\n data: [],\r\n enableFiltering: false,\r\n useExternalFiltering: false,\r\n enableCellEdit: true,\r\n useExternalSorting: false,\r\n multiSelect: false,\r\n enableColumnResizing: true,\r\n enableFullRowSelection: false,\r\n useExternalPagination: false,\r\n enableRowHeaderSelection: false,\r\n enableHorizontalScrollbar: 2,\r\n rowEditWaitInterval: -1,\r\n onRegisterApi: (gridApi) => { this.registerAddCodesApi(gridApi); },\r\n columnDefs: [\r\n {\r\n name: 'Code',\r\n displayName: 'National Measure',\r\n field: 'TaxType',\r\n cellTemplate: `{{row.entity.NationalMeasureCode}}
`,\r\n enableSorting: false,\r\n width: 150\r\n },\r\n {\r\n name: 'DESC',\r\n displayName: 'Description',\r\n field: 'Description', \r\n cellTemplate: '{{grid.getCellValue(row, col)}}
',\r\n enableSorting: false,\r\n width: 220\r\n }\r\n ]\r\n };\r\n \r\n Calculate() {\r\n this.bsLoadingOverlayService.wrap({\r\n referenceId: 'tariff.calculate'\r\n },\r\n () => {\r\n return this.CalculateDuty().then((data) => {\r\n if (data) {\r\n this.$anchorScroll(\"topAnchor\");\r\n this.searchAccordian = false;\r\n } else {\r\n this.$anchorScroll(\"topAnchor\");\r\n this.searchAccordian = true;\r\n this.dutyCalculation.DutyList = [];//Clear list as errors so nothing to show;\r\n }\r\n });\r\n });\r\n }\r\n\r\n CalculateDuty(): ng.IPromise \r\n {\r\n var defer = this.$q.defer();\r\n this.dutyCalculatorService.CalculateDuty().save({}, this.dutyCalculation, (data: interfaces.applicationcore.IMessageHandler) => {\r\n this.generalService.displayMessageHandler(data);\r\n\r\n if (data.ID) {\r\n this.getDutyCalculator(Number(data.ID));\r\n }\r\n defer.resolve(true);\r\n\r\n }, (failureData) => {\r\n this.generalService.displayMessageHandler(failureData.data);\r\n defer.resolve(false);\r\n });\r\n \r\n return defer.promise;\r\n }\r\n\r\n getDutyCalculator(dutyCalculatorId: number): ng.IPromise {\r\n var defer = this.$q.defer(); \r\n\r\n this.dutyCalculatorService.GetDutyCalculation(dutyCalculatorId).query({}, (data: interfaces.customs.IDutyCalculation) => {\r\n\r\n this.dutyCalculation = data;\r\n console.log('dutyCalc',this.dutyCalculation);\r\n this.gvwTariffCodes.data = data.DutyList;\r\n this.gvwUoM.data = data.UnitOfMeasureList;\r\n this.gvwAddCodes.data = data.AdditionalCodeList;\r\n\r\n defer.resolve(true);\r\n \r\n }, (errorResponse) => {\r\n this.generalService.displayMessageHandler(errorResponse.data);\r\n defer.resolve(false);\r\n }\r\n\r\n );\r\n\r\n return defer.promise;\r\n }\r\n\r\n Reset()\r\n {\r\n this.dutyCalculation = {\r\n Id: 0,\r\n DutyCalculationId: 0,\r\n OwnerEntityId:0,\r\n DeclarationCountry: null,\r\n DeclarationCountryCurrency: { Code: \"ZAR\", Symbol: \"ZAR\" },\r\n Currency: null, \r\n Reference: \"\",\r\n DateCosted: null,\r\n SimulationDate: moment.utc(),\r\n TariffCode: \"\",\r\n TariffDescription: \"\",\r\n CountryOfOrigin: null,\r\n CustomsValue: 0,\r\n AdditionalCodeList: null,\r\n UnitOfMeasureList: null,\r\n DutyList: null,\r\n };\r\n\r\n this.countryService.GetCurrentCountry().get({ }, (result: interfaces.applicationcore.ICountry) => {\r\n \r\n this.dutyCalculation.DeclarationCountry = {\r\n Id: result.Id,\r\n Code: result.Code,\r\n Description: result.Description,\r\n Display: result.Code + \" - \" + result.Description,\r\n Selected: true\r\n };\r\n \r\n this.CODChanged(this.dutyCalculation.DeclarationCountry); \r\n\r\n });\r\n\r\n this.searchAccordian = true;\r\n }\r\n\r\n Print()\r\n {\r\n //Print\r\n \r\n this.bsLoadingOverlayService.wrap({\r\n referenceId: 'tariff.calculate'\r\n },\r\n () => {\r\n\r\n this.dutyCalculatorService.saveToDocument(Number(this.dutyCalculation.Id), Number(this.IsLexisNexis)).then(() => {\r\n\r\n }, (errorResponse) => {\r\n this.generalService.displayMessageHandler(errorResponse.data);\r\n });\r\n\r\n });\r\n }\r\n\r\n LookupTariff()\r\n {\r\n this.lookupService.openTariffLookup(this.dutyCalculation.DeclarationCountry.Id, Enum.EnumTariffCodeType.NationMeasure, false, this.dutyCalculation.TariffCode,0,163).result.then(\r\n (result: interfaces.tariff.INationalMeasureCodeLookup) => {\r\n this.Reset();\r\n this.dutyCalculation.TariffCode = result.NationalMeasureCode;\r\n this.dutyCalculation.SimulationDate = result.SimulationDate;\r\n //this.dutyCalculation.TariffDescription = result.Description;\r\n\r\n var dutyCalculationHSCode = {\r\n Code: result.NationalMeasureCode, CountryId: result.CountryId, SimulationDate: result.SimulationDate, Description: \"\"\r\n }\r\n\r\n this.dutyCalculatorService.GetHSCodeDescription().save({}, dutyCalculationHSCode, (data: interfaces.customs.DutyCalculationHSCode) => {\r\n this.dutyCalculation.TariffDescription = data.Description;\r\n \r\n }, (errorResponse) => {\r\n this.generalService.displayMessageHandler(errorResponse.data);\r\n\r\n });\r\n\r\n this.countryService.get().get({\r\n cntId: result.CountryId\r\n }, (result: interfaces.applicationcore.ICountry) => {\r\n this.dutyCalculation.DeclarationCountry = {\r\n Id: result.Id,\r\n Code: result.Code,\r\n Description: result.Description,\r\n Display: result.Code + \" - \" + result.Description,\r\n Selected: true\r\n };\r\n this.CODChanged(this.dutyCalculation.DeclarationCountry);\r\n })\r\n\r\n }, (errorResult) => {\r\n\r\n });\r\n }\r\n\r\n };\r\n\r\n angular.module(\"app\").controller(\"tariffCodeCalculateDutiesCtrl\", controllers.tariff.tariffCodeCalculateDutiesCtrl);\r\n }\r\n}"]}