{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/basket/basket-item.ts","./src/app/components/basket/basket.component.html","./src/app/components/basket/basket.component.ts","./src/app/components/basket/basket.service.ts","./src/app/components/pickers/account-picker/account-picker.component.html","./src/app/components/pickers/account-picker/account-picker.component.ts","./src/app/components/pickers/concrete-strength-picker/concrete-strength-picker.component.html","./src/app/components/pickers/concrete-strength-picker/concrete-strength-picker.component.ts","./src/app/components/pickers/customer-picker/customer-picker.component.html","./src/app/components/pickers/customer-picker/customer-picker.component.ts","./src/app/components/pickers/projects/project-picker/project-picker.component.html","./src/app/components/pickers/projects/project-picker/project-picker.component.ts","./src/app/components/pickers/projects/project-role-picker/project-role-picker.component.html","./src/app/components/pickers/projects/project-role-picker/project-role-picker.component.ts","./src/app/components/pickers/quote-test-picker/quote-test-picker.component.html","./src/app/components/pickers/quote-test-picker/quote-test-picker.component.ts","./src/app/components/pickers/report-type-picker/report-type-picker.component.html","./src/app/components/pickers/report-type-picker/report-type-picker.component.ts","./src/app/components/pickers/technician-picker/technician-picker.component.html","./src/app/components/pickers/technician-picker/technician-picker.component.ts","./src/app/components/pickers/testtypes/plate-load-picker/plate-load-picker.component.html","./src/app/components/pickers/testtypes/plate-load-picker/plate-load-picker.component.ts","./src/app/components/pickers/testtypes/plate-load-size-picker/plate-load-size-picker.component.html","./src/app/components/pickers/testtypes/plate-load-size-picker/plate-load-size-picker.component.ts","./src/app/components/pickers/testtypes/plate-size-picker/plate-size-picker.component.html","./src/app/components/pickers/testtypes/plate-size-picker/plate-size-picker.component.ts","./src/app/components/pickers/user-profile-picker/user-profile-picker.component.html","./src/app/components/pickers/user-profile-picker/user-profile-picker.component.ts","./src/app/models/concretepour.ts","./src/app/pages/administration/problematic-jobs/problematic-jobs.component.html","./src/app/pages/administration/problematic-jobs/problematic-jobs.component.ts","./src/app/pages/administration/projects/project-manage/project-manage.component.html","./src/app/pages/administration/projects/project-manage/project-manage.component.ts","./src/app/pages/administration/projects/projects.component.html","./src/app/pages/administration/projects/projects.component.ts","./src/app/pages/administration/review/review-manage/concrete-pour-review/concrete-pour-review.component.html","./src/app/pages/administration/review/review-manage/concrete-pour-review/concrete-pour-review.component.ts","./src/app/pages/administration/review/review-manage/plate-bearing-review/plate-bearing-review.component.html","./src/app/pages/administration/review/review-manage/plate-bearing-review/plate-bearing-review.component.ts","./src/app/pages/administration/review/review-manage/review-manage.component.html","./src/app/pages/administration/review/review-manage/review-manage.component.ts","./src/app/pages/administration/review/review.component.html","./src/app/pages/administration/review/review.component.ts","./src/app/pages/administration/scheduler/scheduler-manage/scheduler-manage.component.html","./src/app/pages/administration/scheduler/scheduler-manage/scheduler-manage.component.ts","./src/app/pages/administration/scheduler/scheduler.component.html","./src/app/pages/administration/scheduler/scheduler.component.ts","./src/app/pages/administration/technicians/technician-manage/technician-manage.component.html","./src/app/pages/administration/technicians/technician-manage/technician-manage.component.ts","./src/app/pages/administration/technicians/technicians.component.html","./src/app/pages/administration/technicians/technicians.component.ts","./src/app/pages/administration/test-types/test-type-manage/test-type-manage.component.html","./src/app/pages/administration/test-types/test-type-manage/test-type-manage.component.ts","./src/app/pages/administration/test-types/test-types.component.html","./src/app/pages/administration/test-types/test-types.component.ts","./src/app/pages/administration/webusers/webusers-manage/webusers-manage.component.html","./src/app/pages/administration/webusers/webusers-manage/webusers-manage.component.ts","./src/app/pages/administration/webusers/webusers.component.html","./src/app/pages/administration/webusers/webusers.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/invoices/invoices.component.html","./src/app/pages/invoices/invoices.component.ts","./src/app/pages/login/login.component.html","./src/app/pages/login/login.component.ts","./src/app/pages/reports/concrete-pour-reports/concrete-pour-reports.component.html","./src/app/pages/reports/concrete-pour-reports/concrete-pour-reports.component.ts","./src/app/pages/reports/concrete-pour-reports/review/concrete-pour-review.component.html","./src/app/pages/reports/concrete-pour-reports/review/concrete-pour-review.component.ts","./src/app/pages/reports/plate-bearing-reports/plate-bearing-reports.component.html","./src/app/pages/reports/plate-bearing-reports/plate-bearing-reports.component.ts","./src/app/pages/reports/plate-bearing-reports/review/review.component.html","./src/app/pages/reports/plate-bearing-reports/review/review.component.ts","./src/app/services/account.service.ts","./src/app/services/auth.service.ts","./src/app/services/concrete-pour.service.ts","./src/app/services/concrete-strength.service.ts","./src/app/services/customer.service.ts","./src/app/services/force-calculator.service.ts","./src/app/services/invoice.service.ts","./src/app/services/issue.service.ts","./src/app/services/job-plate-test.service.ts","./src/app/services/job.service.ts","./src/app/services/material.service.ts","./src/app/services/plate-test.service.ts","./src/app/services/project.service.ts","./src/app/services/quote.service.ts","./src/app/services/reaction-load.service.ts","./src/app/services/report-type.service.ts","./src/app/services/reportable.service.ts","./src/app/services/save-filter.service.ts","./src/app/services/service-products.service.ts","./src/app/services/technician.service.ts","./src/app/services/test.service.ts","./src/app/services/webuser.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { ProjectsComponent } from './pages/administration/projects/projects.component';\r\nimport { InvoicesComponent } from './pages/invoices/invoices.component';\r\nimport { ProjectManageComponent } from './pages/administration/projects/project-manage/project-manage.component';\r\nimport { SchedulerComponent } from './pages/administration/scheduler/scheduler.component';\r\nimport { SchedulerManageComponent } from './pages/administration/scheduler/scheduler-manage/scheduler-manage.component';\r\nimport { TechniciansComponent } from './pages/administration/technicians/technicians.component';\r\nimport { TechnicianManageComponent } from './pages/administration/technicians/technician-manage/technician-manage.component';\r\nimport { TestTypesComponent } from './pages/administration/test-types/test-types.component';\r\nimport { TestTypeManageComponent } from './pages/administration/test-types/test-type-manage/test-type-manage.component';\r\nimport { PlateBearingReportsComponent } from './pages/reports/plate-bearing-reports/plate-bearing-reports.component';\r\nimport { ConcretePourReportsComponent } from './pages/reports/concrete-pour-reports/concrete-pour-reports.component';\r\nimport { ConcretePourReportsManageReviewComponent } from './pages/reports/concrete-pour-reports/review/concrete-pour-review.component';\r\nimport { ReportsManageReviewComponent } from './pages/reports/plate-bearing-reports/review/review.component';\r\nimport { WebusersComponent } from './pages/administration/webusers/webusers.component';\r\nimport { WebusersManageComponent } from './pages/administration/webusers/webusers-manage/webusers-manage.component';\r\nimport { ProblematicJobsComponent } from './pages/administration/problematic-jobs/problematic-jobs.component';\r\nimport { ReviewComponent } from './pages/administration/review/review.component';\r\nimport { ReviewManageComponent } from './pages/administration/review/review-manage/review-manage.component';\r\n//import { ReviewManageReviewComponent } from './pages/administration/review/review-manage/review/review.component';\r\nimport { PlateBearingManageReviewComponent } from './pages/administration/review/review-manage/plate-bearing-review/plate-bearing-review.component';\r\nimport { ConcretePourManageReviewComponent } from './pages/administration/review/review-manage/concrete-pour-review/concrete-pour-review.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\r\n { path: 'dashboard', component: DashboardComponent },\r\n {\r\n path: 'project', children: [\r\n { path: '', component: ProjectsComponent },\r\n { path: 'manage', component: ProjectManageComponent },\r\n { path: 'manage/:id', component: ProjectManageComponent }\r\n ]\r\n },\r\n {\r\n path: 'scheduler', children: [\r\n { path: '', component: SchedulerComponent },\r\n { path: 'manage', component: SchedulerManageComponent },\r\n { path: 'manage/:id', component: SchedulerManageComponent }\r\n ]\r\n },\r\n {\r\n path: 'testtypes', children: [\r\n { path: '', component: TestTypesComponent },\r\n { path: 'manage', component: TestTypeManageComponent },\r\n { path: 'manage/:id', component: TestTypeManageComponent }\r\n ]\r\n },\r\n {\r\n path: 'technicians', children: [\r\n { path: '', component: TechniciansComponent },\r\n { path: 'manage', component: TechnicianManageComponent },\r\n { path: 'manage/:id', component: TechnicianManageComponent }\r\n ]\r\n },\r\n {\r\n path: 'users', children: [\r\n { path: '', component: WebusersComponent },\r\n { path: 'manage', component: WebusersManageComponent },\r\n { path: 'manage/:id', component: WebusersManageComponent }\r\n ]\r\n },\r\n {\r\n path: 'reviews', children: [\r\n { path: '', component: ReviewComponent },\r\n { path: 'manage', component: ReviewManageComponent },\r\n { path: 'manage/:id', component: ReviewManageComponent },\r\n { path: 'manage/review/plate-bearing/:id/:jobId', component: PlateBearingManageReviewComponent },\r\n { path: 'manage/review/concrete-pour/:id/:jobId', component: ConcretePourManageReviewComponent },\r\n ]\r\n },\r\n\r\n //{ path: 'reviews/manage/review/plate-bearing/:id/:jobId', component: PlateBearingManageReviewComponent},\r\n //{ path: 'reviews/manage/review/concrete-pour/:id/:jobId', component: ConcretePourManageReviewComponent},\r\n //{ path: 'reviews/manage/reviews/plate-bearing/:id/:jobId', component: PlateBearingManageReviewComponent},\r\n //{ path: 'reviews/manage/reviews/concrete-pour/:id/:jobId', component: ConcretePourManageReviewComponent},\r\n {\r\n path: 'problematicjobs', children: [\r\n { path: '', component: ProblematicJobsComponent },\r\n { path: 'manage/:id', component: ReviewManageComponent },\r\n { path: 'manage/review/plate-bearing/:id/:jobId', component: PlateBearingManageReviewComponent },\r\n { path: 'manage/review/concrete-pour/:id/:jobId', component: ConcretePourManageReviewComponent }, ]\r\n },\r\n { path: 'invoices', component: InvoicesComponent },\r\n {\r\n path: 'reports/platebearing', children: [\r\n { path: '', component: PlateBearingReportsComponent },\r\n { path: 'manage/:id', component: ReportsManageReviewComponent }\r\n ]\r\n },\r\n {\r\n path: 'reports/concretepour', children: [\r\n { path: '', component: ConcretePourReportsComponent },\r\n { path: 'manage/:id', component: ConcretePourReportsManageReviewComponent }\r\n ]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { useHash: true })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from './services/auth.service';\r\nimport { SnotifyService, ToastDefaults } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'BHPWebApp';\r\n isAuthed: boolean = false;\r\n\r\n constructor(private authService: AuthService,private snotifyService: SnotifyService) {\r\n this.authService.currentUser.subscribe((currentUser) => {\r\n this.isAuthed = this.authService.isAuthed();\r\n });\r\n\r\n this.snotifyService.config = ToastDefaults;\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, DEFAULT_CURRENCY_CODE } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { CalendarModule } from 'primeng/calendar';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { ProjectsComponent } from './pages/administration/projects/projects.component';\r\nimport { ProjectService } from './services/project.service';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AccountService } from './services/account.service';\r\nimport { AccountPickerComponent } from './components/pickers/account-picker/account-picker.component';\r\nimport { ProjectPickerComponent } from './components/pickers/projects/project-picker/project-picker.component';\r\nimport { CustomerPickerComponent } from './components/pickers/customer-picker/customer-picker.component';\r\nimport { CustomerService } from './services/customer.service';\r\nimport { TestPickerComponent } from './components/pickers/test-picker/test-picker.component';\r\nimport { TestService } from './services/test.service';\r\nimport { InvoicesComponent } from './pages/invoices/invoices.component';\r\nimport { InvoiceService } from './services/invoice.service';\r\nimport { ProjectRolePickerComponent } from './components/pickers/projects/project-role-picker/project-role-picker.component';\r\nimport { ServiceProductsService } from './services/service-products.service';\r\nimport { ReportTypeService } from './services/report-type.service';\r\nimport { ServiceProductsPickerComponent } from './components/pickers/service-products-picker/service-products-picker.component';\r\nimport { ReportTypePickerComponent } from './components/pickers/report-type-picker/report-type-picker.component';\r\nimport { AuthService } from './services/auth.service';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { QuoteTestPickerComponent } from './components/pickers/quote-test-picker/quote-test-picker.component';\r\nimport { QuoteService } from './services/quote.service';\r\nimport { SnotifyModule, SnotifyService, ToastDefaults } from 'ng-snotify';\r\nimport { ProjectManageComponent } from './pages/administration/projects/project-manage/project-manage.component';\r\nimport { JobService } from './services/job.service';\r\nimport { SchedulerComponent } from './pages/administration/scheduler/scheduler.component';\r\nimport { SchedulerManageComponent } from './pages/administration/scheduler/scheduler-manage/scheduler-manage.component';\r\nimport { TechniciansComponent } from './pages/administration/technicians/technicians.component';\r\nimport { TechnicianManageComponent } from './pages/administration/technicians/technician-manage/technician-manage.component';\r\nimport { TechnicianService } from './services/technician.service';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule, DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MAT_MOMENT_DATE_FORMATS, MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\r\nimport { TechnicianPickerComponent } from './components/pickers/technician-picker/technician-picker.component'\r\nimport { ConcreteStrengthPickerComponent } from './components/pickers/concrete-strength-picker/concrete-strength-picker.component'\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { TestTypesComponent } from './pages/administration/test-types/test-types.component';\r\nimport { TestTypeManageComponent } from './pages/administration/test-types/test-type-manage/test-type-manage.component';\r\nimport { PlateSizePickerComponent } from './components/pickers/testtypes/plate-size-picker/plate-size-picker.component';\r\nimport { PlateTestService } from './services/plate-test.service';\r\nimport { PlateLoadSizePickerComponent } from './components/pickers/testtypes/plate-load-size-picker/plate-load-size-picker.component';\r\nimport { PlateLoadPickerComponent } from './components/pickers/testtypes/plate-load-picker/plate-load-picker.component';\r\nimport { PlateBearingReportsComponent } from './pages/reports/plate-bearing-reports/plate-bearing-reports.component';\r\nimport { ReportsManageReviewComponent } from './pages/reports/plate-bearing-reports/review/review.component';\r\nimport { ReportableService } from './services/reportable.service';\r\nimport { IssueService } from './services/issue.service';\r\nimport { WebusersComponent } from './pages/administration/webusers/webusers.component';\r\nimport { WebusersManageComponent } from './pages/administration/webusers/webusers-manage/webusers-manage.component';\r\nimport { WebUserService } from './services/webuser.service';\r\nimport { UserProfilePickerComponent } from './components/pickers/user-profile-picker/user-profile-picker.component';\r\nimport { ProblematicJobsComponent } from './pages/administration/problematic-jobs/problematic-jobs.component';\r\nimport { ReviewComponent } from './pages/administration/review/review.component';\r\nimport { ReviewManageComponent } from './pages/administration/review/review-manage/review-manage.component';\r\nimport { JobPlateTestService } from './services/job-plate-test.service';\r\nimport { SaveFilterService } from './services/save-filter.service';\r\n/*import { ReviewManageReviewComponent } from './pages/administration/review/review-manage/review/review.component';*/\r\nimport { ForceCalculatorService } from './services/force-calculator.service';\r\nimport {DialogModule} from 'primeng/dialog';\r\nimport { ReactionLoadService } from './services/reaction-load.service';\r\nimport { MaterialService } from './services/material.service';\r\nimport { BasketComponent } from './components/basket/basket.component';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { ConcretePourReportsComponent } from './pages/reports/concrete-pour-reports/concrete-pour-reports.component';\r\nimport { ConcretePourReportsManageReviewComponent } from './pages/reports/concrete-pour-reports/review/concrete-pour-review.component';\r\nimport { ConcretePourService } from './services/concrete-pour.service';\r\nimport { ConcreteStrengthService } from './services/concrete-strength.service';\r\nimport { PlateBearingManageReviewComponent } from './pages/administration/review/review-manage/plate-bearing-review/plate-bearing-review.component';\r\nimport { ConcretePourManageReviewComponent } from './pages/administration/review/review-manage/concrete-pour-review/concrete-pour-review.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DashboardComponent,\r\n ProjectsComponent,\r\n AccountPickerComponent,\r\n ProjectPickerComponent,\r\n CustomerPickerComponent,\r\n TestPickerComponent,\r\n InvoicesComponent,\r\n ProjectRolePickerComponent,\r\n ServiceProductsPickerComponent,\r\n ReportTypePickerComponent,\r\n LoginComponent,\r\n QuoteTestPickerComponent,\r\n ProjectManageComponent,\r\n SchedulerComponent,\r\n SchedulerManageComponent,\r\n TechniciansComponent,\r\n TechnicianManageComponent,\r\n TechnicianPickerComponent,\r\n ConcreteStrengthPickerComponent,\r\n TestTypesComponent,\r\n TestTypeManageComponent,\r\n PlateSizePickerComponent,\r\n PlateLoadSizePickerComponent,\r\n PlateLoadPickerComponent,\r\n PlateBearingReportsComponent,\r\n ConcretePourReportsComponent,\r\n ConcretePourReportsManageReviewComponent,\r\n ReportsManageReviewComponent,\r\n WebusersComponent,\r\n WebusersManageComponent,\r\n UserProfilePickerComponent,\r\n ReviewComponent,\r\n ProblematicJobsComponent,\r\n ReviewManageComponent,\r\n BasketComponent,\r\n PlateBearingManageReviewComponent,\r\n ConcretePourManageReviewComponent\r\n ], \r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n NgSelectModule,\r\n FormsModule,\r\n CalendarModule,\r\n NgxDatatableModule,\r\n SnotifyModule,\r\n BrowserAnimationsModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n NgxMaterialTimepickerModule,\r\n DialogModule,\r\n ConfirmDialogModule\r\n ],\r\n providers: [\r\n ProjectService,\r\n AccountService,\r\n CustomerService,\r\n TestService,\r\n InvoiceService,\r\n ServiceProductsService,\r\n ReportTypeService,\r\n AuthService,\r\n QuoteService,\r\n JobService,\r\n TechnicianService,\r\n PlateTestService,\r\n ReportableService,\r\n IssueService,\r\n WebUserService,\r\n JobPlateTestService,\r\n SaveFilterService,\r\n ForceCalculatorService,\r\n ConcretePourService,\r\n ReactionLoadService,\r\n ConcreteStrengthService,\r\n CookieService,\r\n ConfirmationService,\r\n MaterialService,\r\n { provide: 'SnotifyToastConfig', useValue: ToastDefaults },\r\n SnotifyService,\r\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export class BasketItem {\r\n id: string;\r\n title: string;\r\n details: string;\r\n tag: string;\r\n report_Type_Id: number;\r\n company_Id: string;\r\n company_Name: string;\r\n location_Id: string;\r\n location_Name: string;\r\n serial_Num: string;\r\n description: string;\r\n sub_Location: string;\r\n status: string;\r\n engineer: string;\r\n inspected_Date: string;\r\n next_Inspection_Date: string;\r\n defects: string;\r\n repair: string;\r\n identification: string;\r\n job_No: string;\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Basket\r\n
\r\n
\r\n {{ basketItems.length }} items\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
{{ item.title }} - {{ item.details }} - {{ item.job_No }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { BasketItem } from './basket-item';\r\nimport { BasketService } from './basket.service';\r\nimport * as FileSaver from 'file-saver';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-basket',\r\n templateUrl: './basket.component.html',\r\n styleUrls: ['./basket.component.css']\r\n})\r\nexport class BasketComponent implements OnInit {\r\n basketItems: Array;\r\n title: string;\r\n\r\n isOpen: boolean = false;\r\n\r\n constructor(private basketService: BasketService, private snotifyService: SnotifyService) { }\r\n\r\n ngOnInit() {\r\n this.basketService.basketItems.subscribe(data => {\r\n this.basketItems = data;\r\n });\r\n }\r\n\r\n downloadZip() {\r\n if (this.basketItems.length == 0) {\r\n this.snotifyService.error(\"There is nothing in the basket\");\r\n return;\r\n }\r\n\r\n this.basketService.getZip().then((data => {\r\n FileSaver.saveAs(data, \"Inspections.zip\");\r\n }))\r\n }\r\n\r\n downloadBatch() {\r\n if (this.basketItems.length == 0) {\r\n this.snotifyService.error(\"There is nothing in the basket\");\r\n return;\r\n }\r\n\r\n this.basketService.getBatch().then((data => {\r\n FileSaver.saveAs(data, \"Inspections.pdf\");\r\n }))\r\n }\r\n\r\n\r\n downloadSummary() {\r\n if (this.basketService.company_Id == 'undefined' || this.basketService.company_Id == undefined || this.basketService.company_Id == null) {\r\n this.snotifyService.error(\"Please select a company\");\r\n return;\r\n } else if (this.basketService.location_Id == 'undefined' || this.basketService.location_Id == undefined || this.basketService.location_Id == null) {\r\n this.snotifyService.error(\"Please select a location\");\r\n return;\r\n }\r\n\r\n if (this.basketItems.length == 0) {\r\n this.snotifyService.error(\"There is nothing in the basket\");\r\n return;\r\n }\r\n\r\n let items = this.basketService.dataSource.filter(i => {\r\n return (i.company_Id != this.basketService.company_Id) || (i.location_Id != this.basketService.location_Id)\r\n });\r\n\r\n if (items.length > 0) {\r\n this.snotifyService.error(\"Invalid items in the basket\");\r\n return;\r\n } else {\r\n this.basketService.getSummary().then((data => {\r\n FileSaver.saveAs(data, \"Summary.pdf\");\r\n }))\r\n }\r\n \r\n }\r\n\r\n download() {\r\n this.basketService.getBatch().then((data => {\r\n FileSaver.saveAs(data, \"Batch.pdf\");\r\n }))\r\n }\r\n\r\n clear() {\r\n this.basketService.clear();\r\n }\r\n\r\n remove(item) {\r\n this.basketService.remove(item);\r\n }\r\n\r\n toggle() {\r\n this.isOpen = !this.isOpen;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BasketItem } from './basket-item';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { ReportableService } from 'src/app/services/reportable.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BasketService {\r\n\r\n //We have an observable so that we can subscribe to the results;\r\n\r\n basketItems: BehaviorSubject>;\r\n dataSource: Array;\r\n company_Id: string;\r\n location_Id: string;\r\n\r\n constructor(private http: HttpClient,private reportableService: ReportableService) {\r\n this.dataSource = new Array();\r\n this.basketItems = new BehaviorSubject>(this.dataSource);\r\n //this.basketItems.next(this.dataSource);\r\n }\r\n\r\n public add(item: BasketItem) {\r\n if (this.dataSource.some(x => x.id === item.id))\r\n return;\r\n\r\n this.dataSource.unshift(item);\r\n this.basketItems.next(this.dataSource);\r\n }\r\n\r\n public remove(item: BasketItem) {\r\n const index: number = this.dataSource.indexOf(item);\r\n if (index !== -1) {\r\n this.dataSource.splice(index, 1);\r\n }\r\n this.basketItems.next(this.dataSource);\r\n }\r\n\r\n public getItems() {\r\n return this.basketItems;\r\n }\r\n\r\n public getDatasource() {\r\n return this.dataSource;\r\n }\r\n\r\n public getItem(id) {\r\n for(var i = 0;i< this.dataSource.length; i++){\r\n var item = this.dataSource[i];\r\n if(item.id == id)\r\n return item;\r\n }\r\n }\r\n\r\n public clear() {\r\n this.dataSource = new Array();\r\n this.basketItems.next(this.dataSource);\r\n }\r\n\r\n\r\n\r\n downloadReport() {\r\n this.reportableService.getBatch(this.dataSource).then((data) => {\r\n importedSaveAs(data, \"Batch Report.pdf\");\r\n })\r\n }\r\n\r\n public getSummary(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.post('api/inspection/PostSummary', this.dataSource).subscribe(data => {\r\n var blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(blob)\r\n console.log(blob);\r\n this.clear();\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getZip(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.reportableService.getBatch(this.dataSource).then((data) => {\r\n var blob = this.convertBase64toBlob(data, 'application/zip');\r\n resolve(blob)\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getBatch(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.reportableService.getBatch(this.dataSource).then((data) => {\r\n var blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(blob)\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n convertBase64toBlob(content, contentType) {\r\n contentType = contentType || '';\r\n var sliceSize = 512;\r\n var byteCharacters = window.atob(content); //method which converts base64 to binary\r\n var byteArrays = [\r\n ];\r\n for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n var slice = byteCharacters.slice(offset, offset + sliceSize);\r\n var byteNumbers = new Array(slice.length);\r\n for (var i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n var blob = new Blob(byteArrays, {\r\n type: contentType\r\n }); //statement which creates the blob\r\n return blob;\r\n }\r\n}\r\n","\r\n \r\n
\r\n
Code
\r\n
Customer
\r\n
\r\n
\r\n \r\n
\r\n
{{ item.accountCode }} - {{ item.companyName }}
\r\n
\r\n
\r\n \r\n
\r\n
{{ item.accountCode }}
\r\n
{{ item.companyName }}
\r\n
\r\n
\r\n
","import { Component, OnInit, Output, EventEmitter, Input, SimpleChanges, OnChanges } from '@angular/core';\r\nimport { AccountService } from 'src/app/services/account.service';\r\n\r\n@Component({\r\n selector: 'app-account-picker',\r\n templateUrl: './account-picker.component.html',\r\n styleUrls: ['./account-picker.component.scss']\r\n})\r\nexport class AccountPickerComponent implements OnInit, OnChanges {\r\n @Input() existingAccountId: number;\r\n @Output() onAccountIdSet = new EventEmitter();\r\n\r\n accountId: number;\r\n\r\n accounts = [];\r\n constructor(private accountService: AccountService) { }\r\n\r\n ngOnInit(): void {\r\n this.accountService.get().then((accounts) => {\r\n this.accounts = accounts;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.existingAccountId != null && changes.existingAccountId.currentValue) {\r\n this.accountId = this.existingAccountId;\r\n }\r\n }\r\n\r\n accountChanged() {\r\n this.onAccountIdSet.emit(this.accountId);\r\n }\r\n}\r\n","\r\n\r\n\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { ConcreteStrengthService } from 'src/app/services/concrete-strength.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-concrete-strength-picker',\r\n templateUrl: './concrete-strength-picker.component.html',\r\n styleUrls: ['./concrete-strength-picker.component.scss']\r\n})\r\nexport class ConcreteStrengthPickerComponent implements OnInit {\r\n @Output() onConcreteStrengthSet = new EventEmitter();\r\n\r\n @Input() concreteStrength: string;\r\n concreteStrengths = [];\r\n\r\n\r\n\r\n constructor(private concreteStrengthService: ConcreteStrengthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.concreteStrengthService.get().then((concreteStrengths) => {\r\n this.concreteStrengths = concreteStrengths;\r\n console.log(\"loading: \" + this.concreteStrength);\r\n console.log(concreteStrengths);\r\n var concreteStrength = this.concreteStrengths.find(a => a.name == this.concreteStrength);\r\n if (concreteStrength == null || concreteStrength == undefined) {\r\n var i = {\r\n archived: false,\r\n concreteStrengthId: (this.concreteStrength.length + 1),\r\n name: this.concreteStrength\r\n }\r\n this.concreteStrengths.push(i);\r\n }\r\n\r\n\r\n\r\n if (this.concreteStrength != null)\r\n this.concreteStrengthChanged();\r\n });\r\n }\r\n\r\n\r\n concreteStrengthChanged() {\r\n var concreteStrength = this.concreteStrengths.find(a => a.name == this.concreteStrength);\r\n if (concreteStrength != null)\r\n this.onConcreteStrengthSet.emit(concreteStrength.name);\r\n else {\r\n\r\n this.onConcreteStrengthSet.emit(this.concreteStrength);\r\n\r\n }\r\n\r\n }\r\n\r\n createNew() {\r\n console.log(this.concreteStrength);\r\n var concreteStrength = this.concreteStrengths.find(a => a.name == this.concreteStrength);\r\n if (concreteStrength == null || concreteStrength == undefined) {\r\n var i = {\r\n archived: false,\r\n concreteStrengthId: (this.concreteStrength.length + 1),\r\n name: this.concreteStrength\r\n }\r\n this.concreteStrengths.push(i);\r\n }\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, Output, EventEmitter } from '@angular/core';\r\nimport { CustomerService } from 'src/app/services/customer.service';\r\n\r\n@Component({\r\n selector: 'app-customer-picker',\r\n templateUrl: './customer-picker.component.html',\r\n styleUrls: ['./customer-picker.component.scss']\r\n})\r\nexport class CustomerPickerComponent implements OnInit, OnChanges {\r\n @Input() accountId: number;\r\n @Output() onCustomerIdSet = new EventEmitter();\r\n @Output() onCustomerSet = new EventEmitter();\r\n\r\n customerId: number;\r\n customers = [];\r\n\r\n constructor(private customerService: CustomerService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.accountId != null && changes.accountId.currentValue) {\r\n this.customerService.get(this.accountId).then((customers) => {\r\n this.customers = customers;\r\n });\r\n }\r\n }\r\n\r\n customerChanged() {\r\n this.onCustomerIdSet.emit(this.customerId);\r\n var customer = this.customers.find(a => a.customerId == this.customerId);\r\n this.onCustomerSet.emit(customer);\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, Output, EventEmitter } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\n\r\n@Component({\r\n selector: 'app-project-picker',\r\n templateUrl: './project-picker.component.html',\r\n styleUrls: ['./project-picker.component.scss']\r\n})\r\nexport class ProjectPickerComponent implements OnInit, OnChanges {\r\n @Input() existingProjectId: number;\r\n @Input() accountId: number;\r\n @Output() onProjectIdSet = new EventEmitter();\r\n @Output() onProjectSet = new EventEmitter();\r\n\r\n projectId: number;\r\n\r\n allProjects = [];\r\n projects = [];\r\n constructor(private projectService: ProjectService) { }\r\n\r\n ngOnInit(): void {\r\n this.projectService.get().then((projects) => {\r\n this.allProjects = projects;\r\n this.projects = projects;\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateProjects();\r\n\r\n if (changes.existingProjectId != null && changes.existingProjectId.currentValue) {\r\n this.projectId = this.existingProjectId;\r\n }\r\n }\r\n\r\n updateProjects(): void {\r\n this.projects = this.allProjects.filter(a => a.accountId == this.accountId);\r\n }\r\n\r\n projectChanged() {\r\n this.onProjectIdSet.emit(this.projectId);\r\n var project = this.projects.find(a => a.projectId == this.projectId);\r\n this.onProjectSet.emit(project);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\n\r\n@Component({\r\n selector: 'app-project-role-picker',\r\n templateUrl: './project-role-picker.component.html',\r\n styleUrls: ['./project-role-picker.component.scss']\r\n})\r\nexport class ProjectRolePickerComponent implements OnInit {\r\n @Output() onRoleSet = new EventEmitter();\r\n\r\n projectRoleId: number;\r\n roles = [];\r\n\r\n constructor(private projectService: ProjectService) { }\r\n\r\n ngOnInit(): void {\r\n this.projectService.getRoles().then((roles) => {\r\n this.roles = roles;\r\n });\r\n }\r\n\r\n\r\n roleChanged() {\r\n var role = this.roles.find(a => a.projectRoleId == this.projectRoleId);\r\n this.onRoleSet.emit(role);\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Input, EventEmitter, Output, SimpleChanges } from '@angular/core';\r\nimport { ServiceProductsService } from 'src/app/services/service-products.service';\r\nimport { QuoteService } from 'src/app/services/quote.service';\r\nimport { ReportType } from 'src/app/models/report-type';\r\n\r\n@Component({\r\n selector: 'app-quote-test-picker',\r\n templateUrl: './quote-test-picker.component.html',\r\n styleUrls: ['./quote-test-picker.component.scss']\r\n})\r\nexport class QuoteTestPickerComponent implements OnInit {\r\n @Input() projectId: number;\r\n @Input() serviceProductId: number;\r\n @Input() reportTypes: ReportType[];\r\n @Output() onTestSet = new EventEmitter();\r\n\r\n quoteTestVariantId: number;\r\n testVariants = [];\r\n\r\n constructor(private quoteService: QuoteService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n console.log(\"ngOnChanges\");\r\n console.log(changes);\r\n if (changes.projectId != undefined && changes.projectId.currentValue != undefined)\r\n this.projectId = changes.projectId.currentValue;\r\n if (changes.serviceProductId != undefined && changes.serviceProductId.currentValue != undefined)\r\n this.serviceProductId = changes.serviceProductId.currentValue;\r\n\r\n if (this.projectId != null && this.serviceProductId != null) {\r\n if(this.reportTypes == null){\r\n // this.quoteService.getProjectQuoteTests(this.projectId, this.serviceProductId).then((variants) => {\r\n // this.testVariants = variants;\r\n // console.log(\"testVariants\");\r\n // console.log(this.testVariants);\r\n // });\r\n }\r\n else{\r\n console.log(this.reportTypes);\r\n console.log(this.reportTypes.length);\r\n var t = [];\r\n for(var i = 0; i {\r\n this.testVariants = variants;\r\n console.log(\"testVariants\");\r\n console.log(this.testVariants);\r\n });\r\n }\r\n\r\n }\r\n }\r\n\r\n testChanged() {\r\n var test = this.testVariants.find(a => a.quoteTestVariantId == this.quoteTestVariantId);\r\n this.onTestSet.emit(test);\r\n }\r\n\r\n}\r\n","\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { ReportTypeService } from '../../../services/report-type.service';\r\n\r\n@Component({\r\n selector: 'app-report-type-picker',\r\n templateUrl: './report-type-picker.component.html',\r\n styleUrls: ['./report-type-picker.component.scss']\r\n})\r\nexport class ReportTypePickerComponent implements OnInit, OnChanges {\r\n @Input() existingReportTypeId: number;\r\n @Output() onSet = new EventEmitter();\r\n\r\n reportTypeId: number;\r\n reportTypes = [];\r\n\r\n constructor(private reportTypeService: ReportTypeService) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes.existingReportTypeId.currentValue != null && changes.existingReportTypeId.currentValue == 0) {\r\n this.reportTypeService.get().then((data) => {this.reportTypes = data;});\r\n }\r\n if (changes.existingReportTypeId.currentValue != null && changes.existingReportTypeId.currentValue == 0) {\r\n this.reportTypeId = this.existingReportTypeId;\r\n }\r\n }\r\n\r\n reportTypeChanged() {\r\n var type = this.reportTypes.find(a => a.reportTypeId == this.reportTypeId);\r\n this.onSet.emit(type);\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { TechnicianService } from 'src/app/services/technician.service';\r\n\r\n@Component({\r\n selector: 'app-technician-picker',\r\n templateUrl: './technician-picker.component.html',\r\n styleUrls: ['./technician-picker.component.scss']\r\n})\r\nexport class TechnicianPickerComponent implements OnInit {\r\n @Output() onTechnicianSet = new EventEmitter();\r\n\r\n @Input() technicianId: number;\r\n technicians = [];\r\n\r\n constructor(private technicianService: TechnicianService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.technicianService.getTable().then((technicians) => {\r\n this.technicians = technicians;\r\n\r\n if (this.technicianId != null)\r\n this.technicianChanged();\r\n });\r\n }\r\n\r\n\r\n technicianChanged() {\r\n var technician = this.technicians.find(a => a.id == this.technicianId);\r\n this.onTechnicianSet.emit(technician);\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Output, EventEmitter, Input, SimpleChanges, OnChanges } from '@angular/core';\r\nimport { PlateTestService } from 'src/app/services/plate-test.service';\r\n\r\n@Component({\r\n selector: 'app-plate-load-picker',\r\n templateUrl: './plate-load-picker.component.html',\r\n styleUrls: ['./plate-load-picker.component.scss']\r\n})\r\nexport class PlateLoadPickerComponent implements OnInit, OnChanges {\r\n @Input() plateLoadIncrement: number;\r\n @Output() onPlateLoadSet = new EventEmitter();\r\n\r\n plateLoadId: number;\r\n plateLoads = [];\r\n\r\n constructor(private plateTestService: PlateTestService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.plateTestService.getPlateLoads().then((loads) => {\r\n this.plateLoads = loads;\r\n\r\n this.updateByLoad();\r\n });\r\n }\r\n\r\n updateByLoad() {\r\n if (this.plateLoads.length > 0 && this.plateLoadIncrement != null) {\r\n var load = this.plateLoads.find(a => a.load == this.plateLoadIncrement);\r\n if (load != null) {\r\n this.plateLoadId = load.id;\r\n }\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.updateByLoad();\r\n }\r\n\r\n plateLoadChanged() {\r\n var plateLoad = this.plateLoads.find(a => a.id == this.plateLoadId);\r\n this.onPlateLoadSet.emit(plateLoad);\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { PlateTestService } from 'src/app/services/plate-test.service';\r\n\r\n@Component({\r\n selector: 'app-plate-load-size-picker',\r\n templateUrl: './plate-load-size-picker.component.html',\r\n styleUrls: ['./plate-load-size-picker.component.scss']\r\n})\r\nexport class PlateLoadSizePickerComponent implements OnInit {\r\n @Input() plateLoadSizeId: number;\r\n @Output() onLoadPlateSizeSet = new EventEmitter();\r\n\r\n\r\n plateLoadSizes = [];\r\n\r\n constructor(private plateTestService: PlateTestService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.plateTestService.getLoadPlateSizes().then((sizes) => {\r\n this.plateLoadSizes = sizes;\r\n });\r\n }\r\n\r\n plateLoadSizeChanged() {\r\n var loadPlateSize = this.plateLoadSizes.find(a => a.id == this.plateLoadSizeId);\r\n this.onLoadPlateSizeSet.emit(loadPlateSize);\r\n }\r\n\r\n}\r\n","\r\n","import { Component, OnInit, Output, EventEmitter, SimpleChanges, Input } from '@angular/core';\r\nimport { QuoteService } from 'src/app/services/quote.service';\r\nimport { PlateTestService } from 'src/app/services/plate-test.service';\r\n\r\n@Component({\r\n selector: 'app-plate-size-picker',\r\n templateUrl: './plate-size-picker.component.html',\r\n styleUrls: ['./plate-size-picker.component.scss']\r\n})\r\nexport class PlateSizePickerComponent implements OnInit {\r\n @Input() plateSizeId: number;\r\n @Output() onPlateSizeSet = new EventEmitter();\r\n\r\n //plateSizeId: number;\r\n plateSizes = [];\r\n\r\n constructor(private plateTestService: PlateTestService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.plateTestService.getPlateSizes().then((sizes) => {\r\n this.plateSizes = sizes; \r\n }); \r\n }\r\n\r\n plateSizeChanged() {\r\n var plateSize = this.plateSizes.find(a => a.id == this.plateSizeId); \r\n this.onPlateSizeSet.emit(plateSize);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\r\nimport { WebUserService } from 'src/app/services/webuser.service';\r\n\r\n@Component({\r\n selector: 'app-user-profile-picker',\r\n templateUrl: './user-profile-picker.component.html',\r\n styleUrls: ['./user-profile-picker.component.scss']\r\n})\r\nexport class UserProfilePickerComponent implements OnInit {\r\n @Input() userId: number;\r\n @Output() onProfileSet = new EventEmitter();\r\n\r\n userProfiles = [];\r\n\r\n constructor(private webUserService: WebUserService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.webUserService.getProfiles().then((profiles) => {\r\n this.userProfiles = profiles;\r\n });\r\n }\r\n\r\n userChanged() {\r\n var user = this.userProfiles.find(a => a.userId == this.userId);\r\n this.onProfileSet.emit(user);\r\n }\r\n\r\n}\r\n","import { concretepourrecord } from \"./concretepourrecord\";\r\nimport { technician } from \"./technician\";\r\n\r\nexport class concretepour {\r\n accountName: string;\r\n archived: boolean;\r\n concretePours: concretepourrecord[];\r\n createdAt: string;\r\n id: string;\r\n job;\r\n jobId: string;\r\n pour_Element: string;\r\n projectName: string;\r\n purchaseOrderNo: string;\r\n report_No: number;\r\n technician: technician;\r\n userId: string;\r\n technician_Name: string;\r\n reason_For_ReIssue: string;\r\n remarks: string;\r\n}\r\n","\r\n
\r\n
\r\n

Arrived - {{arrivalTime}}, Departed - {{departureTime}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ jobTest.testVariantName }} - {{ jobTest.quotePrice | currency: 'EUR' }}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Download\r\n \r\n \r\n\r\n \r\n \r\n Get Consignment\r\n Assign Test For Invoicing\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { ReportableService } from 'src/app/services/reportable.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\n\r\n@Component({\r\n selector: 'app-problematic-jobs',\r\n templateUrl: './problematic-jobs.component.html',\r\n styleUrls: ['./problematic-jobs.component.scss']\r\n})\r\nexport class ProblematicJobsComponent implements OnInit {\r\n\r\n rows = [];\r\n displayDialog: boolean = false;\r\n jobTests = [];\r\n\r\n arrivalTime = '';\r\n departureTime ='';\r\n filter = {\r\n project: \"\",\r\n account: \"\",\r\n purchaseOrder: \"\"\r\n }\r\n\r\n constructor(private jobService: JobService, private issueService: IssueService, private reportableService: ReportableService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadTable();\r\n\r\n }\r\n\r\n preview(job): void {\r\n this.reportableService.getPlateBearingByJob(job.id).then((data) => {\r\n importedSaveAs(data, \"PlateBearings.pdf\");\r\n });\r\n }\r\n\r\n issue(job): void {\r\n this.issueService.issueAgain(job.id, job.selectedJobTestForInvoicingId).then((result) => {\r\n this.loadTable();\r\n });\r\n }\r\n\r\n assignTest(job): void {\r\n\r\n this.jobService.getJobTests(job).then((data) => {\r\n this.jobTests = data;\r\n\r\n if (this.jobTests.length > 1) {\r\n this.arrivalTime = job.arrivalTime;\r\n this.departureTime = job.departureTime;\r\n this.displayDialog = true;\r\n } else {\r\n // There's only one test assigned so use this\r\n let jobTest = this.jobTests[0];\r\n this.assignTestToJobForInvoicing(jobTest);\r\n }\r\n });\r\n }\r\n\r\n setTest() {\r\n if (this.jobTests.filter(t => t.selectedForInvoicing == true).length == 0) {\r\n alert(\"Please select a test to be used for invoicing purposes\");\r\n return;\r\n }\r\n\r\n if (this.jobTests.filter(t => t.selectedForInvoicing == true).length > 1) {\r\n alert(\"Please select one test to be used for invoicing purposes\");\r\n return;\r\n }\r\n\r\n let jobTest = this.jobTests.find(u => u.selectedForInvoicing == true);\r\n this.assignTestToJobForInvoicing(jobTest);\r\n }\r\n\r\n assignTestToJobForInvoicing(jobTest) {\r\n this.jobService.assignTestForInvoicing(jobTest.id, jobTest.chosenHours).then((data) => {\r\n if (this.displayDialog) {\r\n this.displayDialog = false;\r\n }\r\n this.loadTable();\r\n });\r\n }\r\n\r\n cancel() {\r\n this.displayDialog = false;\r\n }\r\n\r\n loadTable(): void {\r\n this.jobService.getProblematicTable(this.filter.project, this.filter.account, this.filter.purchaseOrder, true, true).then((jobs) => {\r\n this.rows = jobs;\r\n console.log(this.rows);\r\n });\r\n }\r\n\r\n generateSamples(job): void {\r\n this.issueService.generateSamples(job.id).then((result) => {\r\n console.log(result);\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n

Customer & Roles

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
CustomerRoleIs Primary
{{ customerRole.customer.name}}{{ customerRole.projectRole.description}}{{ customerRole.isPrimary ? 'Y' : 'N' }}
\r\n
\r\n \r\n
\r\n

Test Types

\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Test TypePO Number
{{ type.reportType.reportTypeName}}{{ type.poNumber}}
\r\n
\r\n\r\n
\r\n

Tests

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TestRate
{{ test.testVariantName }}{{ test.quotePrice | currency: 'EUR' }}
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ReactionLoadService } from 'src/app/services/reaction-load.service';\r\n\r\n@Component({\r\n selector: 'app-project-manage',\r\n templateUrl: './project-manage.component.html',\r\n styleUrls: ['./project-manage.component.scss']\r\n})\r\nexport class ProjectManageComponent implements OnInit {\r\n\r\n id: string = null;\r\n accountId: number;\r\n projectId: number;\r\n poNumber: string;\r\n activated: boolean = false;\r\n departmentId: number;\r\n\r\n serviceProductId:number = 10;\r\n serviceProduct;\r\n\r\n customer;\r\n role;\r\n isPrimary: boolean = true;\r\n reportType;\r\n\r\n customerRoles = [];\r\n\r\n test;\r\n rate: number;\r\n\r\n tests = [];\r\n testTypes = [];\r\n reportTypeId: number = 0;\r\n notes: string;\r\n\r\n constructor(private snotifyService: SnotifyService, private projectService: ProjectService,\r\n private jobService: JobService, private route: ActivatedRoute, private router: Router) {\r\n this.projectService.getServiceProduct(this.serviceProductId).then((data) => {\r\n this.setServiceProduct(data);\r\n this.reportTypeId = 1;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n // Check to see if we are editing\r\n this.route.paramMap.subscribe((paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n if (id != null) {\r\n this.jobService.get(id).then((job) => {\r\n this.loadJob(job);\r\n });\r\n }\r\n });\r\n\r\n // this.loadDefaultDetails();\r\n \r\n }\r\n // loadDefaultDetails(){\r\n // this.projectId = 6810;\r\n // this.accountId = 2;\r\n // }\r\n\r\n back() {\r\n this.router.navigate(['project']);\r\n }\r\n\r\n loadJob(job) {\r\n this.id = job.id;\r\n this.accountId = job.accountId;\r\n this.projectId = job.projectId;\r\n this.poNumber = job.purchaseOrderNo;\r\n this.departmentId = job.project.departmentId;\r\n this.serviceProductId = job.serviceProductId;\r\n this.serviceProduct = job.serviceProduct;\r\n this.activated = job.activated;\r\n this.notes = job.notes;\r\n\r\n for (let customer of job.jobCustomers) {\r\n this.customerRoles.push(customer);\r\n }\r\n\r\n for (let test of job.jobTests) {\r\n this.tests.push(test);\r\n } \r\n for (let test of job.jobTestTypes) {\r\n this.testTypes.push(test);\r\n }\r\n }\r\n\r\n accountChanged(): void {\r\n this.customerRoles = [];\r\n }\r\n\r\n setProject(project): void {\r\n this.projectId = project.projectId;\r\n this.departmentId = project.departmentId;\r\n this.customerRoles = [];\r\n }\r\n\r\n setServiceProduct(serviceProduct): void {\r\n console.log(\"serviceProduct\");\r\n console.log(serviceProduct);\r\n this.serviceProduct = serviceProduct;\r\n }\r\n\r\n addCustomerRole(): void {\r\n if (this.role == undefined || this.customer == undefined)\r\n return;\r\n\r\n var role = {\r\n customer: this.customer,\r\n projectRole: this.role,\r\n isPrimary: this.isPrimary\r\n }\r\n\r\n if (this.customerRoles.find(c => c.customer == this.customer && c.projectRole == this.role)) {\r\n alert(\"Already added customer & role\");\r\n return;\r\n }\r\n\r\n this.customerRoles.push(role);\r\n\r\n this.isPrimary = true;\r\n }\r\n setReportType(reportType) {\r\n this.reportType = reportType;\r\n }\r\n addTestType() {\r\n var test = [];\r\n for (var i = 0; i < this.testTypes.length; i++) {\r\n test.push(this.testTypes[i]);\r\n }\r\n var testType = {\r\n poNumber: this.poNumber,\r\n reportType: this.reportType,\r\n reportTypeId: this.reportType.reportTypeId\r\n };\r\n test.push(testType);\r\n this.testTypes = test;\r\n this.poNumber = \"\";\r\n this.reportTypeId = 0;\r\n\r\n }\r\n removeTestType(type): void {\r\n var test = [];\r\n for (var i = 0; i < this.testTypes.length; i++) {\r\n test.push(this.testTypes[i]);\r\n }\r\n\r\n let index = test.indexOf(type);\r\n test.splice(index, 1);\r\n this.testTypes = test;\r\n }\r\n removeCustomerRole(customerRole): void {\r\n let index = this.customerRoles.indexOf(customerRole);\r\n this.customerRoles.splice(index, 1);\r\n }\r\n\r\n setTest(test): void {\r\n this.test = test;\r\n console.log(test);\r\n }\r\n\r\n addTest() {\r\n if (this.test == null)\r\n return;\r\n \r\n if (this.tests.find(t => t.testVariantName == this.test.testVariantName)) {\r\n alert(\"Already added test\");\r\n return;\r\n }\r\n\r\n this.tests.push(this.test);\r\n }\r\n\r\n removeTest(test): void {\r\n let index = this.tests.indexOf(test);\r\n this.tests.splice(index, 1);\r\n }\r\n\r\n async validate() {\r\n console.log(this.customerRoles);\r\n if (this.accountId == null) {\r\n alert(\"Select Account\");\r\n return false;\r\n }\r\n\r\n if (this.projectId == null) {\r\n alert(\"Select Project\");\r\n return false;\r\n }\r\n\r\n // if (this.poNumber == null || this.poNumber == \"\") {\r\n // alert(\"Enter PO Number\");\r\n // return false;\r\n // }\r\n\r\n // if (this.serviceProduct == null) {\r\n // alert(\"Service Product\");\r\n // return false;\r\n // }\r\n\r\n // Ensure we have a primary contact for each role\r\n var roles = await this.projectService.getRoles();\r\n var mandatoryRoles = roles.filter(a => a.mandatoryRole).map(a => a.projectRoleId);\r\n for (let id of mandatoryRoles) {\r\n if (this.customerRoles.filter(a => a.isPrimary && a.projectRole.projectRoleId == id).length == 0) {\r\n var neededRole = roles.find(a => a.projectRoleId == id);\r\n alert(\"Select primary role for: \" + neededRole.description);\r\n return false;\r\n }\r\n }\r\n\r\n if (this.tests.length == 0) {\r\n alert(\"Minimum of 1 test required\");\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n async save() {\r\n var passedValidation = await this.validate();\r\n if (!passedValidation) {\r\n return;\r\n }\r\n\r\n this.jobService.checkDupe(this.id, this.accountId, this.projectId, this.poNumber).then((data) => {\r\n console.log(\"data\");\r\n console.log(data);\r\n if (data != null) {\r\n this.snotifyService.error(\"There is already a Project with these details\");\r\n return;\r\n } else {\r\n\r\n var dto = {\r\n id: this.id,\r\n accountId: this.accountId,\r\n projectId: this.projectId,\r\n purchaseOrderNo: this.poNumber,\r\n serviceProductId: this.serviceProduct.serviceProductId,\r\n activated: this.activated,\r\n notes: this.notes,\r\n fromManagement: true,\r\n jobTestTypes:[],\r\n jobCustomers: [],\r\n jobTests: []\r\n }\r\n\r\n for (let customerRole of this.customerRoles) {\r\n dto.jobCustomers.push({\r\n id: customerRole.id,\r\n customerId: customerRole.customer.customerId,\r\n projectRoleId: customerRole.projectRole.projectRoleId,\r\n isPrimary: customerRole.isPrimary\r\n });\r\n }\r\n\r\n for (let test of this.tests) {\r\n dto.jobTests.push({\r\n id: test.id,\r\n testVariantId: test.testVariantId,\r\n quoteTestVariantId: test.quoteTestVariantId\r\n })\r\n }\r\n for (let test of this.testTypes) {\r\n dto.jobTestTypes.push({\r\n reportTypeId: test.reportTypeId,\r\n poNumber: test.poNumber\r\n })\r\n }\r\n\r\n if (this.id) {\r\n this.jobService.updateJob(dto);\r\n } else {\r\n this.jobService.addJob(dto);\r\n }\r\n\r\n this.router.navigate(['project']);\r\n\r\n }\r\n })\r\n }\r\n}\r\n","
\r\n Add New\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Issue Job\r\n \r\n \r\n \r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { AccountService } from 'src/app/services/account.service';\r\nimport { validate } from 'json-schema';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { SaveFilterService } from 'src/app/services/save-filter.service';\r\n\r\n@Component({\r\n selector: 'app-projects',\r\n templateUrl: './projects.component.html',\r\n styleUrls: ['./projects.component.scss']\r\n})\r\nexport class ProjectsComponent implements OnInit {\r\n\r\n rows;\r\n filter = {\r\n project: \"\",\r\n account: \"\",\r\n purchaseOrder: \"\"\r\n }\r\n\r\n constructor(private authService: AuthService, private saveFilterService:SaveFilterService,private jobService: JobService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n var savedFilter = this.saveFilterService.getFilters(this.authService.currentUser.value.id, 'projects');\r\n if(savedFilter != null){\r\n this.filter = savedFilter;\r\n //this.filter.endDate = moment().toISOString()\r\n }\r\n\r\n this.loadTable();\r\n }\r\n\r\n onSearch() {\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n // if (this.search == \"\")\r\n // return;\r\n this.saveFilterService.saveFilters(this.authService.currentUser.value.id, 'projects', this.filter);\r\n this.jobService.getTable(this.filter.project, this.filter.account, this.filter.purchaseOrder).then((rows) => {\r\n this.rows = rows;\r\n });\r\n }\r\n\r\n async toggleActivated(job) {\r\n var dbJob = await this.jobService.get(job.id);\r\n dbJob.activated = !dbJob.activated;\r\n\r\n await this.jobService.updateJob(dbJob);\r\n\r\n\r\n if (dbJob.activated) {\r\n this.router.navigate(['scheduler/manage', dbJob.id]);\r\n return;\r\n }\r\n\r\n this.loadTable();\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PositionDateAir Temp
[°C]
Concrete
[°C]
Delivery #Weather ConditionCompaction MethodConcrete per Truck
[m³]
Total Amount of Concrete
[m³]
Plant UsedConcrete StrengthBatch TimeOn SiteConcrete Pouring StartConcrete Pouring EndCube Set Ref #Flow
[mm]
Sump
[mm]
Air Void
Content
(%)
{{pour.position}}\r\n \r\n \r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ConcretePourService } from '../../../../../services/concrete-pour.service';\r\nimport { concretepour } from '../../../../../models/concretepour';\r\nimport { weather } from '../../../../../models/weather';\r\nimport { JobService } from '../../../../../services/job.service';\r\nimport * as moment from 'moment';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-concrete-pour-review-manage-review',\r\n templateUrl: './concrete-pour-review.component.html',\r\n styleUrls: ['./concrete-pour-review.component.scss']\r\n})\r\nexport class ConcretePourManageReviewComponent implements OnInit {\r\n id: string;\r\n jobId: string;\r\n inspection: concretepour;\r\n weather: weather[];\r\n compaction: [];\r\n constructor(private route: ActivatedRoute, private router: Router, public concretePourService: ConcretePourService,\r\n private jobService: JobService, private snotifyService: SnotifyService) {\r\n this.inspection = new concretepour();\r\n this.inspection.concretePours = [];\r\n jobService.getWeather().then((data) => {\r\n this.weather = data;\r\n });\r\n\r\n jobService.getCompactionMethods().then((data) => {\r\n this.compaction = data;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(async (paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n var jobId = paramsMap.get(\"jobId\");\r\n \r\n if (jobId != null) {\r\n this.jobId = jobId;\r\n this.concretePourService.get(id).then((data) => {\r\n console.log(\"data\");\r\n console.log(data);\r\n\r\n for (var a = 0; a < data.concretePours.length; a++) {\r\n var p = data.concretePours[a];\r\n p.batchTime = moment(p.batchTime).toDate();\r\n p.endTime = moment(p.endTime).toDate();\r\n p.onSite = moment(p.onSite).toDate();\r\n p.pour_Date = moment(p.pour_Date).toDate();\r\n p.startTime = moment(p.startTime).toDate();\r\n }\r\n\r\n this.inspection = data;\r\n });\r\n }\r\n\r\n if (id != null) {\r\n this.id = id;\r\n\r\n }\r\n });\r\n }\r\n amountPouredChanged() {\r\n var total = 0; \r\n for (var a = 0; a < this.inspection.concretePours.length; a++) {\r\n var p = this.inspection.concretePours[a];\r\n total += p.amount_Poured;\r\n p.total_Amount_Poured = total;\r\n }\r\n }\r\n setTechnician(technician) {\r\n this.inspection.userId = technician.id;\r\n this.inspection.technician = technician;\r\n }\r\n setConcreteStrength(pour, strength) {\r\n console.log(strength);\r\n pour.concreteStrength = strength;\r\n }\r\n\r\n update() {\r\n console.log(this.inspection);\r\n this.concretePourService.post(this.inspection).then((data) => {\r\n this.snotifyService.success(\"Successfuly updated inspection\");\r\n this.back();\r\n });\r\n\r\n }\r\n\r\n back() {\r\n this.router.navigate(['reviews/manage'], { queryParams: { id: this.jobId, jobType: 2 } });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { JobPlateTestService } from 'src/app/services/job-plate-test.service';\r\nimport { ForceCalculatorService } from 'src/app/services/force-calculator.service';\r\nimport { ReactionLoadService } from 'src/app/services/reaction-load.service';\r\nimport { MaterialService } from 'src/app/services/material.service';\r\nimport * as moment from 'moment';\r\n\r\n@Component({\r\n selector: 'app-plate-bearing-manage-review',\r\n templateUrl: './plate-bearing-review.component.html',\r\n styleUrls: ['./plate-bearing-review.component.scss']\r\n})\r\nexport class PlateBearingManageReviewComponent implements OnInit {\r\n id: string;\r\n jobId: string;\r\n test;\r\n created_Date:string;\r\n\r\n reactionLoads = [];\r\n showReactionLoadOther = false;\r\n otherReactionLoad: string;\r\n\r\n materials = [];\r\n\r\n constructor(private route: ActivatedRoute, private jobPlateTestService: JobPlateTestService,\r\n private forceCalculatorService: ForceCalculatorService, private router: Router, \r\n private reactionLoadService: ReactionLoadService, private materialService: MaterialService) { }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(async (paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n var jobId = paramsMap.get(\"jobId\");\r\n \r\n if (jobId != null) {\r\n this.jobId = jobId;\r\n }\r\n\r\n if (id != null) {\r\n this.id = id;\r\n\r\n this.reactionLoads = await this.reactionLoadService.get();\r\n this.materials = await this.materialService.get();\r\n //console.log(this.materials);\r\n\r\n this.jobPlateTestService.get(this.id).then((test) => {\r\n test.jobPlateTestLoads = test.jobPlateTestLoads.sort((a, b) => (a.position - b.position));\r\n console.log(test);\r\n var idx = this.reactionLoads.findIndex(p => p.load == test.typeOfReactionLoad);\r\n if (idx == -1) {\r\n this.otherReactionLoad = test.typeOfReactionLoad;\r\n \r\n this.showReactionLoadOther = true;\r\n test.typeOfReactionLoad = \"Other\";\r\n }\r\n\r\n this.test = test;\r\n this.formatForDisplay(this.test);\r\n this.created_Date = this.test.createdAt;\r\n\r\n \r\n });\r\n }\r\n });\r\n }\r\n\r\n back() {\r\n this.router.navigate(['reviews/manage'], { queryParams: { id: this.jobId, jobType: 1 } });\r\n // this.router.navigate(['reviews/manage', this.jobId]);\r\n }\r\n\r\n formatForDisplay(test) {\r\n for (let load of test.jobPlateTestLoads) {\r\n var c = load.avg;\r\n if (!this.getNumberOfDecimalPlaces(load.load1)) {\r\n load.load1 = this.roundToTwo((Math.round(load.load1 * 100) / 100)); //.toFixed(2);\r\n // load.load1 = load.load1.toFixed(2);\r\n } if (!this.getNumberOfDecimalPlaces(load.load2)) {\r\n load.load2 = this.roundToTwo((Math.round(load.load2 * 100) / 100)); //.toFixed(2);\r\n // load.load2 = load.load2.toFixed(2);\r\n } if (!this.getNumberOfDecimalPlaces(load.load3)) {\r\n load.load3 = this.roundToTwo((Math.round(load.load3 * 100) / 100)); //.toFixed(2))\r\n // load.load3 = load.load3.toFixed(2);\r\n } if (!this.getNumberOfDecimalPlaces(load.avg)) {\r\n load.avg = this.roundToTwo((Math.round(load.avg * 100) / 100)); //.toFixed(2);\r\n // load.avg = load.avg.toFixed(2);\r\n }\r\n if (c != load.avg) {\r\n console.log(\"formatForCalculation\");\r\n console.log(c);\r\n console.log(load.avg);\r\n \r\n }\r\n }\r\n }\r\n\r\n formatForCalculation(test) {\r\n for (let load of test.jobPlateTestLoads) {\r\n var c = load.avg;\r\n \r\n load.load1 = Math.round(load.load1 * 100) / 100;\r\n load.load2 = Math.round(load.load2 * 100) / 100;\r\n load.load3 = Math.round(load.load3 * 100) / 100;\r\n load.avg = Math.round(load.avg * 100) / 100;\r\n if (c != load.avg) {\r\n console.log(\"formatForCalculation\");\r\n console.log(c);\r\n console.log(load.avg);\r\n }\r\n\r\n }\r\n }\r\n\r\n recalculate(formatForDisplay: boolean) {\r\n if (this.validate()) {\r\n this.formatForCalculation(this.test);\r\n\r\n var calculation = this.forceCalculatorService.calculate(\r\n this.test.jobPlateTestLoads,\r\n this.test.plateTestType.loadIncrement,\r\n this.test.plateTestType.plateLoadSize.load);\r\n\r\n this.test.cbr = calculation.cbr;\r\n this.test.force = calculation.force;\r\n this.test.k = calculation.k;\r\n //console.log(calculation);\r\n\r\n if (formatForDisplay) {\r\n this.formatForDisplay(this.test);\r\n }\r\n }\r\n }\r\n\r\n update() {\r\n this.recalculate(false);\r\n\r\n\r\n if (this.otherReactionLoad != null && this.otherReactionLoad != \"\") {\r\n this.test.typeOfReactionLoad = this.otherReactionLoad;\r\n }\r\n\r\n for (var a = 0; a < this.test.jobPlateTestLoads.length; a++) {\r\n var t = this.test.jobPlateTestLoads[a];\r\n if (t.avg == null || Number.isNaN(t.avg))\r\n t.avg = 0;\r\n }\r\n this.test.createdAt = moment(moment(this.test.createdAt).format(\"YYYY-MM-DD\") + \" \" + moment(this.created_Date).add(1, 'hours').format(\"HH:mm:ss\"));\r\n\r\n console.log(this.test);\r\n this.jobPlateTestService.update(this.test).then(data => {\r\n this.back();\r\n }, error => {\r\n console.log(error.error);\r\n });\r\n }\r\n\r\n validate() {\r\n let isValid: boolean = true;\r\n\r\n for (let load of this.test.jobPlateTestLoads) {\r\n if (load.load1 == undefined || load.load1 == 'undefined' || load.load1 == null) {\r\n isValid = false;\r\n alert(\"Please ensure all values are filled\");\r\n break;\r\n } if (load.load1 != 0.0) {\r\n if (!this.getNumberOfDecimalPlaces(load.load1)) {\r\n isValid = false;\r\n alert(\"Please ensure values are 2 decimal places\");\r\n break;\r\n }\r\n } if (load.load2 == undefined || load.load2 == 'undefined' || load.load2 == null) {\r\n isValid = false;\r\n alert(\"Please ensure all values are filled\");\r\n break;\r\n } if (load.load2 != 0.0) {\r\n if (!this.getNumberOfDecimalPlaces(load.load2)) {\r\n isValid = false;\r\n alert(\"Please ensure values are 2 decimal places\");\r\n break;\r\n }\r\n } if (load.load3 == undefined || load.load3 == 'undefined' || load.load3 == null) {\r\n isValid = false;\r\n alert(\"Please ensure all values are filled\");\r\n break;\r\n } if (load.load3 != 0.0) {\r\n if (!this.getNumberOfDecimalPlaces(load.load3)) {\r\n isValid = false;\r\n alert(\"Please ensure values are 2 decimal places\");\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n getNumberOfDecimalPlaces(value: string) {\r\n let parts: string[] = value.toString().split(\".\", 2);\r\n return (parts.length == 2 && parts[1].length == 2);\r\n }\r\n\r\n\r\n reactionLoadChanged() {\r\n this.otherReactionLoad = \"\";\r\n this.showReactionLoadOther = this.test.typeOfReactionLoad == \"Other\";\r\n }\r\n private roundToTwo(val: any ){\r\n let log: boolean;\r\n if(val == 1.65 || val == 1.66) log = true;\r\n else log = false;\r\n if(log){\r\n console.log(\"roundToTwo\");\r\n console.log(val);\r\n }\r\n\r\n if(isNaN(val))\r\n return \"0.00\";\r\n let prefix = parseInt(val);\r\n var cal = val - prefix;\r\n if (log) {\r\n console.log(prefix);\r\n console.log(cal);\r\n }\r\n if (cal == 0.55){\r\n console.log(\".55\");\r\n val = val + 0.05;\r\n }\r\n if (log) {\r\n console.log(val.toFixed(2));\r\n }\r\n return val.toFixed(2);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Review\r\n \r\n \r\n\r\n \r\n \r\n Archive\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Review\r\n \r\n \r\n\r\n \r\n \r\n Archive\r\n \r\n \r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SnotifyPosition, SnotifyService, ToastDefaults } from 'ng-snotify';\r\nimport { JobPlateTestService } from 'src/app/services/job-plate-test.service';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { ConcretePourService } from '../../../../services/concrete-pour.service';\r\nimport { DOCUMENT } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-review-manage',\r\n templateUrl: './review-manage.component.html',\r\n styleUrls: ['./review-manage.component.scss']\r\n})\r\nexport class ReviewManageComponent implements OnInit {\r\n\r\n rows = [];\r\n\r\n job;\r\n jobType: number = 0;\r\n po: string;\r\n\r\n constructor(@Inject(DOCUMENT) private document: Document, private route: ActivatedRoute, private router: Router,\r\n private jobPlateTestService: JobPlateTestService, private concretePourService: ConcretePourService, private jobService: JobService, private snotifyService: SnotifyService) { }\r\n\r\n ngOnInit(): void {\r\n // Check to see if we are editing\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n this.route.queryParams.subscribe(params => {\r\n console.log(params);\r\n var id = params['id'];\r\n var type = params[\"jobType\"];\r\n if (type == undefined || type == null)\r\n this.jobType = 1;\r\n else\r\n this.jobType = +type;\r\n\r\n \r\n if (id == null || id == undefined) {/// This shouldnt happen, but its here in case\r\n var ii = this.document.location.href.replace('http://bhp.corerfid.net/#/reviews/manage/', '');\r\n ii = ii.replace('https://bhp.corerfid.net/#/reviews/manage/', '');\r\n ii = ii.replace('http://bhp.dev5.corerfid.com/#/reviews/manage/', '');\r\n ii = ii.replace('http://localhost:4200/#/reviews/manage/', '');\r\n console.log(ii);\r\n id = ii;\r\n }\r\n console.log(\"this.jobType: \" + this.jobType);\r\n console.log(\"id: \" + id);\r\n\r\n if (id != null && this.jobType < 2) { //Id is not null AND is Plate Bearing\r\n this.jobPlateTestService.list(id).then((tests) => {\r\n console.log(tests);\r\n this.rows = tests;\r\n });\r\n\r\n } else if (id != null && this.jobType == 2) {\r\n this.concretePourService.list(id).then((tests) => {\r\n console.log(tests);\r\n this.rows = tests;\r\n });\r\n }\r\n\r\n if (id != null) {\r\n this.jobService.get(id).then((job) => {\r\n this.job = job;\r\n this.po = job.purchaseOrderNo;\r\n });\r\n }\r\n });\r\n //this.route.paramMap.subscribe((paramsMap) => {\r\n // console.log(paramsMap);\r\n // var id = paramsMap.get(\"id\");\r\n // var type = paramsMap.get(\"jobType\");\r\n // if (type == undefined || type == null)\r\n // this.jobType = 1;\r\n // else\r\n // this.jobType = +type;\r\n\r\n // console.log(\"this.jobType: \" + this.jobType);\r\n // console.log(\"id: \" + id);\r\n\r\n // if (id != null && this.jobType < 2) { //Id is not null AND is Plate Bearing\r\n // this.jobPlateTestService.list(id).then((tests) => {\r\n // console.log(tests);\r\n // this.rows = tests;\r\n // });\r\n\r\n // } else if (id != null && this.jobType == 2) {\r\n // this.concretePourService.list(id).then((tests) => {\r\n // console.log(tests);\r\n // this.rows = tests;\r\n // });\r\n // }\r\n\r\n\r\n\r\n // if (id != null) {\r\n // this.jobService.get(id).then((job) => {\r\n // this.job = job;\r\n // this.po = job.purchaseOrderNo;\r\n // });\r\n // }\r\n //});\r\n }\r\n\r\n back() {\r\n this.router.navigate(['reviews']);\r\n }\r\n\r\n archiveReport(rep) {\r\n console.log(rep);\r\n if (confirm(\"Are you sure you wish to archive this report?\")) {\r\n this.jobPlateTestService.archive(rep.id).then((data) => {\r\n this.loadTable();\r\n })\r\n }\r\n }\r\n archiveConcreteReport(rep) {\r\n console.log(rep);\r\n if (confirm(\"Are you sure you wish to archive this report?\")) {\r\n this.concretePourService.archive(rep.id).then((data) => {\r\n this.loadTable();\r\n })\r\n }\r\n }\r\n\r\n async save() {\r\n this.job.purchaseOrderNo = this.po;\r\n await this.jobService.updateJobPO(this.job);\r\n // this.snotifyService.config = ToastDefaults;\r\n this.snotifyService.success('Successfully updated job');\r\n }\r\n}\r\n","\r\n
\r\n
\r\n

Arrived - {{arrivalTime}}, Departed - {{departureTime}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{ jobTest.testVariantName }} - {{ jobTest.quotePrice | currency: 'EUR' }}

\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n \r\n \r\n
{{ value | date: 'dd/MM/yyyy' }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Preview\r\n \r\n \r\n\r\n \r\n \r\n Approve\r\n Assign Test For Invoicing\r\n \r\n \r\n\r\n \r\n \r\n Edit\r\n Edit\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { ReportableService } from 'src/app/services/reportable.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-review',\r\n templateUrl: './review.component.html',\r\n styleUrls: ['./review.component.scss']\r\n})\r\nexport class ReviewComponent implements OnInit {\r\n\r\n rows = [];\r\n displayDialog: boolean = false;\r\n jobTests = [];\r\n\r\n arrivalTime = '';\r\n departureTime ='';\r\n filter = {\r\n project: \"\",\r\n account: \"\",\r\n purchaseOrder: \"\",\r\n reportTypeId: 0\r\n }\r\n\r\n constructor(private jobService: JobService, private issueService: IssueService, private reportableService: ReportableService\r\n , private router: Router) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadTable();\r\n\r\n }\r\n\r\n preview(job): void {\r\n if (job.hasPlateTests) {\r\n this.reportableService.getPlateBearingPreview(job.id).then((data) => {\r\n importedSaveAs(data, \"PlateBearingPreview.pdf\");\r\n });\r\n }\r\n if (job.hasConcreteTests) {\r\n this.reportableService.getConcretePourPreview(job.id).then((data) => {\r\n importedSaveAs(data, \"ConcretePourPreview.pdf\");\r\n });\r\n }\r\n \r\n }\r\n\r\n issue(job): void {\r\n console.log(job);\r\n this.issueService.issue(job.id, job.selectedJobTestForInvoicingId).then((result) => {\r\n this.loadTable();\r\n });\r\n }\r\n\r\n assignTest(job): void {\r\n\r\n \r\n this.jobService.getJobTests(job).then((data) => {\r\n this.jobTests = data;\r\n console.log(job);\r\n console.log(data);\r\n if (this.jobTests.length > 1) {\r\n this.arrivalTime = job.arrivalTime;\r\n this.departureTime = job.departureTime;\r\n this.displayDialog = true;\r\n } else {\r\n // There's only one test assigned so use this\r\n let jobTest = this.jobTests[0];\r\n this.assignTestToJobForInvoicing(jobTest);\r\n }\r\n });\r\n }\r\n\r\n setTest() {\r\n if (this.jobTests.filter(t => t.selectedForInvoicing == true).length == 0) {\r\n alert(\"Please select a test to be used for invoicing purposes\");\r\n return;\r\n }\r\n\r\n if (this.jobTests[0].ReportTypeId <= 1 && this.jobTests.filter(t => t.selectedForInvoicing == true).length > 1) {\r\n alert(\"Please select just one test to be used for invoicing purposes\");\r\n return;\r\n }\r\n\r\n if(this.jobTests[0].ReportTypeId <= 1){\r\n let jobTest = this.jobTests.find(u => u.selectedForInvoicing == true);\r\n this.assignTestToJobForInvoicing(jobTest);\r\n } else{\r\n for(var i =0; i < this.jobTests.length; i++){\r\n var test = this.jobTests[i];\r\n if(test.selectedForInvoicing == true || test.testVariantId == 1658 ){\r\n this.assignTestToJobForInvoicing(test);\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n assignTestToJobForInvoicing(jobTest) {\r\n this.jobService.assignTestForInvoicing(jobTest.id, jobTest.chosenHours).then((data) => {\r\n if (this.displayDialog) {\r\n this.displayDialog = false;\r\n }\r\n this.loadTable();\r\n });\r\n }\r\n\r\n cancel() {\r\n this.displayDialog = false;\r\n }\r\n\r\n loadTable(): void {\r\n console.log(this.filter.reportTypeId);\r\n this.jobService.getTable(this.filter.project, this.filter.account, this.filter.purchaseOrder, true, true, null, this.filter.reportTypeId).then((jobs) => {\r\n this.rows = jobs;\r\n console.log(this.rows);\r\n });\r\n }\r\n\r\n generateSamples(job): void {\r\n this.issueService.generateSamples(job.id).then((result) => {\r\n console.log(result);\r\n });\r\n }\r\n setReportType(event) {\r\n if (event != undefined)\r\n this.filter.reportTypeId = event.reportTypeId;\r\n else\r\n this.filter.reportTypeId = 0;\r\n }\r\n editItem(row, type) {\r\n //this.router.navigate(['administration/depots/manage'], { queryParams: { page: this.page.pageNumber } });\r\n this.router.navigate(['reviews/manage'], { queryParams: { id: row.id, jobType: type } });\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ tech.name }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport * as moment from 'moment';\r\nimport { validate } from 'json-schema';\r\nimport { weather } from '../../../../models/weather';\r\nimport { TechnicianService } from '../../../../services/technician.service';\r\nimport { technician } from '../../../../models/technician';\r\n\r\n@Component({\r\n selector: 'app-scheduler-manage',\r\n templateUrl: './scheduler-manage.component.html',\r\n styleUrls: ['./scheduler-manage.component.scss']\r\n})\r\nexport class SchedulerManageComponent implements OnInit {\r\n\r\n scheduledDate;\r\n arrivalTime;\r\n departureTime;\r\n\r\n job;\r\n technician;\r\n tempTechnician: technician;\r\n notes: string;\r\n pour_Element: string;\r\n weatherId;\r\n compactionId;\r\n po: string;\r\n weather: weather[];\r\n compaction: [];\r\n technicians: [];\r\n reportTypes: any[];\r\n selectedTechnicians: technician[];\r\n reissue: boolean = false;\r\n\r\n constructor(private router: Router, private route: ActivatedRoute, private jobService: JobService, private technicianService: TechnicianService) {\r\n jobService.getWeather().then((data) => {\r\n this.weather = data;\r\n });\r\n\r\n jobService.getCompactionMethods().then((data) => {\r\n this.compaction = data;\r\n });\r\n technicianService.getTable().then((technicians) => {\r\n this.technicians = technicians;\r\n\r\n if (this.technician != null)\r\n this.setTechnician(this.technician);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.selectedTechnicians = [];\r\n this.route.paramMap.subscribe((paramsMap) => {\r\n ``\r\n var id = paramsMap.get(\"id\");\r\n if (id != null) {\r\n this.jobService.get(id).then((job) => {\r\n this.job = job;\r\n console.log(\"job\");\r\n console.log(job);\r\n console.log(job.reportTypeId);\r\n \r\n this.reportTypes = [];\r\n for (var i = 0; i < job.jobTestTypes.length; i++) {\r\n var type = job.jobTestTypes[i];\r\n this.reportTypes.push(type.reportType);\r\n }\r\n\r\n this.route.queryParamMap.subscribe((queryParams) => {\r\n console.log(queryParams);\r\n this.reportTypeId = job.reportTypeId;\r\n this.reportTypeChanged();\r\n if (queryParams.get(\"reissue\") == null) {\r\n this.scheduledDate = job.scheduledDate;\r\n this.arrivalTime = job.arrivalTime;\r\n this.departureTime = job.departureTime;\r\n this.notes = job.notes;\r\n \r\n // this.po = job.purchaseOrderNo;\r\n } else {\r\n this.job.technicianId = null;\r\n this.reissue = true;\r\n // this.po = job.purchaseOrderNo;\r\n }\r\n });\r\n\r\n\r\n });\r\n }\r\n });\r\n }\r\n reportTypeId: number = 0;\r\n reportTypeChanged() {\r\n for (var i = 0; i < this.job.jobTestTypes.length; i++) {\r\n var type = this.job.jobTestTypes[i];\r\n if (this.reportTypeId == type.reportTypeId)\r\n this.po = type.poNumber;\r\n }\r\n }\r\n validate() {\r\n if (this.scheduledDate == null) {\r\n alert(\"Enter scheduled date\");\r\n return false;\r\n }\r\n\r\n if (this.technician == null) {\r\n alert(\"Select technician\");\r\n return false;\r\n }\r\n\r\n if (this.job.reportTypes.includes(2)) { //Concrete Pour\r\n //if (this.pour_Element == null) {\r\n // alert(\"Enter Pour Element\");\r\n // return false;\r\n //}\r\n //if (this.weatherId == null) {\r\n // alert(\"Enter Weather Conditions\");\r\n // return false;\r\n //}\r\n //if (this.compactionId == null) {\r\n // alert(\"Enter Compaction Method\");\r\n // return false;\r\n //}\r\n }\r\n\r\n return true;\r\n }\r\n\r\n async save() {\r\n if (this.job.reportTypes.includes(2)) {\r\n if (this.selectedTechnicians.length > 0)\r\n this.technician = this.selectedTechnicians[0];\r\n }\r\n if (!this.validate()) {\r\n return;\r\n }\r\n\r\n this.job.scheduledDate = moment(this.scheduledDate).format(\"YYYY-MM-DD\");\r\n this.job.arrivalTime = this.arrivalTime;\r\n this.job.departureTime = this.departureTime;\r\n this.job.technicianId = this.technician.id;\r\n this.job.notes = this.notes;\r\n this.job.purchaseOrderNo = this.po;\r\n this.job.fromParent = true;\r\n //this.job.pour_Element = this.pour_Element;\r\n this.job.reportTypeId = this.reportTypeId;\r\n\r\n // for (var i = 0; i < this.job.jobTestTypes.length; i++) {\r\n // var type = this.job.jobTestTypes[i];\r\n // if(type.reportTypeId == this.reportTypeId)\r\n // type.poNumber = this.po;\r\n // }\r\n\r\n //this.job.compactionId = this.compactionId;\r\n this.job.selectedTechnicians = this.selectedTechnicians;\r\n\r\n if (this.reissue) {\r\n await this.jobService.duplicateJob(this.job)\r\n } else {\r\n await this.jobService.updateJob(this.job)\r\n }\r\n\r\n\r\n this.router.navigate(['scheduler']);\r\n }\r\n\r\n setTechnician(technician) {\r\n this.technician = technician;\r\n }\r\n setTempTechnician(technician) {\r\n this.tempTechnician = technician;\r\n }\r\n addTechnician() {\r\n var exists: boolean = false;\r\n for (var i = 0; i < this.selectedTechnicians.length; i++) {\r\n var tech = this.selectedTechnicians[i];\r\n if (tech.id == this.tempTechnician.id)\r\n exists = true;\r\n }\r\n if (!exists)\r\n this.selectedTechnicians.push(this.tempTechnician);\r\n\r\n console.log(this.selectedTechnicians);\r\n }\r\n removeTechnician(technician) {\r\n var idx: number = -1;\r\n for (var i = 0; i < this.selectedTechnicians.length; i++) {\r\n var tech = this.selectedTechnicians[i];\r\n if (tech.id == technician.id)\r\n idx = i;\r\n }\r\n if (idx >= 0)\r\n this.selectedTechnicians.splice(idx, 1);\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
{{ value | date: 'dd/MM/yyyy' }}
\r\n
\r\n
\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n\r\n \r\n \r\n Remove\r\n \r\n \r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { IssueService } from 'src/app/services/issue.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\n\r\n@Component({\r\n selector: 'app-scheduler',\r\n templateUrl: './scheduler.component.html',\r\n styleUrls: ['./scheduler.component.scss']\r\n})\r\nexport class SchedulerComponent implements OnInit {\r\n displayDialog: boolean = false;\r\n rows = [];\r\n\r\n filter = {\r\n project: \"\",\r\n account: \"\",\r\n purchaseOrder: \"\",\r\n reportTypeId: 0\r\n }\r\n\r\n\r\n\r\n constructor(private jobService: JobService, private issueService: IssueService, private confirmationService: ConfirmationService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadJobs();\r\n }\r\n\r\n loadJobs() {\r\n\r\n this.jobService.getSchedularTable(this.filter.project, this.filter.account, this.filter.purchaseOrder, true, true, null,this.filter.reportTypeId).then((jobs) => {\r\n this.rows = jobs;\r\n });\r\n }\r\n async showRemoveJobPopup(job) {\r\n console.log(job);\r\n var JobDetails = 'Account: ' + job.accountName + '
';\r\n JobDetails += 'Project: ' + job.projectName + '
';\r\n JobDetails += 'Purchase Order: ' + job.purchaseOrderNo + '
';\r\n JobDetails += 'Notes: ' + job.notes + '
';\r\n\r\n this.confirmationService.confirm({\r\n message: '
' + JobDetails,\r\n accept: () => {\r\n console.log(\"Removing\");\r\n this.jobService.removeJob(job);\r\n console.log(\"Done\");\r\n \r\n\r\n setTimeout(() => {\r\n console.log(\"Loading\");\r\n this.loadJobs();\r\n console.log(\"Done\");\r\n }, 300);\r\n }\r\n });\r\n\r\n }\r\n\r\n setReportType(event) {\r\n if (event != undefined)\r\n this.filter.reportTypeId = event.reportTypeId;\r\n else\r\n this.filter.reportTypeId = 0;\r\n }\r\n}\r\n\r\n\r\n","
\r\n \r\n\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { validate } from 'json-schema';\r\nimport { JobService } from 'src/app/services/job.service';\r\nimport { TechnicianService } from 'src/app/services/technician.service';\r\nimport { Router, Route, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-technician-manage',\r\n templateUrl: './technician-manage.component.html',\r\n styleUrls: ['./technician-manage.component.scss']\r\n})\r\nexport class TechnicianManageComponent implements OnInit {\r\n\r\n id: string = null;\r\n firstname: string = \"\";\r\n lastname: string = \"\";\r\n pin: string = \"\";\r\n pin2: string = \"\";\r\n expired: boolean = false;\r\n archived: boolean = false;\r\n\r\n\r\n constructor(private technicianService: TechnicianService, private router: Router, private route: ActivatedRoute) { }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe((paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n if (id != null) {\r\n this.technicianService.get(id).then((technician) => {\r\n this.id = technician.id;\r\n this.firstname = technician.firstname;\r\n this.lastname = technician.lastname;\r\n this.pin = technician.pin;\r\n this.pin2 = technician.pin;\r\n this.expired = technician.expired;\r\n });\r\n }\r\n });\r\n }\r\n\r\n back() {\r\n this.router.navigate(['technicians']);\r\n }\r\n\r\n validate() {\r\n if (this.firstname == null || this.firstname == \"\") {\r\n alert(\"Enter firstname\");\r\n return false;\r\n }\r\n\r\n if (this.lastname == null || this.lastname == \"\") {\r\n alert(\"Enter lastname\");\r\n return false;\r\n }\r\n\r\n if (this.pin == null || this.pin == \"\") {\r\n alert(\"Enter pin\");\r\n return false;\r\n }\r\n\r\n if (this.pin2 == null || this.pin2 == \"\") {\r\n alert(\"Enter pin2\");\r\n return false;\r\n }\r\n\r\n if (this.pin != this.pin2) {\r\n alert(\"Pins do not match\");\r\n return false;\r\n }\r\n\r\n\r\n return true;\r\n }\r\n\r\n async save() {\r\n if (!this.validate()) {\r\n return;\r\n }\r\n\r\n var technician = {\r\n id: this.id,\r\n firstname: this.firstname,\r\n lastname: this.lastname,\r\n pin: this.pin,\r\n expired: this.expired,\r\n archived: this.archived\r\n };\r\n\r\n if (this.id == null)\r\n await this.technicianService.add(technician);\r\n else\r\n await this.technicianService.update(technician);\r\n\r\n this.router.navigate(['technicians']);\r\n }\r\n\r\n\r\n}\r\n","
\r\n Add New\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TechnicianService } from 'src/app/services/technician.service';\r\n\r\n@Component({\r\n selector: 'app-technicians',\r\n templateUrl: './technicians.component.html',\r\n styleUrls: ['./technicians.component.scss']\r\n})\r\nexport class TechniciansComponent implements OnInit {\r\n\r\n rows;\r\n\r\n constructor(private technicianService: TechnicianService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n // if (this.search == \"\")\r\n // return;\r\n\r\n this.technicianService.getTable().then((rows) => {\r\n this.rows = rows;\r\n console.log(this.rows);\r\n });\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n 0\" class=\"buffer-bottom table\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Load
{{ load }}
\r\n
\r\n\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { PlateTestService } from 'src/app/services/plate-test.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-test-type-manage',\r\n templateUrl: './test-type-manage.component.html',\r\n styleUrls: ['./test-type-manage.component.scss']\r\n})\r\nexport class TestTypeManageComponent implements OnInit {\r\n\r\n id: null;\r\n testName: string = \"\";\r\n plateSize;\r\n plateLoad;\r\n plateLoadSize;\r\n bsStandard: string = \"\";\r\n minuteIncrement: number = 3;\r\n testSpecification: string = \"\";\r\n loads = [];\r\n currentLoad: number;\r\n\r\n plateSizeId: string;\r\n plateLoadSizeId: string;\r\n\r\n plateLoadIncrement: number;\r\n\r\n constructor(private plateTestService: PlateTestService, private router: Router, private route: ActivatedRoute) { }\r\n\r\n ngAfterViewInit()\r\n {\r\n console.log(\"Page init sorted\");\r\n this.route.paramMap.subscribe((paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n if (id != null) {\r\n this.plateTestService.get(id).then((plateTest) => { \r\n this.plateSizeId = plateTest.plateSizeId; \r\n });\r\n }\r\n });\r\n } \r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe((paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n if (id != null) {\r\n this.plateTestService.get(id).then(async (plateTest) => {\r\n // console.log(plateTest);\r\n this.id = plateTest.id;\r\n this.testName = plateTest.testTypeName;\r\n // this.plateSizeId = plateTest.plateSizeId;\r\n this.plateSize = plateTest.plateSize;\r\n this.bsStandard = plateTest.bsStandard;\r\n this.minuteIncrement = plateTest.minuteIncrement;\r\n this.testSpecification = plateTest.testSpecification;\r\n\r\n this.plateLoadSizeId = plateTest.plateLoadSizeId;\r\n this.plateLoadSize = plateTest.plateLoadSize;\r\n this.plateLoadIncrement = plateTest.loadIncrement;\r\n\r\n this.loads = plateTest.plateLoads.map(a => a.load);\r\n \r\n // Get the selected plateload and set it\r\n var allPlateLoads = await this.plateTestService.getPlateLoads();\r\n var existingLoad = allPlateLoads.find(pl => pl.load == plateTest.loadIncrement);\r\n this.onPlateLoadSet(existingLoad);\r\n });\r\n }\r\n });\r\n }\r\n\r\n back() {\r\n this.router.navigate(['testtypes']);\r\n }\r\n\r\n setPlateSize(plateSize) {\r\n this.plateSize = plateSize; \r\n }\r\n\r\n setLoadPlateSize(plateLoadSize) {\r\n this.plateLoadSize = plateLoadSize; \r\n }\r\n\r\n onPlateLoadSet(plateLoad) {\r\n this.plateLoad = plateLoad;\r\n this.plateLoadIncrement = plateLoad.load;\r\n }\r\n\r\n add() {\r\n if (this.plateLoad == null) {\r\n return;\r\n }\r\n\r\n var r = this.currentLoad % this.plateLoad.load;\r\n if (r != 0) {\r\n alert(\"Invalid load\");\r\n return;\r\n }\r\n\r\n\r\n this.loads.push(this.currentLoad);\r\n this.currentLoad = null;\r\n }\r\n\r\n removeLoad(load) {\r\n let index = this.loads.indexOf(load);\r\n this.loads.splice(index, 1);\r\n }\r\n\r\n async save() {\r\n var dto = {\r\n id: this.id,\r\n testTypeName: this.testName,\r\n bsStandard: this.bsStandard,\r\n minuteIncrement: this.minuteIncrement,\r\n testSpecification: this.testSpecification,\r\n loadIncrement: this.plateLoadIncrement,\r\n //loadIncrement: \r\n\r\n plateSizeId: this.plateSize.id,\r\n plateLoadSizeId: this.plateLoadSize.id,\r\n plateLoads: []\r\n };\r\n\r\n for (let load of this.loads) {\r\n var loadDto = {\r\n load: load\r\n }\r\n\r\n dto.plateLoads.push(loadDto);\r\n }\r\n\r\n console.log(dto);\r\n if (this.id) {\r\n await this.plateTestService.update(dto);\r\n } else {\r\n await this.plateTestService.add(dto);\r\n }\r\n\r\n this.router.navigate(['testtypes']);\r\n }\r\n}\r\n","
\r\n Add New\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { PlateTestService } from 'src/app/services/plate-test.service';\r\n\r\n@Component({\r\n selector: 'app-test-types',\r\n templateUrl: './test-types.component.html',\r\n styleUrls: ['./test-types.component.scss']\r\n})\r\nexport class TestTypesComponent implements OnInit {\r\n\r\n rows;\r\n constructor(private plateTestService: PlateTestService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n this.plateTestService.getTable().then((rows) => {\r\n this.rows = rows;\r\n });\r\n }\r\n}\r\n","
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { WebUserService } from 'src/app/services/webuser.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n@Component({\r\n selector: 'app-webusers-manage',\r\n templateUrl: './webusers-manage.component.html',\r\n styleUrls: ['./webusers-manage.component.scss']\r\n})\r\nexport class WebusersManageComponent implements OnInit {\r\n\r\n id: string = null;\r\n firstname: string = \"\";\r\n lastname: string = \"\";\r\n email: string = \"\";\r\n password: string = \"\";\r\n password2: string = \"\";\r\n userId: number = 0;\r\n base64Signature: string = null;\r\n title: string = \"\";\r\n\r\n constructor(private webUserService: WebUserService, private router: Router, private route: ActivatedRoute, private snotifyService: SnotifyService) { }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe((paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n if (id != null) {\r\n this.webUserService.get(id).then((user) => {\r\n console.log(user);\r\n this.id = user.id;\r\n this.firstname = user.firstname;\r\n this.lastname = user.lastname;\r\n this.email = user.email;\r\n this.password = user.password;\r\n this.password2 = user.password2\r\n this.title = user.title;\r\n this.userId = user.userProfileId;\r\n });\r\n }\r\n });\r\n }\r\n\r\n back() {\r\n this.router.navigate(['users']);\r\n }\r\n\r\n validate() {\r\n if (this.firstname == null || this.firstname == \"\") {\r\n //this.snotifyService.error(\"Enter firstname\");\r\n alert(\"Enter firstname\");\r\n return false;\r\n }\r\n\r\n if (this.lastname == null || this.lastname == \"\") {\r\n //this.snotifyService.error(\"Enter lastname\");\r\n alert(\"Enter lastname\");\r\n return false;\r\n }\r\n\r\n if (this.password == null || this.password == \"\") {\r\n //this.snotifyService.error(\"Enter password\");\r\n alert(\"Enter password\");\r\n return false;\r\n }\r\n\r\n if (this.password2 == null || this.password2 == \"\") {\r\n //this.snotifyService.error(\"Enter password\");\r\n alert(\"Enter password\");\r\n return false;\r\n }\r\n\r\n if (this.password != this.password2) {\r\n //this.snotifyService.error(\"Passwords do not match\");\r\n alert(\"Passwords do not match\");\r\n return false;\r\n }\r\n\r\n if (this.userId == 0) {\r\n //this.snotifyService.error(\"Select user profile\");\r\n alert(\"Select user profile\");\r\n return false;\r\n }\r\n\r\n if (this.id == null && this.base64Signature == null) {\r\n //this.snotifyService.error(\"Upload signature\");\r\n alert(\"Upload signature\");\r\n return false;\r\n }\r\n\r\n if (this.title == null || this.title == \"\") {\r\n //this.snotifyService.error(\"Enter password\");\r\n alert(\"Enter title\");\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n async save() {\r\n if (!this.validate()) {\r\n return;\r\n }\r\n\r\n var user = {\r\n id: this.id,\r\n firstname: this.firstname,\r\n lastname: this.lastname,\r\n password: this.password,\r\n email: this.email,\r\n userProfileId: this.userId,\r\n base64Signature: this.base64Signature,\r\n title: this.title\r\n };\r\n\r\n if (this.id == null)\r\n await this.webUserService.add(user);\r\n else\r\n await this.webUserService.update(user);\r\n\r\n this.router.navigate(['users']);\r\n }\r\n\r\n async delete() {\r\n await this.webUserService.delete(this.id);\r\n this.router.navigate(['users']);\r\n }\r\n\r\n setUserProfile(user) {\r\n if (user.userId != null) {\r\n this.userId = user.userId;\r\n }\r\n }\r\n\r\n changeListener(e) {\r\n var rawBase64 = null;\r\n var base64 = null;\r\n\r\n // If a file was selected\r\n if (e.target.files.length > 0) {\r\n let file = e.target.files[0];\r\n\r\n if (file.type != 'image/png' && file.type != 'image/jpg') {\r\n //this.snotifyService.error(\"Please ensure image is either a PNG or JPG file\");\r\n alert(\"Please ensure image is either a PNG or JPG file\");\r\n (document.getElementById('imagePicker')).value = '';\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n\r\n reader.readAsDataURL(file);\r\n\r\n // Split the initial data type string from the base64 data\r\n reader.onload = (e) => {\r\n rawBase64 = reader.result;\r\n base64 = rawBase64.split(\",\", 2);\r\n this.base64Signature = base64[1];\r\n };\r\n reader.onerror = function (error) {\r\n console.log('Error: ', error);\r\n };\r\n }\r\n }\r\n}\r\n","
\r\n Add New\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { WebUserService } from 'src/app/services/webuser.service';\r\n\r\n@Component({\r\n selector: 'app-webusers',\r\n templateUrl: './webusers.component.html',\r\n styleUrls: ['./webusers.component.scss']\r\n})\r\nexport class WebusersComponent implements OnInit {\r\n\r\n rows = [];\r\n constructor(private webUsersService: WebUserService) { }\r\n\r\n ngOnInit(): void {\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n this.webUsersService.getTable().then((rows) => {\r\n this.rows = rows;\r\n });\r\n }\r\n}\r\n","
\r\n

Dashboard

\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ProjectService } from 'src/app/services/project.service';\r\nimport { AccountService } from 'src/app/services/account.service';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.scss']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n}\r\n","
0\">\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { InvoiceService } from 'src/app/services/invoice.service';\r\n\r\n@Component({\r\n selector: 'app-invoices',\r\n templateUrl: './invoices.component.html',\r\n styleUrls: ['./invoices.component.scss']\r\n})\r\nexport class InvoicesComponent implements OnInit {\r\n\r\n search: string = \"\";\r\n rows = [];\r\n selectedRows = [];\r\n loading:boolean = false;\r\n\r\n constructor(private invoiceService: InvoiceService, private snotifyService: SnotifyService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log(\"Loading Page\");\r\n this.loadTable();\r\n console.log(\"Finished Page\");\r\n }\r\n\r\n onSearch() {\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n // if (this.search == \"\")\r\n // return;\r\n this.loading = true;\r\n this.invoiceService.get(this.search).then((invoices) => {\r\n for (let invoice of invoices) {\r\n invoice.selected = false;\r\n }\r\n this.rows = invoices;\r\n console.log(this.rows);\r\n this.loading = false;\r\n }, (err) => {\r\n console.log(\" - -----------------------------------------------------\");\r\n console.log(\"Error\");\r\n //this.snotifyService.error(\"a error occured\");\r\n this.loading = false;\r\n });\r\n }\r\n\r\n invoiceAll() {\r\n this.invoice(this.rows);\r\n }\r\n\r\n invoiceSelected() {\r\n if (this.rows.filter(r => r.selected == true).length == 0) {\r\n alert(\"No items selected\");\r\n } else {\r\n this.selectedRows = this.rows.filter(r => r.selected == true);\r\n this.invoice(this.selectedRows);\r\n }\r\n }\r\n\r\n invoice(invoices) {\r\n console.log(invoices);\r\n this.loading = true;\r\n this.invoiceService.issue(invoices).then((data) => {\r\n this.loadTable();\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n

Invalid Email/Password.

\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n email: string = \"\";\r\n password: string = \"\";\r\n\r\n invalid: boolean = false;\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onLogin() {\r\n this.invalid = false;\r\n this.authService.login(this.email, this.password).then(() => {\r\n\r\n }, (error) => {\r\n this.invalid = true;\r\n console.log(\"ERROR\");\r\n });\r\n }\r\n}\r\n","\r\n\r\n
\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n Download\r\n \r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value | date: 'dd/MM/yyyy HH:mm' }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Archive\r\n \r\n \r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ReportableService } from 'src/app/services/reportable.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { BasketItem } from '../../../components/basket/basket-item'\r\nimport { BasketService } from '../../../components/basket/basket.service'\r\nimport * as moment from 'moment';\r\nimport { Router } from '@angular/router';\r\nimport { SaveFilterService } from 'src/app/services/save-filter.service';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ConcretePourService } from '../../../services/concrete-pour.service';\r\n\r\n@Component({\r\n selector: 'app-concrete-pour-reports',\r\n templateUrl: './concrete-pour-reports.component.html',\r\n styleUrls: ['./concrete-pour-reports.component.scss']\r\n})\r\nexport class ConcretePourReportsComponent implements OnInit {\r\n displayDialog: boolean = false;\r\n rep = {\r\n id: \"\",\r\n projectName: \"\",\r\n accountName: \"\",\r\n purchaseOrderNo: \"\",\r\n technician: \"\",\r\n createdAt: \"\",\r\n };\r\n adminPIN: \"\";\r\n rows = [];\r\n filter = {\r\n project: \"\",\r\n account: \"\",\r\n purchaseOrder: \"\",\r\n startDate: moment().add(-7, 'days').toISOString(),\r\n endDate: moment().toISOString(),\r\n }\r\n\r\n\r\n constructor(private authService: AuthService, private saveFilterService: SaveFilterService, private concretePourService: ConcretePourService, private reportableService: ReportableService,\r\n private basketService: BasketService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n var savedFilter = this.saveFilterService.getFilters(this.authService.currentUser.value.id, 'concrete-pour-reports');\r\n if (savedFilter != null) {\r\n this.filter = savedFilter;\r\n }\r\n\r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n //user_Id: string, page_Name: string, filters: any\r\n this.saveFilterService.saveFilters(this.authService.currentUser.value.id, 'concrete-pour-reports', this.filter);\r\n this.concretePourService.getReportTable(this.filter.project, this.filter.account, this.filter.purchaseOrder, this.filter.startDate, this.filter.endDate).then((data) => {\r\n this.rows = data;\r\n });\r\n }\r\n\r\n downloadReport(id) {\r\n this.reportableService.getConcretePour(id).then((data) => {\r\n importedSaveAs(data, \"ConcretePour.pdf\");\r\n })\r\n }\r\n\r\n\r\n archiveReport(rep) {\r\n console.log(rep);\r\n if (confirm(\"Are you sure you wish to archive this report?\")) {\r\n this.concretePourService.archive(rep.id).then((data) => {\r\n this.loadTable();\r\n })\r\n }\r\n }\r\n\r\n editReport(rep) {\r\n this.rep = rep;\r\n console.log(this.rep);\r\n this.displayDialog = true;\r\n\r\n }\r\n\r\n confirm() {\r\n this.concretePourService.checkAdminPass(this.adminPIN).then((data) => {\r\n console.log(this.rep);\r\n this.displayDialog = false;\r\n this.router.navigate(['reports/concretepour/manage', this.rep.id]);\r\n })\r\n }\r\n\r\n cancel() {\r\n this.displayDialog = false;\r\n\r\n }\r\n\r\n addAllToBasket() {\r\n var items = this.rows;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n this.addToBasket(item);\r\n\r\n }\r\n }\r\n addToBasket(item) {\r\n let basketItem = new BasketItem();\r\n console.log(item)\r\n basketItem.id = item.id;\r\n basketItem.details = item.accountName;\r\n basketItem.title = item.projectName;\r\n basketItem.report_Type_Id = 1;\r\n basketItem.job_No = item.technician;\r\n\r\n console.log(basketItem);\r\n\r\n this.basketService.add(basketItem);\r\n item.added = true;\r\n }\r\n\r\n removeFromBasket(item) {\r\n var basketItem = this.basketService.getItem(item.id);\r\n console.log(basketItem);\r\n this.basketService.remove(basketItem);\r\n item.added = false;\r\n }\r\n\r\n refreshRows() {\r\n var basketItems = this.basketService.getDatasource();\r\n var items = this.rows;\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n var added = false;\r\n for (var b = 0; b < basketItems.length; b++) {\r\n var basketItem = basketItems[b];\r\n if (item.id == basketItem.id)\r\n added = true;\r\n }\r\n item.added = added;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PositionDateAir Temp
[°C]
Concrete
[°C]
Delivery #Weather ConditionCompaction MethodConcrete per Truck
[m³]
Total Amount of Concrete
[m³]
Plant UsedConcrete StrengthBatch TimeOn SiteConcrete Pouring StartConcrete Pouring EndCube Set Ref #Flow
[mm]
Sump
[mm]
Air Void
Content
(%)
{{pour.position}}\r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { JobPlateTestService } from 'src/app/services/job-plate-test.service';\r\nimport { ForceCalculatorService } from 'src/app/services/force-calculator.service';\r\nimport { ReactionLoadService } from 'src/app/services/reaction-load.service';\r\nimport { MaterialService } from 'src/app/services/material.service';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport * as moment from 'moment';\r\nimport { concretepour } from '../../../../models/concretepour';\r\nimport { ConcretePourService } from '../../../../services/concrete-pour.service';\r\nimport { JobService } from '../../../../services/job.service';\r\nimport { weather } from '../../../../models/weather';\r\n\r\n\r\n@Component({\r\n selector: 'app-concrete-pour-manage-review',\r\n templateUrl: './concrete-pour-review.component.html',\r\n styleUrls: ['./concrete-pour-review.component.scss']\r\n})\r\nexport class ConcretePourReportsManageReviewComponent implements OnInit {\r\n id: string;\r\n jobId: string;\r\n inspection: concretepour;\r\n weather: weather[];\r\n compaction: [];\r\n constructor(private route: ActivatedRoute, private router: Router, public concretePourService: ConcretePourService, private snotifyService: SnotifyService,private jobService: JobService) {\r\n this.inspection = new concretepour();\r\n this.inspection.concretePours = [];\r\n jobService.getWeather().then((data) => {\r\n this.weather = data;\r\n });\r\n\r\n jobService.getCompactionMethods().then((data) => {\r\n this.compaction = data;\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(async (paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n\r\n if (id != null) {\r\n this.concretePourService.get(id).then((data) => {\r\n console.log(\"data\");\r\n console.log(data);\r\n\r\n for (var a = 0; a < data.concretePours.length; a++) {\r\n var p = data.concretePours[a];\r\n p.batchTime = moment(p.batchTime).toDate();\r\n p.endTime = moment(p.endTime).toDate();\r\n p.onSite = moment(p.onSite).toDate();\r\n p.pour_Date = moment(p.pour_Date).toDate();\r\n p.startTime = moment(p.startTime).toDate();\r\n }\r\n\r\n this.inspection = data;\r\n });\r\n }\r\n\r\n if (id != null) {\r\n this.id = id;\r\n\r\n }\r\n });\r\n }\r\n amountPouredChanged() {\r\n var total = 0;\r\n for (var a = 0; a < this.inspection.concretePours.length; a++) {\r\n var p = this.inspection.concretePours[a];\r\n total += p.amount_Poured;\r\n p.total_Amount_Poured = total;\r\n }\r\n }\r\n setConcreteStrength(pour, strength) {\r\n console.log(\"strength\");\r\n console.log(strength);\r\n pour.concreteStrength = strength;\r\n }\r\n setTechnician(technician) {\r\n this.inspection.userId = technician.id;\r\n this.inspection.technician = technician;\r\n }\r\n\r\n update() {\r\n if (this.inspection.reason_For_ReIssue == undefined || this.inspection.reason_For_ReIssue == null) {\r\n this.snotifyService.error(\"Please enter the reason for re-issue\");\r\n\r\n return;\r\n }\r\n console.log(this.inspection);\r\n this.concretePourService.post(this.inspection).then((data) => {\r\n this.snotifyService.success(\"Successfuly updated inspection\");\r\n this.back();\r\n });\r\n }\r\n\r\n back() {\r\n this.router.navigate(['reports/concretepour'], { queryParams: { id: this.jobId, jobType: 2 } });\r\n }\r\n}\r\n","\r\n\r\n
\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Download\r\n \r\n \r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value }}
\r\n
\r\n
\r\n\r\n \r\n \r\n
{{ value | date: 'dd/MM/yyyy HH:mm' }}
\r\n
\r\n
\r\n\r\n \r\n \r\n Archive\r\n \r\n \r\n\r\n \r\n \r\n Edit\r\n \r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { PlateTestService } from 'src/app/services/plate-test.service';\r\nimport { ReportableService } from 'src/app/services/reportable.service';\r\nimport { saveAs as importedSaveAs } from \"file-saver\";\r\nimport { JobPlateTestService } from 'src/app/services/job-plate-test.service';\r\nimport {BasketItem} from '../../../components/basket/basket-item'\r\nimport {BasketService} from '../../../components/basket/basket.service'\r\nimport * as moment from 'moment';\r\nimport { Router } from '@angular/router';\r\nimport { SaveFilterService } from 'src/app/services/save-filter.service';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-plate-bearing-reports',\r\n templateUrl: './plate-bearing-reports.component.html',\r\n styleUrls: ['./plate-bearing-reports.component.scss']\r\n})\r\nexport class PlateBearingReportsComponent implements OnInit {\r\n displayDialog: boolean = false;\r\n rep = {\r\n id:\"\",\r\n projectName:\"\",\r\n accountName:\"\",\r\n purchaseOrderNo:\"\",\r\n technician:\"\",\r\n createdAt:\"\",\r\n };\r\n adminPIN:\"\";\r\n rows = [];\r\n filter = {\r\n project: \"\",\r\n account: \"\",\r\n purchaseOrder: \"\",\r\n startDate: moment().add(-7, 'days').toISOString(),\r\n endDate: moment().toISOString(),\r\n }\r\n\r\n\r\n constructor(private authService: AuthService, private saveFilterService:SaveFilterService, private jobPlateTestService: JobPlateTestService, private reportableService: ReportableService, \r\n private basketService:BasketService, private router: Router) {}\r\n\r\n ngOnInit(): void {\r\n var savedFilter = this.saveFilterService.getFilters(this.authService.currentUser.value.id, 'plate-bearing-reports');\r\n if(savedFilter != null){\r\n this.filter = savedFilter;\r\n //this.filter.endDate = moment().toISOString()\r\n }\r\n \r\n this.loadTable();\r\n }\r\n\r\n loadTable() {\r\n //user_Id: string, page_Name: string, filters: any\r\n this.saveFilterService.saveFilters(this.authService.currentUser.value.id, 'plate-bearing-reports', this.filter);\r\n this.jobPlateTestService.getReportTable(this.filter.project, this.filter.account, this.filter.purchaseOrder, this.filter.startDate, this.filter.endDate).then((data) => {\r\n this.rows = data;\r\n });\r\n }\r\n\r\n downloadReport(id) {\r\n this.reportableService.getPlateBearing(id).then((data) => {\r\n importedSaveAs(data, \"PlateBearing.pdf\");\r\n })\r\n }\r\n\r\n \r\n archiveReport(rep) {\r\n console.log(rep);\r\n if(confirm(\"Are you sure you wish to archive this report?\")){\r\n this.jobPlateTestService.archive(rep.id).then((data) => {\r\n this.loadTable();\r\n })\r\n }\r\n }\r\n\r\n editReport(rep) {\r\n this.rep = rep;\r\n console.log(this.rep);\r\n this.displayDialog = true;\r\n\r\n }\r\n// {\r\n// \"id\": \"0eb7046f-0640-4c92-821b-6169287a3d90\",\r\n// \"projectName\": \"New Trinity Hire Depot Wexford\",\r\n// \"accountName\": \"CLDC\",\r\n// \"purchaseOrderNo\": \"N/A\",\r\n// \"technician\": \"Enda Quinlan\",\r\n// \"createdAt\": \"2022-05-30T09:20:36.2215489\"\r\n// }\r\n confirm(){\r\n this.jobPlateTestService.checkAdminPass(this.adminPIN).then((data) => {\r\n console.log(this.rep);\r\n this.displayDialog = false;\r\n this.router.navigate(['reports/platebearing/manage', this.rep.id]);\r\n })\r\n\r\n \r\n }\r\n\r\n cancel() {\r\n this.displayDialog = false;\r\n\r\n }\r\n\r\n addAllToBasket(){\r\n var items = this.rows;\r\n for(var i = 0;i< items.length; i++){\r\n var item = items[i];\r\n this.addToBasket(item);\r\n \r\n }\r\n }\r\n addToBasket(item) {\r\n let basketItem = new BasketItem();\r\n console.log(item)\r\n basketItem.id = item.id;\r\n basketItem.details = item.accountName;\r\n basketItem.title = item.projectName;\r\n basketItem.report_Type_Id = 1;\r\n basketItem.job_No = item.technician;\r\n\r\n console.log(basketItem);\r\n\r\n this.basketService.add(basketItem);\r\n item.added = true;\r\n }\r\n\r\n removeFromBasket(item) {\r\n var basketItem = this.basketService.getItem(item.id);\r\n console.log(basketItem);\r\n this.basketService.remove(basketItem);\r\n item.added = false;\r\n }\r\n\r\n refreshRows() {\r\n var basketItems = this.basketService.getDatasource();\r\n var items = this.rows;\r\n for(var i = 0;i< items.length; i++){\r\n var item = items[i];\r\n var added = false;\r\n for(var b = 0;b< basketItems.length; b++){\r\n var basketItem = basketItems[b];\r\n if(item.id == basketItem.id)\r\n added = true;\r\n }\r\n item.added = added;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { JobPlateTestService } from 'src/app/services/job-plate-test.service';\r\nimport { ForceCalculatorService } from 'src/app/services/force-calculator.service';\r\nimport { ReactionLoadService } from 'src/app/services/reaction-load.service';\r\nimport { MaterialService } from 'src/app/services/material.service';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport * as moment from 'moment';\r\n\r\n\r\n@Component({\r\n selector: 'app-reports-manage-review',\r\n templateUrl: './review.component.html',\r\n styleUrls: ['./review.component.scss']\r\n})\r\nexport class ReportsManageReviewComponent implements OnInit {\r\n id: string;\r\n jobId: string;\r\n test;\r\n user;\r\n reactionLoads = [];\r\n showReactionLoadOther = false;\r\n otherReactionLoad: string;\r\n created_Date:string;\r\n materials = [];\r\n\r\n constructor(private route: ActivatedRoute, private jobPlateTestService: JobPlateTestService,\r\n private forceCalculatorService: ForceCalculatorService, private router: Router, \r\n private reactionLoadService: ReactionLoadService, private materialService: MaterialService,\r\n private snotifyService: SnotifyService,private authService: AuthService) { }\r\n\r\n ngOnInit(): void {\r\n this.route.paramMap.subscribe(async (paramsMap) => {\r\n var id = paramsMap.get(\"id\");\r\n var jobId = paramsMap.get(\"jobId\");\r\n \r\n if (jobId != null) {\r\n this.jobId = jobId;\r\n }\r\n\r\n if (id != null) {\r\n this.id = id;\r\n\r\n this.reactionLoads = await this.reactionLoadService.get();\r\n this.materials = await this.materialService.get();\r\n ////console.log(this.materials);\r\n\r\n this.jobPlateTestService.get(this.id).then((test) => {\r\n test.jobPlateTestLoads = test.jobPlateTestLoads.sort((a, b) => (a.position - b.position));\r\n console.log(test);\r\n var idx = this.reactionLoads.findIndex(p => p.load == test.typeOfReactionLoad);\r\n if (idx == -1) {\r\n this.otherReactionLoad = test.typeOfReactionLoad;\r\n \r\n this.showReactionLoadOther = true;\r\n test.typeOfReactionLoad = \"Other\";\r\n }\r\n\r\n this.test = test;\r\n this.formatForDisplay(this.test);\r\n this.created_Date = this.test.createdAt;\r\n \r\n });\r\n }\r\n \r\n this.authService.currentUser.subscribe((currentUser) => {\r\n //console.log(currentUser);\r\n this.user = currentUser;\r\n });\r\n });\r\n }\r\n\r\n \r\n back() {\r\n this.router.navigate(['/reports/platebearing']);\r\n }\r\n\r\n formatForDisplay(test) {\r\n for (let load of test.jobPlateTestLoads) {\r\n var c = load.avg;\r\n if (!this.getNumberOfDecimalPlaces(load.load1)) {\r\n load.load1 = this.roundToTwo((Math.round(load.load1 * 100) / 100)); //.toFixed(2);\r\n // load.load1 = load.load1.toFixed(2);\r\n } if (!this.getNumberOfDecimalPlaces(load.load2)) {\r\n load.load2 = this.roundToTwo((Math.round(load.load2 * 100) / 100)); //.toFixed(2);\r\n // load.load2 = load.load2.toFixed(2);\r\n } if (!this.getNumberOfDecimalPlaces(load.load3)) {\r\n load.load3 = this.roundToTwo((Math.round(load.load3 * 100) / 100)); //.toFixed(2))\r\n // load.load3 = load.load3.toFixed(2);\r\n } if (!this.getNumberOfDecimalPlaces(load.avg)) {\r\n load.avg = this.roundToTwo((Math.round(load.avg * 100) / 100)); //.toFixed(2);\r\n // load.avg = load.avg.toFixed(2);\r\n }\r\n if (c != load.avg) {\r\n //console.log(\"formatForCalculation\");\r\n //console.log(c);\r\n //console.log(load.avg);\r\n \r\n }\r\n }\r\n test.reason_For_ReIssue = \"\";\r\n }\r\n\r\n formatForCalculation(test) {\r\n for (let load of test.jobPlateTestLoads) {\r\n var c = load.avg;\r\n \r\n load.load1 = Math.round(load.load1 * 100) / 100;\r\n load.load2 = Math.round(load.load2 * 100) / 100;\r\n load.load3 = Math.round(load.load3 * 100) / 100;\r\n load.avg = Math.round(load.avg * 100) / 100;\r\n if (c != load.avg) {\r\n //console.log(\"formatForCalculation\");\r\n //console.log(c);\r\n //console.log(load.avg);\r\n }\r\n\r\n }\r\n }\r\n\r\n recalculate(formatForDisplay: boolean) {\r\n if (this.validate()) {\r\n this.formatForCalculation(this.test);\r\n\r\n var calculation = this.forceCalculatorService.calculate(\r\n this.test.jobPlateTestLoads,\r\n this.test.plateTestType.loadIncrement,\r\n this.test.plateTestType.plateLoadSize.load);\r\n\r\n this.test.cbr = calculation.cbr;\r\n this.test.force = calculation.force;\r\n this.test.k = calculation.k;\r\n ////console.log(calculation);\r\n\r\n if (formatForDisplay) {\r\n this.formatForDisplay(this.test);\r\n }\r\n }\r\n }\r\n\r\n update() {\r\n\r\n this.recalculate(false);\r\n \r\n if (this.otherReactionLoad != null && this.otherReactionLoad != \"\") {\r\n this.test.typeOfReactionLoad = this.otherReactionLoad;\r\n } \r\n if (this.test.reason_For_ReIssue == null || this.test.reason_For_ReIssue == \"\") {\r\n this.snotifyService.error(\"Please enter a reason for re-issue\");\r\n return;\r\n }\r\n this.test.user_Id = this.user.id;\r\n \r\n \r\n for (var a = 0; a < this.test.jobPlateTestLoads.length; a++) {\r\n var t = this.test.jobPlateTestLoads[a];\r\n if (t.avg == null || Number.isNaN(t.avg))\r\n t.avg = 0;\r\n }\r\n\r\n this.test.createdAt = moment(moment(this.test.createdAt).format(\"YYYY-MM-DD\") + \" \" + moment(this.created_Date).add(1, 'hours').format(\"HH:mm:ss\"));\r\n\r\n console.log(this.test);\r\n this.jobPlateTestService.update(this.test).then(data => {\r\n this.snotifyService.success(\"Successfully updated test\");\r\n this.router.navigate(['/reports/platebearing']);\r\n }, error => {\r\n this.snotifyService.error(error.error);\r\n console.log(error.error);\r\n });\r\n }\r\n\r\n validate() {\r\n let isValid: boolean = true;\r\n\r\n for (let load of this.test.jobPlateTestLoads) {\r\n if (load.load1 == undefined || load.load1 == 'undefined' || load.load1 == null) {\r\n isValid = false;\r\n alert(\"Please ensure all values are filled\");\r\n break;\r\n } if (load.load1 != 0.0) {\r\n if (!this.getNumberOfDecimalPlaces(load.load1)) {\r\n isValid = false;\r\n //console.log(\"load.load1\");\r\n //console.log(load);\r\n //console.log(load.load1);\r\n alert(\"Please ensure values are 2 decimal places\");\r\n break;\r\n }\r\n } if (load.load2 == undefined || load.load2 == 'undefined' || load.load2 == null) {\r\n isValid = false;\r\n //console.log(\"load.load2\");\r\n //console.log(load);\r\n //console.log(load.load2);\r\n alert(\"Please ensure all values are filled\");\r\n break;\r\n } if (load.load2 != 0.0) {\r\n if (!this.getNumberOfDecimalPlaces(load.load2)) {\r\n isValid = false;\r\n alert(\"Please ensure values are 2 decimal places\");\r\n break;\r\n }\r\n } if (load.load3 == undefined || load.load3 == 'undefined' || load.load3 == null) {\r\n isValid = false;\r\n //console.log(\"load.load3\");\r\n //console.log(load);\r\n //console.log(load.load3);\r\n alert(\"Please ensure all values are filled\");\r\n break;\r\n } if (load.load3 != 0.0) {\r\n if (!this.getNumberOfDecimalPlaces(load.load3)) {\r\n isValid = false;\r\n alert(\"Please ensure values are 2 decimal places\");\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n getNumberOfDecimalPlaces(value: string) {\r\n let parts: string[] = value.toString().split(\".\", 2);\r\n return (parts.length == 2 && parts[1].length == 2);\r\n }\r\n\r\n\r\n reactionLoadChanged() {\r\n this.otherReactionLoad = \"\";\r\n this.showReactionLoadOther = this.test.typeOfReactionLoad == \"Other\";\r\n }\r\n private roundToTwo(val: any ){\r\n let log: boolean;\r\n if(val == 1.65 || val == 1.66) log = true;\r\n else log = false;\r\n if(log){\r\n //console.log(\"roundToTwo\");\r\n //console.log(val);\r\n }\r\n\r\n if(isNaN(val))\r\n return \"0.00\";\r\n let prefix = parseInt(val);\r\n var cal = val - prefix;\r\n if (log) {\r\n\r\n }\r\n if (cal == 0.55){\r\n //console.log(\".55\");\r\n val = val + 0.05;\r\n }\r\n if (log) {\r\n //console.log(val.toFixed(2));\r\n }\r\n return val.toFixed(2);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class AccountService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'account/get').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n currentUser: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n isAuthed(): boolean {\r\n var auth = localStorage.getItem(\"auth\");\r\n if (auth == null || auth == \"null\") {\r\n return false;\r\n }\r\n\r\n if (this.currentUser.value == null)\r\n this.currentUser.next(JSON.parse(auth));\r\n\r\n return true;\r\n }\r\n\r\n public login(email, password): Promise {\r\n return new Promise((resolve, reject) => {\r\n var dto = {\r\n email: email,\r\n password: password\r\n }\r\n this.http.post(environment.apiUrl + 'useraccount/login', dto).subscribe(data => {\r\n console.log(data);\r\n localStorage.setItem(\"auth\", JSON.stringify(data));\r\n this.currentUser.next(data);\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public logout() {\r\n localStorage.setItem(\"auth\", null);\r\n this.currentUser.next(null);\r\n }\r\n\r\n // public get(): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // this.http.get('http://localhost:5000/api/account/get').subscribe(data => {\r\n // resolve(data);\r\n // }, error => {\r\n // console.log(error);\r\n // reject();\r\n // });\r\n // });\r\n // }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport * as moment from 'moment';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n@Injectable()\r\nexport class ConcretePourService{\r\n constructor(private http: HttpClient,private snotifyService: SnotifyService) {\r\n }\r\n\r\n public getReportTable(project: string, account: string, purchaseOrder: string, startDate: string, endDate: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n\r\n var params = \"\";\r\n params += \"?project=\" + project;\r\n params += \"&account=\" + account;\r\n params += \"&purchaseOrder=\" + purchaseOrder;\r\n params += \"&startDate=\" + moment(startDate).format(\"YYYY-MM-DD\");\r\n params += \"&endDate=\" + moment(endDate).format(\"YYYY-MM-DD\");\r\n\r\n console.log(params);\r\n\r\n this.http.get(environment.apiUrl + 'concretepour/getReportTable' + params).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public list(jobId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'concretepour/list?jobId=' + jobId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public get(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'concretepour/get?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public archive(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'concretepour/archive?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n\r\n public checkAdminPass(pass:string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/checkPass?pass='+ pass).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n this.snotifyService.error(error.error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public post(dto): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.post(environment.apiUrl + 'concretepour/Post',dto).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n this.snotifyService.error(error.error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ConcreteStrengthService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + \"job/GetConcreteStrengths\").subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class CustomerService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(accountId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'customer/get?accountId=' + accountId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SortDirection } from '@swimlane/ngx-datatable';\r\n\r\ntype Calculation = {\r\n force: number,\r\n lastAvg: number,\r\n postAvg: number,\r\n cbr: number,\r\n k: number\r\n maxLoadValue: number,\r\n maxLoadReading: number\r\n}\r\n\r\n@Injectable()\r\nexport class ForceCalculatorService {\r\n\r\n calculation: Calculation;\r\n\r\n constructor() {\r\n }\r\n\r\n public calculate(loads, loadIncrement, plateLoadSize) {\r\n this.calculation = {\r\n force: 0,\r\n lastAvg: 0,\r\n postAvg: 0,\r\n cbr: 0,\r\n k: 0,\r\n maxLoadValue: 0,\r\n maxLoadReading: 0\r\n };\r\n\r\n loads = loads.sort((a, b) => (a.position - b.position));\r\n\r\n loads = this.createAverages(loads);\r\n\r\n this.findAverages(loads, loadIncrement);\r\n\r\n this.calculateCBRK(plateLoadSize);\r\n\r\n return this.calculation;\r\n }\r\n\r\n private createAverages(loads) {\r\n console.log(loads);\r\n \r\n for (let load of loads) {\r\n var l = [];\r\n if (load.load1 > 0)\r\n l.push(load.load1);\r\n if (load.load2 > 0)\r\n l.push(load.load2);\r\n if (load.load3 > 0)\r\n l.push(load.load1);\r\n load.avg = this.round(this.round(((((load.load1 *100 ) + (load.load2 *100 ) + (load.load3*100 ) ) / 100) / l.length),3),2)\r\n }\r\n console.log(\"After AVG\");\r\n console.log(loads);\r\n return loads;\r\n }\r\n\r\n private findAverages(loads, loadIncrement) {\r\n // We need to find a value that equals to 1.25\r\n // If no value is found we need to find the value thats closest to it\r\n // but must be < 1.25\r\n var lastAvg = 0;\r\n var minimumForce = 0;\r\n var idx = -1;\r\n for (let load of loads) {\r\n idx++;\r\n\r\n if (load.avg > 1.25) {\r\n this.calculation.maxLoadValue = load.load;\r\n this.calculation.maxLoadReading = load.avg;\r\n loadIncrement = this.calculation.maxLoadValue - minimumForce;\r\n if(isNaN(loadIncrement) && ! isNaN(minimumForce))\r\n loadIncrement = minimumForce\r\n else if(isNaN(loadIncrement) && isNaN(minimumForce))\r\n loadIncrement = 0;\r\n break;\r\n }else if(idx > 0 && load.load == 0){\r\n var prevLoad = this.GetPreviousMaxLoad(idx,loads);\r\n this.calculation.maxLoadValue = prevLoad.load;\r\n this.calculation.maxLoadReading = prevLoad.avg;\r\n loadIncrement = this.calculation.maxLoadValue - minimumForce;\r\n break;\r\n }\r\n\r\n minimumForce = load.load;\r\n lastAvg = load.avg;\r\n\r\n if (idx == loads.length - 1) {\r\n this.calculation.maxLoadValue = load.load;\r\n this.calculation.maxLoadReading = load.avg;\r\n }\r\n }\r\n\r\n this.calculation.lastAvg = lastAvg;\r\n this.calculation.postAvg = loads[idx].avg;\r\n var force = this.calculateForce(minimumForce, this.calculation.lastAvg, this.calculation.postAvg, loadIncrement);\r\n this.calculation.force = force;\r\n }\r\n\r\n private GetPreviousMaxLoad(index: number, loads){\r\n var prevLoad;\r\n let idx = -1;\r\n let idx2 = -1;\r\n for (let load of loads) {\r\n idx ++;\r\n if (idx < index) {\r\n if(prevLoad > load.load){\r\n for (let innerLoad of loads) {\r\n idx2++;\r\n var required = idx - 1;\r\n if (idx2 == required) {\r\n return innerLoad;\r\n }\r\n }\r\n \r\n }\r\n prevLoad = load.load;\r\n }\r\n }\r\n }\r\n\r\n private calculateForce(minimumForce, lastAvg, postAvg, loadIncrement) {\r\n if(isNaN(lastAvg))\r\n lastAvg = 0; \r\n \r\n if(isNaN(postAvg))\r\n postAvg = 0;\r\n\r\n var lastDiff = this.round(this.round((1.25 - lastAvg),3),2);\r\n var postDiff = this.round(this.round((postAvg - lastAvg),3),2);\r\n\r\n var val = 0; //Changed to match the tablet side code - KC 20/01/2022\r\n if (loadIncrement <= 100)\r\n val = (lastDiff / postDiff) * loadIncrement;\r\n else\r\n val = (lastDiff / postDiff) * loadIncrement;\r\n \r\n if(isNaN(val))\r\n val = 0;\r\n // var force = parseInt((minimumForce + val).toString());\r\n var force = Math.round(minimumForce + val);\r\n return force;\r\n }\r\n\r\n private calculateCBRK(plateLoadSize) {\r\n var force = this.calculation.force;\r\n\r\n // If the max encountered value is >= 1.25 then get the force from the calculation above\r\n // Otherwise MaxReading / MaxLoad = A\r\n // Then 1.25 / A = B\r\n if (this.calculation.maxLoadReading < 1.25 && this.calculation.maxLoadReading > 0) {\r\n var val = (this.calculation.maxLoadReading / this.calculation.maxLoadValue);\r\n val = Math.round((1.25 / val));\r\n val = this.round(val,4);\r\n force = parseInt(val.toString());\r\n this.calculation.force = force;\r\n }\r\n\r\n if (plateLoadSize == 450) {\r\n this.calculation.cbr = Math.round((6.1 * Math.pow(10, -8) * Math.pow((496 * force), 1.733)));\r\n this.calculation.k = Math.round((0.62 * ((force / 1.25) * Math.pow(10, 3))));\r\n } else {\r\n this.calculation.cbr = Math.round((6.1 * Math.pow(10, -8) * Math.pow((652 * force), 1.733)));\r\n this.calculation.k = Math.round((0.815 * ((force / 1.25) * Math.pow(10, 3))));\r\n }\r\n }\r\n\r\n\r\n\r\n private round(n,dp) {\r\n var h = +('1'.padEnd(dp + 1,'0'));\r\n return Math.round(n*h)/h;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AuthService } from './auth.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n\r\n@Injectable()\r\nexport class InvoiceService {\r\n constructor(private http: HttpClient, private authService: AuthService, public snotifyService: SnotifyService) {\r\n }\r\n\r\n public get(poNumber: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'invoice/getreport?poNumber=' + poNumber).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public issue(invoices): Promise {\r\n console.log(invoices);\r\n\r\n return new Promise((resolve, reject) => {\r\n var user = this.authService.currentUser.value;\r\n console.log(user);\r\n\r\n let api = environment.apiUrl + 'invoice/post';\r\n\r\n for (let invoice of invoices) {\r\n invoice.userProfileId = user.userProfileId;\r\n }\r\n\r\n this.http.post(api, invoices).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n this.snotifyService.error(\"A error occured while trying to invoice these items\");\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AuthService } from './auth.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n@Injectable()\r\nexport class IssueService {\r\n constructor(private http: HttpClient, private authService: AuthService, private snotifyService: SnotifyService) {\r\n }\r\n\r\n public issue(id, selectedJobTestForInvoicingId): Promise {\r\n return new Promise((resolve, reject) => {\r\n var user = this.authService.currentUser.value;\r\n console.log(user);\r\n\r\n let api = environment.apiUrl + 'issue/post';\r\n\r\n api += '?jobId=' + id + '&selectedJobTestForInvoicingId=' + selectedJobTestForInvoicingId + '&issuedBy=' + user.userProfileId + '&approvedByUserId=' + user.id;\r\n\r\n console.log(api);\r\n\r\n this.http.post(api, null).subscribe(data => {\r\n this.snotifyService.success(\"Successfully Approved.\");\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n this.snotifyService.error(\"There was a error sending this request\");\r\n reject();\r\n });\r\n });\r\n }\r\n public issueAgain(id, selectedJobTestForInvoicingId): Promise {\r\n return new Promise((resolve, reject) => {\r\n var user = this.authService.currentUser.value;\r\n console.log(user);\r\n\r\n let api = environment.apiUrl + 'issue/post';\r\n\r\n api += '?jobId=' + id + '&selectedJobTestForInvoicingId=' + selectedJobTestForInvoicingId + '&issuedBy=' + user.userProfileId + '&approvedByUserId=' + user.id;\r\n\r\n console.log(api);\r\n\r\n this.http.post(api, null).subscribe(data => {\r\n this.snotifyService.success(\"Successfully Sent Request.\\nThis may take a while for the consignment number to be returned\");\r\n resolve(data);\r\n }, error => {\r\n // console.log(error);\r\n console.log(error.error);\r\n this.snotifyService.error(error.error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public generateSamples(id): Promise {\r\n return new Promise((resolve, reject) => {\r\n var user = this.authService.currentUser.value;\r\n console.log(user);\r\n\r\n let api = environment.apiUrl + 'issue/generatesamples';\r\n\r\n api += '?jobId=' + id;\r\n\r\n console.log(api);\r\n\r\n this.http.post(api, null).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport * as moment from 'moment';\r\nimport { SnotifyService } from 'ng-snotify';\r\n\r\n@Injectable()\r\nexport class JobPlateTestService {\r\n constructor(private http: HttpClient,private snotifyService: SnotifyService) {\r\n }\r\n\r\n public getReportTable(project: string, account: string, purchaseOrder: string, startDate: string, endDate: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n\r\n var params = \"\";\r\n params += \"?project=\" + project;\r\n params += \"&account=\" + account;\r\n params += \"&purchaseOrder=\" + purchaseOrder;\r\n params += \"&startDate=\" + moment(startDate).format(\"YYYY-MM-DD\");\r\n params += \"&endDate=\" + moment(endDate).format(\"YYYY-MM-DD\");\r\n\r\n console.log(params);\r\n\r\n this.http.get(environment.apiUrl + 'jobplatetest/getReportTable' + params).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public list(jobId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'jobplatetest/list?jobId=' + jobId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public get(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'jobplatetest/get?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public archive(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'Invoice/ArchiveReport?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public update(plateTest): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(environment.apiUrl + 'job/updateload', plateTest).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public checkAdminPass(pass:string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/checkPass?pass='+ pass).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n this.snotifyService.error(error.error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class JobService {\r\n constructor(private http: HttpClient, private snotifyService: SnotifyService) {\r\n }\r\n\r\n public getTable(project: string, account: string, purchaseOrder: string, fromParent: boolean = false, activated: boolean = null,\r\n isScheduled = null, reportTypeId: number = 0): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = \"\";\r\n params += \"?project=\" + project;\r\n params += \"&account=\" + account;\r\n params += \"&purchaseOrder=\" + purchaseOrder;\r\n params += \"&fromParent=\" + fromParent;\r\n params += \"&activated=\" + activated;\r\n params += \"&isScheduled=\" + isScheduled;\r\n params += \"&reportTypeId=\" + reportTypeId;\r\n\r\n console.log(params);\r\n\r\n this.http.get(environment.apiUrl + 'job/getTable' + params).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public getSchedularTable(project: string, account: string, purchaseOrder: string, fromParent: boolean = false, activated: boolean = null,\r\n isScheduled = null, reportTypeId: number = 0): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = \"\";\r\n params += \"?project=\" + project;\r\n params += \"&account=\" + account;\r\n params += \"&purchaseOrder=\" + purchaseOrder;\r\n params += \"&fromParent=\" + fromParent;\r\n params += \"&activated=\" + activated;\r\n params += \"&isScheduled=\" + isScheduled;\r\n params += \"&reportTypeId=\" + reportTypeId;\r\n\r\n console.log(params);\r\n\r\n this.http.get(environment.apiUrl + 'job/getSchedularTable' + params).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public getProblematicTable(project: string, account: string, purchaseOrder: string, fromParent: boolean = false, activated: boolean = null, isScheduled = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n var params = \"\";\r\n params += \"?project=\" + project;\r\n params += \"&account=\" + account;\r\n params += \"&purchaseOrder=\" + purchaseOrder;\r\n params += \"&fromParent=\" + fromParent;\r\n params += \"&activated=\" + activated;\r\n params += \"&isScheduled=\" + isScheduled;\r\n\r\n console.log(params);\r\n\r\n this.http.get(environment.apiUrl + 'job/getProblematicTable' + params).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public checkDupe(id,account, project, purchaseOrder): Promise {\r\n var params = \"\";\r\n params += \"?project=\" + project;\r\n params += \"&account=\" + account;\r\n params += \"&purchaseOrder=\" + purchaseOrder;\r\n params += \"&id=\" + id;\r\n\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/checkdupe' + params).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n \r\n public get(id): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/get?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getJobTests(job): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/getjobtests?id=' + job.id).subscribe(data => {\r\n resolve(data);\r\n console.log(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public addJob(job): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.post(environment.apiUrl + 'job/post', job).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n alert(error.error);\r\n reject();\r\n });\r\n });\r\n }\r\n public async removeJob(job): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/remove?id=' + job.id).subscribe(data => {\r\n resolve(data);\r\n this.snotifyService.success(\"Successfully removed job\");\r\n }, error => {\r\n console.log(error);\r\n if (error.error == null)\r\n error.error = error.statusText;\r\n this.snotifyService.error(error.error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public updateJob(job): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(job);\r\n this.http.put(environment.apiUrl + 'job/put', job).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public updateJobPO(job): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/UpdateJobPO?JobId='+job.id + '&PO=' + job.purchaseOrderNo).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public duplicateJob(job): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(environment.apiUrl + 'job/duplicateJob', job).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public assignTestForInvoicing(id, chosenHours: number = 0): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/assigntestforinvoicing?id=' + id + '&chosenHours='+chosenHours).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public getWeather(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/getWeather').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public getCompactionMethods(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'job/getCompactionMethods').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class MaterialService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'material/get').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class PlateTestService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(id): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'platetest/get?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getPlateSizes(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'platetest/getplatesizes').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getLoadPlateSizes(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'platetest/getplateloadsizes').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getPlateLoads(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'platetest/getplateloads').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public add(plateTestType): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.post(environment.apiUrl + 'platetest/post', plateTestType).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public update(plateTestType): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(environment.apiUrl + 'platetest/put', plateTestType).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getTable(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'platetest/getTable').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ProjectService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public getTable(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'project/getTable').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public get(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'project/get').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public getServiceProduct(id): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'project/getServiceProduct?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getRoles(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'project/getroles').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class QuoteService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public getProjectQuoteTests(projectId: number, serviceProductId: number, reportTypes:string = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(environment.apiUrl + 'quote/getprojectquotetests?projectId=' + projectId + '&serviceProductId=' + serviceProductId + '&reportTypes=' + reportTypes);\r\n this.http.get(environment.apiUrl + 'quote/getprojectquotetests?projectId=' + projectId + '&serviceProductId=' + serviceProductId+ '&reportTypes=' + reportTypes)\r\n .subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ReactionLoadService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'reactionload/get').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ReportTypeService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public getById(id: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'reportType/getById?id=' + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public get(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'reportType/get').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getServiceTests(serviceProductId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'test/getservicetests?serviceProductId=' + serviceProductId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BasketItem } from './../components/basket/basket-item';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ReportableService {\r\n constructor(private http: HttpClient) { }\r\n\r\n\r\n public getConcretePourPreview(jobId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.reportableUrl + 'getConcretePourbyjob?jobId=' + jobId).subscribe(data => {\r\n let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(blob);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getConcretePourByJob(jobId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.reportableUrl + 'getConcretePourbyjob?jobId=' + jobId).subscribe(data => {\r\n let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(blob);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n public getConcretePour(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.reportableUrl + 'getConcretePour?id=' + id).subscribe(data => {\r\n let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n console.log(data);\r\n resolve(blob);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getPlateBearing(id: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.reportableUrl + 'getplatebearing?id=' + id).subscribe(data => {\r\n let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n console.log(data);\r\n resolve(blob);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getBatch(data: Array): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(environment.apiUrl + 'invoice/postBatch');\r\n console.log(data);\r\n this.http.post(environment.apiUrl + 'invoice/postBatch', data).subscribe(data => {\r\n // console.log(data);\r\n // let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getPlateBearingPreview(jobId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.reportableUrl + 'getplatebearingpreview?jobId=' + jobId).subscribe(data => {\r\n let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(blob);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getPlateBearingByJob(jobId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.reportableUrl + 'getplatebearingbyjob?jobId=' + jobId).subscribe(data => {\r\n let blob = this.convertBase64toBlob(data, 'application/pdf');\r\n resolve(blob);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n convertBase64toBlob(content, contentType) {\r\n contentType = contentType || '';\r\n let sliceSize = 512;\r\n let byteCharacters = window.atob(content); //method which converts base64 to binary\r\n let byteArrays = [\r\n ];\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n let slice = byteCharacters.slice(offset, offset + sliceSize);\r\n let byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n let byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n let blob = new Blob(byteArrays, {\r\n type: contentType\r\n }); //statement which creates the blob\r\n return blob;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\n\r\n@Injectable()\r\nexport class SaveFilterService {\r\n constructor(private cookieService: CookieService) {\r\n }\r\n\r\n getFilters(user_Id: string, page_Name: string) {\r\n var cookie = this.cookieService.get(user_Id + page_Name); //GET FILTERS SAVED IN THE SESSION\r\n console.log(cookie);\r\n if (cookie == null || cookie == \"\")\r\n return null;\r\n return this.parseFilters(cookie);\r\n }\r\n\r\n saveFilters(user_Id: string, page_Name: string, filters: any) {\r\n var filter = new Filter(); //SAVE THE FILTERS WHEN GETTING DATA\r\n filter.id = user_Id + page_Name; //GUID + Page ie reports/jobs\r\n filter.filters = JSON.stringify(filters);\r\n this.cookieService.set(filter.id, filter.filters);\r\n }\r\n \r\n parseFilters(filtersAsJson: any) {\r\n var filters = JSON.parse(filtersAsJson);\r\n console.log(filters);\r\n return filters;\r\n }\r\n}\r\n\r\nexport class Filter {\r\n id: string;\r\n filters: string;\r\n }\r\n ","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ServiceProductsService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(departmentId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'serviceproduct/get?departmentId=' + departmentId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class TechnicianService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(id: string = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + \"technician/get?id=\" + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getTable(id: string = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + \"technician/getTable\").subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n\r\n public add(technician): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(technician);\r\n this.http.post(environment.apiUrl + 'technician/post', technician).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public update(technician): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(environment.apiUrl + 'technician/put', technician).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class TestService {\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n public get(departmentId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'test/get?departmentId=' + departmentId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getServiceTests(serviceProductId: number): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'test/getservicetests?serviceProductId=' + serviceProductId).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SnotifyService } from 'ng-snotify';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class WebUserService {\r\n constructor(private http: HttpClient, private snotifyService: SnotifyService) {\r\n }\r\n\r\n public get(id: string = null): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + \"useraccount/get?id=\" + id).subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getTable(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + \"useraccount/gettable\").subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n\r\n public add(user): Promise {\r\n return new Promise((resolve, reject) => {\r\n console.log(user);\r\n this.http.post(environment.apiUrl + 'useraccount/post', user).subscribe(data => {\r\n resolve(data);\r\n //this.snotifyService.success('Successfully added web user');\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public update(user): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.put(environment.apiUrl + 'useraccount/put', user).subscribe(data => {\r\n resolve(data);\r\n //this.snotifyService.success('Successfully updated web user');\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public delete(id): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.delete(environment.apiUrl + 'useraccount/delete?id=' + id).subscribe(data => {\r\n resolve(data);\r\n //this.snotifyService.success('Successfully added web user');\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n\r\n public getProfiles(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.http.get(environment.apiUrl + 'useraccount/getuserprofiles').subscribe(data => {\r\n resolve(data);\r\n }, error => {\r\n console.log(error);\r\n reject();\r\n });\r\n });\r\n }\r\n}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\n //export const environment = {\r\n // production: false,\r\n // reportableUrl: 'http://reportable.dev5.corerfid.com/api/bhp/',\r\n // //apiUrl: 'http://localhost:5000/api/'\r\n // apiUrl: 'http://bhpapi.dev5.corerfid.com/api/'\r\n //};\r\n\r\n export const environment = {\r\n production: true,\r\n reportableUrl: 'https://reportable.corerfid.net/api/bhp/',\r\n apiUrl: 'https://bhpapi.corerfid.net/api/'\r\n };\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}